Explore Our Undergraduate Programs
Our undergraduate program provides a fundamental understanding of the theoretical principles of software and digital systems within the context of modern technology. Upper-year courses go beyond the core areas of systems, theory, programming and hardware to study robotics, graphics and visualization, multimedia and computer music, database systems, artificial intelligence, programming languages, operating systems, computer networks, user interfaces and more.
In addition to developing the core professional skills, it is also important that our students obtain an understanding of the human and social aspects of computer systems, and how computer science relates to other disciplines. Besides formally pursuing a double major, each degree program includes opportunities to take elective courses outside the mainstream computer science curriculum. Students are encouraged to select electives that develop their other interests and which meaningfully expand their understanding of the implications of their chosen discipline.