The

FA C U L T Y Faculty

BOOKLET 2004 – 2005 of Science & Agriculture

COMP 1100 (CS11E) COMPUTER PROGRAMMING I (6 credits)

COMP 2000 (CS20A) DATA STRUCTURES (4 credits)

Prerequisite: NONE Syllabus: Hardware, software, programming languages and program translation. Input, output and secondary storage devices.Basic language elements. Character set. Data types and data repre- sentation. Operators. Syntax, logic and run-time errors.Problem solving and programming. Algorithm development.Constants, variables, arithmetic and logical expression. Assignment, se- lection and repetition statements. Input/output statements.Object-Oriented Programming (OOP) concepts. Classes and objects. Methods. Static and instance variables. Over loading and polymorphism. String objects. User-defined classes. Utility classes.Arrays. Sequential and binary search. Simple sorting methods, e.g. selection, insertion, bubble. Merg- ing of ordered lists.Application of the above principles to solv-

Prerequisite: COMP 1100 and COMP 1200 (CS11E and CS11F ) Syllabus: Stacks, queues, linked lists. Methods for solving the ‘search and insert’ problem. Hashing. Hash function. Clustering. Meth- ods of resolving collisions, e.g. linear, quadratic, chaining, double hashing. Trees. Binary trees. Search trees. Tree tra- versal. Analysis of binary search tree algorithm. Heaps. Prior- ity queues. Internal and external sorting. Shell sort, quicksort, heapsort, mergesort. Polyphase merge sort. Technique of re- placement selection. Topological sort. Abstract data types. Concepts, representation and implementation. Graph concepts and terminology. Representation of graphs. Depth-first and breadth-first traversals. Minimal cost paths. Minimal cost spanning trees. Efficiently storing and manipulating matrices with special properties, e.g. symmetric, triangular, band, sparse

ing a wide variety of problems. Examination: One 2-hour written paper Coursework

75% 25%

and others. Examination: One 2hour written paper Coursework

75% 25%

COMP 1200 (CS11F) COMPUTER PROGRAMMING II (6 credits)

Prerequisite: COMP 1100 (CS11E) Syllabus: Classes, objects, fields and methods. Constructor, accessor and mutator methods.Inheritance, abstract classes and polymorphism. Interfaces, inner classes and contracts.Information hiding. Data encapsulation. The concept of an Abstract Data Type. Specification and implementation of stacks, queues and lists. Collection classes.The Graphical User Interface. Components, layouts and event handling.Recursion.Files and exception handling.Two-dimensional arrays.Application of the above

COMP 2100 (CS20E) DISCRETE MATHEMATICS FOR COMPUTER SCIENCE (4 credits)

Prerequisite: MATH 1140 and MATH 1150 (M12A and M12B) Syllabus: Set Theory: Sets, Relations, Functions, Operations, Algebraic Systems. Numbers and Number Systems. Computer repre- sentation. Induction and Recursion. Logic: Logic Functions, Boolean Algebras, Normal forms, Minimisation, Applications. Concepts of Combinatorics. Concepts of Number Theory.

Examination:

One 2 hour written paper

75%

Coursework

25%

principles to solving a wide variety of problems. Examination: One 2-hour written paper Coursework

75% 25%

95