What is a Specialization?
Specializations are designations attached to a specific degree. In Computer Science, we have several different specializations that you can add to either your BCS or your BMath CS degree. Adding specializations is an option and not a requirement for you to graduate from either BCS or BMath CS. X
If you do decide to pursue a specialization, you should carefully review courses, their prerequisites, and when courses are offered to ensure that you are able to meet the requirements for the specialization in a timely manner. You may find the list of specific courses required for each specialization on our plan requirement checklists page (or the undergraduate calendar).
Note below that some specializations have limited capacity and admission may be competitive. Also note, some specializations may not be available to students in certain CS programs. For example, a Double degree student cannot add the business specialization to their degree as they already are obtaining a business credential. To see the full list of allowed combinations for specializations, please refer to your specific specialization in the undergraduate calendar and the invalid credential combinations page.
Specializations available to Computer Science Students
Here are some brief descriptions of the Computer Science Specializations offered at the University of Waterloo and what careers such a specialization might lead to. Remember specializations do not force you into a certain career path - after all graduating with a specialization still means you are graduating with a Computer Science degree! These specializations might help to focus your attention as to which courses to enrol in at university and where you might be able to apply your Computer Science degree after graduating.
Artificial IntelligenceArtificial Intelligence (AI) is all about creating systems that can learn, adapt, and make decisions. In this specialization, you’ll explore the processes to help machines learn how to perform tasks, data analyses, and how computers recognize patterns in everything from images to language. AI impacts us everywhere and everyday, from the recommendations list you see while shopping or watching movies to self-driving cars. Students taking this specialization might work in healthcare analyzing patient data, in finance predicting market trends, in robotics building intelligent machines, or even in creative industries ethically developing AI tools for art, music, and film. BioinformaticsBioinformatics sits at the intersection of computer science and biology, using technology to make sense of complex biological data like DNA, proteins, and hormones. You’ll learn how to write programs that help scientists understand how living systems work at a molecular level. Graduates with this specialization can work in medical research, drug development, and genetics, contributing to breakthroughs in disease treatment and personalized medicine. BusinessThe Business specialization combines technical skills with business thinking, showing you how technology drives modern organizations. You’ll learn how to analyze data, understand markets, and use digital tools to solve real business problems. Graduates with this specialization can move into roles such as business analyst, product manager, or technology consultant, or pursue entrepreneurship by launching and managing their own tech-driven ventures. Computational Fine ArtsComputational Fine Arts is where creativity meets code, allowing you to explore digital media, animation, and interactive experiences. You’ll use programming as a tool for artistic expression and innovation. Graduates with this specialization can pursue careers in animation, film production, advertising, and digital design, creating visual effects, immersive installations, and interactive media experiences. |
Digital HardwareDigital Hardware focuses on the inner workings of computers, from circuits to processors, and how physical components interact with software. You’ll gain an understanding of how devices are built and how they function at a fundamental level. Graduates with this specialization can work in electronics, telecommunications, or embedded systems, helping design the hardware behind smartphones, medical devices, and smart technologies. Game DesignGame Design is about crafting engaging, interactive experiences through gameplay, storytelling, and world-building. You’ll learn how to design systems that keep players immersed and challenged. Graduates with this specialization can work in the video game industry or apply their skills to virtual reality, simulation-based training, and interactive storytelling across a variety of media. Human-Computer InteractionHuman-Computer Interaction focuses on designing technology that is intuitive, accessible, and enjoyable to use. You’ll study how people interact with digital systems and learn how to create user-friendly interfaces. Graduates with this specialization can pursue careers in user experience (UX) and user interface (UI) design, product design, and usability research, shaping how people interact with everyday technology. Software EngineeringSoftware Engineering is about building complex, reliable systems that power everything from mobile apps to large-scale platforms. You’ll learn not just how to code, but how to design, test, and manage software projects effectively. Graduates with this specialization can work across industries such as technology, healthcare, finance, aerospace, and education, developing the systems and applications that support modern life. |
How to Enrol in Specializations
A student is free to add one or more of the following specializations. Follow the instructions below for the associated specializations to have them added to your degree. You may remove specializations from your degree as well if you are no longer planning to complete the credential by filling out a plan modification form and contacting a CS advisor.
Artificial Intelligence, Bioinformatics, Business, Game Design, Human-Computer Interaction, and Software Engineering
To add a specialization, complete a plan modification form and send the form to a CS advisor to sign off for approval. You can add a specialization any time from when you start in CS until you are ready to graduate. However, we only recommend adding a specialization once you are committed to completing it and second year is usually a good time to declare your plans.
In some cases, there are courses needed for the specialization that requires you to take its prerequisites, but the prerequisite is not noted on the checklist.
If you are in the AI specialization, please follow the specific instructions on how to get into an ECE, MTE, or SYDE course.
Digital Hardware
If you want to add the Digital Hardware specialization (DH), then you will need to apply during your 1A term in the Fall and have a minimum cumulative average of 75%. Enrolment is limited and competitive.
Due to the rigid nature of DH, we recommend that students preview the suggested course sequences for the specialization as some courses not offered every term.
Computational Fine Arts
To enrol in the Computational Fine Arts specialization, you need to complete a first year art studio course (either FINE 100 or FINE 130). Complete a plan modification form and then bring it to a CS advisor to sign off.
Note, most FINE 3XX and 4XX courses are only available to Fine Arts major students. For more information on FINE courses, their prerequisites, and their availability, please contact the Fine Arts Advisor.