CEN/CSE Courses at ASU
ASU has an undergraduate program called Computer Systems Engineering, and a graduate program called Computer Engineering (CEN). Both these programs have the art/science of making/building/designing computing systems at their heart (as opposed to computer science, which deals with programming computing systems). 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, sandwiched between applications at the highest level and devices at the lowest level. I show applications and devices with a different textured background to show that while these levels are related to CSE/CEN, they start to stretch beyond the core concepts of CEN/CSE.

Here’s an organized list of courses in this area. I’ve highlighted the essential/important courses.
Note: The list below only provides the upper-division (junior and senior) and graduate (Master’s and PhD) level courses. It does not include the fundamental background courses that at ASU are 1xx and 2xx level courses.
- Applications (Machine Learning) related:
- Foundations of Machine Learning (CSE 475)
- Artificial Intelligence (CSE 471, CSE 571)
- Compiler and OS related:
- Operating Systems (CSE 330)
- Advanced Operating Systems (CSE 536)
- 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)
- Signals and Systems (EE 203, EE 304)
- Real Time Embedded Systems (CSE 522)
- Real Time DSP Systems (EEE 404)
- Embedded Machine Learning (CEN/BMI 598)
- Microcontrollers in Smart Systems (EGR 338)
- Industrial Robotics/Automation (MFG 388/387)
- Embedded Systems Design Project (EGR/RAS 304, 314)
- ML basics with deployment to FPGAs (EEE 591)
- Signal Processing on FPGAs (SES 494, SES 598)
- Intelligent and Safe Cyber-Physical Systems (CSE 598)
- Cyber Physical Systems (CSE 591)
- 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, EEE 333)
- Digital Verification and Testing (EEE 598)
- Digital Design for SoCs (EEE 591, EEE 498)
- VLSI System Testing (EEE 598)
- Advanced Digital Design and Verification (CSE 598/CEN 598/CSE 494)
- 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:
- Circuits for Computer Engineers (CSE 302)
- 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 (e.g,. CSE 310)
- Algorithms (e.g., CSE 450)
- Data science and Statistics
- Mathematical Modeling (EGR 219)
Other fields tightly connected/related to CSE/CEN are:
- Robotics and Autonomous Systems
- Security and Cryptography
- HPC and Distributed Systems
- Communication Systems and Networking
ASU has courses on automotive engine