Artificial Intelligence Major, BS in Engineering

Students must also complete the Undergraduate Registration Requirement and the degree requirements of their home school.

Requirements (48 units)

Core Courses (26 units)1

Course Title
4 mathematics courses
Single-Variable Differential Calculus
Single-Variable Integral Calculus
Multivariable Differential Calculus for Engineering
Math Foundations of CS Part 1: Discrete Math for CS
4 units of basic science chosen according to McCormick basic science guidelines
General Physics
and General Physics Laboratory 2
Plus an additional 2.66 units from the list of basic science courses
3 engineering foundations courses
3 design, communications, and innovation courses
7 social sciences/humanities courses
5 unrestricted electives

Major Program (22 units)

Course Title
5 required courses
Software Design & Composition
Fundamentals of Computer Programming
Data Structures & Algorithms (Formerly Comp_Sci 214)
Programming in Systems-Level Languages
Introduction to Artificial Intelligence
Machine Learning
4 advanced elective courses
Any 300-level or higher class, or introductory courses that directly support computer science (COG_SCI 207-0, COMP_ENG 203-0, COMP_ENG 205-0, COMP_SCI 1CA, COMP_SCI 260-0, COMP_SCI 262-0, COMP_SCI 265-0, COMP_SCI 296-0, COMP_SCI 298-0, GEN_ENG 211-0, GEN_ENG 251-0, MATH 228-2, MATH 230-2, MECH_ENG 233-0) 3
5 breadth courses
1 societal impact course
7 technical electives
1

See general requirements for details.

2

PHYSICS 135-1 General Physics can be replaced by GEN_ENG 212-0 Engineering Physics - Dynamics  (Note: if replaced by GEN_ENG 212-0 Engineering Physics - Dynamics another 1/3 unit of science is needed to fulfill the science requirement). Courses can be chosen from McCormick-approved basic science categories of Chemistry, Physics, Biological Science, Earth & Planetary Science or Astronomy.

3

Scores of 4 or 5 on the AP CS A exam or scores of 5, 6, or 7 on the IB CS HL exam transfer to Northwestern as COMP_SCI 1CA.

Breadth Courses

Domain Area requirements (students must take one course in five of the six categories)

Advanced ML/NLP

Course Title
COMP_SCI 337-0Natural Language Processing: Classical Approaches
COMP_SCI 449-0Deep Learning
COMP_SCI 461-0Large Language Models
IEMS 351-0AI-Enabled Sequential Decision Making

Theoretical Foundations

Course Title
COMP_SCI 332-0Online Markets
COMP_SCI 336-0Design & Analysis of Algorithms
COMP_SCI 496-0Special Topics in Computer Science (Foundations of Reliable Machine Learning)
COMP_SCI 496-0Special Topics in Computer Science (Theoretical Foundations of Data Science)

Symbolic AI

Course Title
COMP_SCI 325-0Artificial Intelligence Programming
COMP_SCI 344-0Design of Computer Problem Solvers
COMP_SCI 371-0Knowledge Representation and Reasoning
COMP_SCI 396-0Special Topics in Computer Science (Declarative Programming for Game AI)
COMP_SCI 396-0Special Topics in Computer Science (Reasoning and Planning in the Foundation Model Era)
COMP_SCI 496-0Special Topics in Computer Science (Agent AI)
COMP_SCI 496-0Special Topics in Computer Science (Logic in AI)

Software and Systems Engineering for AI

Course Title
COMP_SCI 303-0Full Stack Software Engineering
COMP_SCI 310-0Scalable Software Architectures
COMP_SCI 358-0Introduction to Parallel Computing
or COMP_ENG 358-0 Introduction to Parallel Computing
COMP_SCI 368-0Programming Massively Parallel Processors with CUDA
or COMP_SCI 468-0 Programming Massively Parallel Processors with CUDA
or COMP_ENG 368-0 Programming Massively Parallel Processors with CUDA
or COMP_ENG 468-0 Programming Massively Parallel Processors with CUDA
COMP_SCI 394-0Agile Software Development
ES_APPM 344-0High Performance Scientific Computing

Systems that Interact with Humans

