Authorised by Academic Registrar, April 1996
Objectives On completion of the subject, students should understand how computers work in terms of their underlying machine model and how such a model can be implemented from simple components; be able to write a simple program in machine language; and be able to write larger programs using more sophisticated data structures and algorithms than those covered in CSC1011.
Synopsis The following topics are studied, with particular reference to the C programming language: problem-solving techniques, algorithm design, data structures, arrays, stacks, queues, lists, linked lists, trees, files, sequential and random access, searching, sorting, analysis of algorithms, and applications such as directories and data structures for hypermedia. This subject will emphasise practical techniques for analysing problems, developing algorithms to solve them, and testing those algorithms.
Assessment Examination (2 hours): 70% + Mid-semester test (1 hour): 10% + Assignments: 10% + Practical examination: 10% + Compulsory laboratory classes: students must attend 80% of the laboratory classes to be permitted to sit the examinations