MSE-AI Degree Requirements

The online AI degree program requires the completion of 10 courses made up of seven core courses, two technical electives and 1 free elective. All courses are fully online and there are no required real-time sessions.

Core Courses

1 Course Unit

CIS 5550 Internet and Web Systems

CIS 5550

Internet and Web Systems

This course focuses on the issues encountered in building Internet and Web systems, such as scalability, interoperability, consistency, replication, fault tolerance, and security. We will examine how services like Google or Amazon handle billions of requests from all over the world each day, (almost) without failing or becoming unreachable. We will study how to collect massive-scale data sets, how to process them, and how to extract useful information from them, and we will have a look at the massive, heavily distributed infrastructure that is used to run these services (and similar cloud-based services) today.

An important feature of the course is that we will not just discuss issues and solutions but also provide hands-on experience, using web search as our case study. There will be several substantial implementation projects throughout the semester, each of which will focus on a particular component of the search engine, such as frontend, storage, crawler, or indexer. The final project will be to build a Google-style search engine, and to deploy and run it on the cloud.

Notice that this is NOT a course on web design, or on web application development! Instead of learning how to use a web server such as Apache or a scalable analytics system such as Spark, we will actually build our own little web server, and a little mini-“Spark”, from scratch. As a side effect, you will learn about some aspects of large-scale software development, such as working with APIs and specifications, thinking about modularity, reading other people’s code, managing versions, and debugging.

Pre-Requisites

CIT 5950 Computer Systems Programming. Suggested: CIS 5470 Software Analysis, CIS 5490 Wireless Communications for Mobile Networks and Internet of Things, CIS 5510 Computer & Network Security, CIS 5530 Networked Systems, or CIT 5820 Blockchains & Cryptography (or any course that has students write a substantial program)

CIS 5690 GPU Computing for Machine Learning Systems

CIS 5690

GPU Computing for Machine Learning Systems

In this course, we will explore massively parallel programming, specifically on graphics processing units (GPUs), with immediate application to machine learning (ML) and artificial intelligence (AI). We’ll first outline computational aspects of ML and connect parallel programming to common components of deep learning. You will gain proficiency in GPU programming basics through hands-on projects with industry best practices and tools, eventually building up to implementing components of modern neural models.

After completing the course, you will have knowledge of:

– parallel programming concepts (hardware, software, and networks) working together to accelerate performance;

– modern distributed ML computation in a GPU datacenter setting as it relates to large-scale neural networks;

– machine and deep learning workloads from a computational perspective to build more efficient systems;

– using tools like profilers and debuggers to accelerate performance and solve programming challenges.

Pre-Requisites

Required: CIT 5930, CIT 5940, CIT 5950, CIT 5960, course projects require knowledge of C/C++. Recommended: ESE 5460

6 Course Units

CIS 5210 Artificial Intelligence

CIS 5210

Artificial Intelligence

This course investigates algorithms to implement resource-limited knowledge-based agents which sense and act in the world. Topics include: search, machine learning, probabilistic reasoning, natural language processing, knowledge representation and logic. After a brief introduction to the language, programming assignments will be in Python.

Pre-Requisites

CIT 5910, CIT 5920, CIT 5940, and CIT 5960

CIS 5300 Natural Language Processing

CIS 5300

Natural Language Processing

This course provides an overview of the field of natural language processing. The goal of the field is to build technologies that will allow machines to understand human languages. Applications include machine translation, automatic summarization, question answering systems, and dialog systems. NLP is used in technologies like Amazon Alexa and Google Translate.

Pre-Requisites

CIT 5910 Introduction to Software Development, CIT 5920 Mathematical Foundations of Computer Science , and CIT 5940 Data Structures & Software Design. Recommended: CIT 5960

ESE 5410 Machine Learning for Data Science

ESE 5410

Machine Learning for Data Science

Machine Learning for Data Science is a foundational course designed to equip students with the essential skills necessary for a career in data science and machine learning. This comprehensive course delves into the fundamentals of machine learning, addressing key concepts such as the curse of dimensionality, model selection and validation, regularization, bootstrap and uncertainty quantification. Students will gain hands-on experience with a variety of machine learning models including regression and classification trees, ensemble learning, boosting, support vector machines, neural networks, hierarchical clustering and K-means. The curriculum is structured to provide practical Python programming skills, which are crucial for succeeding in subsequent courses. By applying these techniques to real-world scenarios in finance, business and industry, the course ensures that students not only understand the theory behind machine learning but also how to apply it effectively in professional settings. This course is an indispensable part of the educational journey for aspiring data scientists, laying the groundwork for further studies and applications in the field.

Pre-Requisites

CIT 5920 Mathematical Foundations of Computer Science, Programming background, Basic Probability

ESE 5420 Statistics for Data Science

ESE 5420

Statistics for Data Science