Course Title
COMP_SCI 317-0Sports, Technology and Learning
COMP_SCI 329-0HCI Studio
COMP_SCI 330-0Human Computer Interaction
COMP_SCI 333-0Interactive Information Visualization
COMP_SCI 347-0Conversational AI
or COMP_SCI 447-0 Conversational AI
COMP_SCI 396-0Special Topics in Computer Science (Mobile and Ubiquitous Computing)
or COMP_SCI 496-0 Special Topics in Computer Science
COMP_SCI 497-0Special Projects in Computer Science (Explanation and reproducibility in data-driven science)
COG_SCI 207-0Introduction to Cognitive Modeling
DSGN 395-0Special Topics (Designing with AI)

Systems that Navigate the World

Course Title
COMP_SCI 301-0Introduction to Robotics Laboratory
or MECH_ENG 301-0 Introduction to Robotics Laboratory
COMP_SCI 353-0Natural & Artificial Vision
COMP_SCI 396-0Special Topics in Computer Science (Machine Learning and Sensing)
or COMP_SCI 496-0 Special Topics in Computer Science
COMP_SCI 469-0Machine Learning & Artificial Intelligence for Robotics
or MECH_ENG 469-0 Machine Learning and Artificial Intelligence for Robotics
COMP_ENG 395-0Special Topics in Computer Engineering (Embedded Artificial Intelligence)
or COMP_ENG 495-0 Special Topics in Computer Engineering
ELEC_ENG 332-0Introduction to Computer Vision
MECH_ENG 455-0Active Learning in Robotics
MECH_ENG 495-0Selected Topics in Mechanical Engg (Sensing, Navigation, and Machine Learning for Robotics)

Societal Impact Course

Societal impact course list

Course Title
Majors must take one course from this list.
COMP_SCI 260-0Introduction to Law and Digital Technologies
COMP_SCI 265-0AI and International Security
COMP_SCI 311-0Inclusive Making
COMP_SCI 314-0Technology and Human Interaction
COMP_SCI 387-0Responsible Software Engineering
COMP_SCI 396-0Special Topics in Computer Science (Computing, Ethics, and Society)
COMM_ST 358-0Algorithms and Society
COMM_ST 378-0Online Communities and Crowds
COMM_ST 379-0Digital Propaganda and Repression

Technical electives

Majors must take seven technical electives.  Any 300- or 400-level COMP_SCI course may be taken as a technical elective.  In addition the following courses may also be taken as technical electives:

Technical electives list

Course Title
COMP_SCI 213-0Introduction to Computer System
IEMS 301-0Introduction to Statistical Learning
IEMS 304-0Statistical Learning for Data Analysis
IEMS 305-0Foundations of Modern Machine Learning
ES_APPM 345-0Applied Linear Algebra
ES_APPM 479-0Data Driven Methods for Dynamical Systems
COMP_ENG 303-0Advanced Digital Design
COMP_ENG 329-0The Art of Multicore Concurrent Programming
COMP_ENG 334-0Fundamentals of Blockchains and Decentralization
or ELEC_ENG 334-0 Fundamentals of Blockchains and Decentralization
COMP_ENG 346-0Microcontroller System Design
COMP_ENG 355-0ASIC and FPGA Design
COMP_ENG 356-0Introduction to Formal Specification & Verification
COMP_ENG 357-0Design Automation in VLSI
COMP_ENG 358-0Introduction to Parallel Computing
COMP_ENG 361-0Computer Architecture I
COMP_ENG 362-0Computer Architecture Projects
COMP_ENG 364-0CyberPhysical Systems Design and Application
or COMP_ENG 464-0 Cyber-Physical Systems Design and Application
COMP_ENG 365-0Internet-of-things Sensors, Systems, And Applications
or COMP_ENG 465-0 Internet-of-things Sensors, Systems, And Applications
COMP_ENG 366-0Embedded Systems
or COMP_ENG 466-0 Embedded Systems
COMP_ENG 368-0Programming Massively Parallel Processors with CUDA
or COMP_ENG 468-0 Programming Massively Parallel Processors with CUDA
COMP_ENG 452-0Adv Computer Architecture
COMP_ENG 453-0Parallel Architectures
COMP_ENG 456-0Modern Topics in Computer Architecture
COMP_ENG 459-0VLSI Algorithmics
ELEC_ENG 326-0Electronic System Design I
ELEC_ENG 332-0Introduction to Computer Vision
ELEC_ENG 375-0Machine Learning: Foundations, Applications, and Algorithms
ELEC_ENG 433-0Statistical Pattern Recognition
ELEC_ENG 435-0Deep Learning: Foundations, Applications, and Algorithms