Computer science
6 points * Three 1-hour lectures and one 3-hour laboratory class per week * Second semester * Clayton * Prerequisites: CSC1011 or CSC1021 * Prohibitions: BUS2120, CFR1404, CSC1062, CSC1072, GCO1812, RDT1210, RDT2131, SFT1102
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 processors, 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
Examination (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