CEN/CSE Courses at ASU
ASU has an undergraduate program called Computer Systems Engineering, and a graduate program called Computer Engineering (CEN). Both of these programs have chip design at their heart. Several students approach me to ask about courses they should take if they are interested in the field of chip design. This field spans the following levels of abstraction. Applications is the highest level, and devices is the lowest level.

Here’s an organized list of courses in this area. I’ve highlighted the essential/important courses.
- Applications (Machine Learning) related:
- Foundations of Machine Learning (CSE 475)
- Artificial Intelligence (CSE 471, CSE 571)
- Compiler related:
- Operating Systems (CSE 330)
- Compiler Construction I (CSE 440)
- Compiler Construction II
- Compilers for ML (new course coming soon)
- Embedded systems related:
- Embedded Microprocessor Systems (CSE 325)
- Embedded Systems Programming (CSE 438)
- Real Time Embedded Systems (CSE 522)
- Real Time DSP Systems (EEE 404)
- Embedded Machine Learning (CEN/BMI 598)
- ML basics with deployment to FPGAs (EEE 591)
- Signal Processing on FPGAs (SES 494, SES 598)
- Intelligent and Safe Cyber-Physical Systems (CSE 598)
- Computer architecture related:
- Fundamentals of Computer Architecture (CSE 420)
- Parallel Computer Architecture (CSE 520)
- Machine Learning Acceleration (CSE 524, CEN 524, CSE 494)
- Similar class is offered in EEE: Advanced Hardware for ML (EEE 598)
- Digital design related:
- Design of Digital Hardware (CSE 320)
- Advanced Digital Design and Verification (CSE 598, CEN 598, CSE 494)
- Digital Verification and Testing (EEE 598)
- Digital Design for SoCs (EEE 591, EEE 498)
- VLSI System Testing (EEE 598)
- Reconfigurable Computing (CEN 571, CSE 598, CSE 494)
- EDA/CAD related:
- Algorithms for CAD of Digital Systems (CEN 503)
- VLSI Design Automation (EEE 598)
- Circuits related:
- Digital Circuits and Systems (EEE 425, EEE 591)
- VLSI Design (EEE 525)
- Semiconductor Packaging (EEE 518)
- Semiconductor Memory (EEE 529)
- VLSI Architectures (EEE 526)
- Devices related:
- Fundamentals of Solid-State Devices (EEE 436/EEE 591)
- Semiconductor Device Theory I (EEE 531)
- Semiconductor Device Theory II (EEE 532)
- Semiconductor Manufacturing/Fabrication
In addition, students generally need to take electives. I recommend the following additional courses to take for essential skills:
- Python (e.g., EEE 591, EEE 419)
- Optimization (e.g., APM 523)
- Data structures
- Algorithms (e.g., CSE 450)
- Data science
- Statistics
- Modeling