The course covers the methodological foundations of data science, emphasizing basic concepts in statistics and learning theory, but also modern methodologies. Learning of distributions and their parameters. Testing of multiple hypotheses. Linear and nonlinear regression and prediction. Classification. Uncertainty quantification. Model validation. Clustering. Dimensionality reduction. Probably approximately correct (PAC) learning. Such theoretical concepts are further complemented by exemplar applications, case studies (datasets), and programming exercises (in Python) drawn from electrical engineering, computer science, the life sciences, finance, and social networks.

Pre-Requisites

CIT 5920 Mathematical Foundations of Computer Science, Programming background, Basic Probability

ESE 5460 Principles of Deep Learning

ESE 5460

Principles of Deep Learning

Deep networks are at the heart of modern approaches in computer vision, natural language processing and robotics. Design of these networks requires a combination of intuition, theoretical foundation and empirical experience; this course discusses general principles of deep learning that cut across these three. It develops insight into popular empirical practices with a focus on the training of deep networks, builds theoretical skills to develop new ideas in deep learning and to deploy deep networks in real world applications. A fair degree of mathematical and programming proficiency is necessary to complete the coursework.

WATCH COURSE PREVIEW HERE

Pre-Requisites

MCIT Online Students must have completed 4 of their core courses and CIS 5150 or ESE 5420 | MSE-DS Online Students must have completed 5 courses including CIS 5150 or ESE 5420.

EAS 5240 Technology Ethics and the Legal Landscape

EAS 5240

Technology Ethics and the Legal Landscape

Engineers design and build the world we live in. From algorithms to bridges, cars to drones, every day we entrust our safety and prosperity to the decisions that engineers make. It is unsurprising that ethics is part of the foundation on which the modern engineering profession is built. But sometimes ethical engineering decisions nonetheless harm us more than they help us. Where this happens, engineers may face legal liability. Such liability is a legal question, not an engineering question. This course introduces students both to traditional concepts of engineering ethics as well as to the legal and policy background against which the ethics of engineering decisions are ultimately evaluated. Particular attention is paid to questions that arise in the context of new technologies such as artificial intelligence; case studies involving artificial intelligence and similar technology are considered throughout.

This course is organized in three units. It begins with a broad consideration of the role of engineers and ethics in society and the role that the law plays in formalizing a society’s ethical intuitions. It then considers the different ways that engineers and the law understand risk and how those differing understandings of risk affect product design and professional liability. It concludes by surveying legal topics of particular interest to engineering professions such as intellectual property, privacy and security, regulation, and antitrust. Contemporary challenges, such as ethical issues posed by artificial intelligence and the challenges of regulating firms with significant market power, are considered throughout.

Students enrolled in this class will be asked to read a range of materials, including excerpts from legal memos and judicial opinions, philosophical texts, and engineering studies. Assessments will include regular short writing assignments.

Pre-Requisites

MCIT: CIT 5910 and CIT 5920


Technical Electives

Choose 2 Course Units.  If you take eight core courses, one can be used to fulfill a technical elective requirement.

CIS 5530 Networked Systems

CIS 5530

Networked Systems

This course provides an introduction to fundamental concepts in the design and implementation of networked systems, their protocols, and applications. Topics to be covered include: Internet architecture, network applications, addressing, routing, transport protocols, peer-to-peer networks, software-defined networks, and distributed systems. The course involves regular quizzes, two large group-based networked systems implementation projects, and two written exams.

Pre-Requisites

CIT 5950 Computer Systems Programming; Data structures and basic probability. Course projects require knowledge of C/C++.

CIS 5810 Computer Vision & Computational Photography

CIS 5810

Computer Vision & Computational Photography

This is an introductory course to computer vision and computational photography. This course will explore four topics: 1) image feature detection, 2) image morphing, 3) image stitching, and 4) deep learning related to images. This course is intended to provide a hands-on experience with interesting things to do on images/pixels. The world is becoming image-centric. Cameras are now found everywhere: in our cell phones, automobiles, and even in medical surgery tools. In addition, computer vision technology has led to innovations in areas such as movie production, medical diagnosis, biometrics, and digital library. This course is suited for students with any engineering background who have a basic understanding of linear algebra and programming, along with plenty of imagination.

Pre-Requisites

CIT 5910 Introduction to Software Development, CIT 5920 Mathematical Foundations of Computer Science, CIT 5930 Introduction to Computer Systems and CIT 5940 Data Structures & Software Design. Students may take CIT 5950 Computer Systems Programming and/or CIT 5960 Algorithms & Computation concurrently with this elective.

TBD 0002 AI Practicum (Tentative Title) – Coming Soon!

TBD 0002

AI Practicum (Tentative Title) – Coming Soon!

Coming Soon!

Pre-Requisites

No Pre-Requisites


Free Elective

Choose 1 Course Unit.

Any online EAS/CIS/ESE/DATS course


*Courses subject to change

Note: MSE-AI Online students are waived from needing to complete CIT 5910, CIT 5920, CIT 5930, CIT 5940, CIT 5950, and CIT 5960 as pre-req requirements.