The programs are designed to provide several important features:
Breadth and Depth: The programs have a set of core courses that provide breadth in the field. Additional specialized courses and electives are chosen to provide depth in the program.
Balance: Theoretical core courses and software/hardware are joined in theory and in practice through integrated lecture and laboratory sequences.
Flexibility: The curriculums are flexible and provide opportunities for students to emphasize specific areas of interest through their choice of appropriate major and technical electives.