Computer science
6 points * Three 1-hour lectures and one 3-hour laboratory class per week * Second semester * Clayton * Prerequisites: CSC1011 or CSC1021 * Prohibitions: CSC1062, CSC1072
This subject comprises two components. (i) Algorithms and data structures: a basic knowledge of computer programming to the level of scalars, arrays, records, string, statement and expression forms, procedures, parameters and recursion is required. The subject teaches problem abstraction and solution and the design and analysis of computer algorithms and data structures. Data structures include tables, sets, sequences, lists, files, trees, abstract data types and modules. Algorithms include insertion, deletion, iteration, merge, recursion, search, sorting traversal. Analysis includes space and time complexity, O() notation, program proof, debugging. (ii) Introduction to computer systems: an execution model of imperative programming languages is developed, including processor, stored programs, fetch-execute cycle, interpreters, machine languages compilation, expression evaluation, simple stack, one-address and register architectures, program control, data representations, number representation, addressing techniques, procedure invocation.
Assessment
Examinations (3 hours): 80% * Compulsory assessed laboratory classes: 20%
Recommended texts
De Blasi Computer architecture Addison-Wesley, 1990
Gray N A B Introduction to computer systems Prentice-Hall, 1987