The programme is made up of nine modules. Eight modules constitute the coursework. The ninth module is the research. The modules are packaged into three courses. Coursework is split between the half-courses CSC5005H and CSC5006H, each of which has four modules in it. CSC5004W constitutes the research component of the degree. Details of these modules are outlined below. The designation H in the half courses refers to the amount of content. In terms of duration, however, H courses are, in fact, whole-year courses just as are W courses. They must be registered for at the beginning of the year.
The MIT degree is designed to be completed in two years. Students take CSC5005H and CSC5006H in the first year, selecting any combination of four modules for the first course and doing the remaining four for the second course. They then take CSC5004W in the second and final year. It is, however, permitted to take three years to complete the degree, for instance, if the student's work demands are too great to allow him or her to attempt 8 modules in one year. In this case, the student takes CSC5005H the first year, CSC5006H the second year and CSC5004W the third year.
For more detail, you can get a listing of all topics covered in each of these modules and have a peek at one of the sample units to get an idea of what you will be studying. The notes are updated on an annual basis.
Description of Modules
1. Programming in Python This is a basic introduction to programming in a modern language, namely, Python. Python is becoming increasingly popular as an effective means of introducing programming concepts to those who are new to programming. Students will be taught how to create simple applications in the Python language. 2. Human-Computer Interaction Introduction to the discipline of human-computer interaction. This module will cover how knowledge from fields such as psychology and graphic design can be used to increase the usability of computer software. 3. Database Systems A perspective on database management system structure and function is provided. Topics introduced include: architecture of databases; data models; normalisation; front-end systems; security, recovery and concurrency, data and database; administration; object-oriented database systems; client-server and distributed database systems and research topics in DBMS's. 4. Cyber law and ethics This module examines the regulations governing the Internet in order that students appreciate the constraints they will face in implementing electronic commerce. Problems concerning legally enforceable contracts, privacy, data protection and intellectual property are also investigated. 5. Computer Networks A framework for describing the operation of computer networks is developed. Within this framework, we start with the operation of local-area networks, packet-switched networks and the Internet. After this, the module moves to the uses made of these networks, concentrating on business applications. The effect on organisations of introducing such networked applications is also examined. 6. Web Programming This module will equip students with server programming skills which allow them to create highly interactive Web sites. Besides these programming skills, this module will also cover issues of security to provide a background to a very new and exciting area of computing science. 7. Software Engineering This module aims to introduce a range of techniques within both structured and object-oriented methods, in order to enable you to analyse and design well engineered software solutions. You will be introduced to the practical use of CASE tools in modelling and documenting analysis and design specifications. Different life cycle models will also be discussed. 8. Research Methods This module is intended to provide students with the insight and techniques required to allow them to write a successful postgraduate research project - the final module leading to the Master's Degree. 9. Postgraduate Research / Dissertation
A substantial piece of independent work which develops understanding of information systems by designing and implementing an experimental information system to explore a new problem domain or extend, extrapolate and analyse existing solutions, thereby making a research contribution to the IT field. It also develops the ability to communicate ideas through a written and well referenced dissertation.
Students typically find a research supervisor and determine a suitable research topic during the first year - this does not have to be done before the programme commences.