Authorised by Academic Registrar, April 1996
Objectives On completion of this subject, students should understand how computers work; be able to design, implement and debug simple computer programs using a variety of data structures and algorithms; and be able to use a computer system and tools such as editors and compilers.
Synopsis This subject will introduce a modern structured programming language with reference to a simple machine model. Concepts include solving problems computationally, algorithms, simple Boolean algebra. Topics include: control structures - statements, sequence, selection, iteration; programs - procedures, parameters, recursion; data structures - scalars, arrays, records, strings, files, pointers, lists; algorithms - insertion, deletion, merge, search, sorting (of various data structures); numerical computing - number representation, representational and arithmetic errors; software engineering principles - modularity, design, documentation, debugging; systems - sufficient overview of system and system software to enable programming to be practised in a realistic context.
Assessment Examination (3 hours): 70% + Compulsory assessed laboratory classes: 20% + Mid-semester test 10%