For the complete list of faculty members, please consult the Department website.
The Department of Computer Science and Software Engineering offers three distinct undergraduate programs: Bachelor of/Baccalaureate in Computer Science (BCompSc); BCompSc in Health and Life Sciences; and BEng in Software Engineering.
Computer Science is the study and design of computer systems: hardware and software. Computer scientists are primarily concerned with the design of algorithms, languages, hardware architecture, systems software, applications software and tools. Applications range from simple game playing to the control of space vehicles, power plants and factories, from banking machines to intelligent fault and medical diagnosis. Computer professionals, in short, are concerned with the creation of computer and information systems for the benefit of society.
The BCompSc in Health and Life Sciences is offered in collaboration with the Department of Biology and shares a number of courses with the Honours in Systems and Information Biology and Specialization in Systems and Information Biology. The detailed description of these programs can be found in Section 71.75 Computer Science in Health and Life Sciences.
Software Engineering applies the principles and practices of engineering to the creation of reliable, efficient, and economical software. Software Engineering has its roots in the theory and mathematics of computer science, but carries this knowledge further towards creative applications such as software control systems for vehicles, aircraft, industrial processes; animation, interactive video, virtual reality, commercial systems for banking and financial analysis; health systems for the analysis of biological systems and the control of therapeutic devices.
It shares with engineering the rigorous methodology of analysis and design in the search for economical, reliable, and efficient solutions. Software engineers are trained in all aspects of the software life cycle, from specification through analysis and design, to testing, maintenance and evaluation of the product. They are concerned with safety and reliability of the product as well as cost and schedule of the development process. The discipline is particularly applicable to very large software projects, as well as the re-engineering of existing products.