Computing software and systems are becoming an ever more prevalent part of our lives revolutionizing the way we live, work and communicate. The Computer Science major will give knowledge and skills required to be a part of this revolution. Students will also learn the theoretical, algorithmic, implementation and systems principles that underpin computer languages and computer networks and discover how to develop new technologies and advanced programming. The Computer Science major is suitable if students wish to play a role in developing new computing technologies (for example with companies such as Google or Microsoft) or specialize in enterprise-level programming, systems, Software Engineering or research careers.