In this program students will learn the fundamental principles underpinning computer science and learn practical software technology development skills for many different platforms and applications Students can choose between one of two majors and also select from a range of elective courses Students will have the choice of studying topics such as Programming Languages, Distributed Computing, Computer Architectures, Algorithms and Operating Systems, Machine Learning, Intelligent Systems, Robotics, Programming for Web, Mobile and Embedded Applications, Scientific Computing, Visualisation and Big Data Mining, and Analytics