The Computing Science and Mathematics program at University of Alberta builds foundational knowledge in Python and Java to prepare you for further study in other programming languages, as well as the areas of software engineering, operating systems, computer organization and architecture, algorithms, databases, networks, parallel programming, and computing theory.