Entry Requirements
Course of Study
Prerequisite: [(CAPE Pure Mathematics Unit 1 OR Preliminary Mathematics 1) AND (CAPE Pure Mathematics Unit 2 OR Preliminary Mathematics 2)] OR Equivalent.
Anti-requisite: MATH1101 Basic Mathematics I
Syllabus: Predicate calculus - Propositions, propositional functions, truth tables, universal and existential quantifiers, logical equivalences, rules of inference, DeMorgan’s law. Introduction to Mathematical Induction. Sets - Basic properties, Venn diagrams, algebra of sets, Cartesian product, binary operations on set, countable sets, power set, computer representation of sets. Relations - reflexive, symmetric, transitive, equivalence relation. Functions - basic properties, types (Injection, surjection, bijection, inverse), composition, inverse. Number systems - general laws of associatively, commutatively, distribution. Sequences - Arithmetic and Geometric Progressions. Number Theory - division of integers, Euclidean algorithm. Matrices - basic operation.
Teaching: Two (2) hours of lectures and one (1) hour of tutorial per week.
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%
Prerequisites: None
Anti-requisite: COMP1105 Computer Programming I
Syllabus: Problem solving (top-down, bottom-up, stepwise refinement). Algorithms (pseudocode & flowcharts). Object-oriented concepts (Encapsulation, inheritance, polymorphism, classes, objects, methods, message passing). Integrated Development Environments (editors, compilers, debuggers and libraries). Program anatomy (primitives, data types, objects, variables & constants). Formatted I/O. Operators (assignment, arithmetic, relational, Boolean, precedence rules). Control structures (sequences, selection, repetition). Objects & classes (attributes, methods, interfaces, services, pass-byvalue, pass-by-reference, scope rules). Data structures: arrays (linear, multi-dimensional and parallel), array list, aggregate data structures (enumerations). Memory Concepts and Number Systems. Software testing.
Teaching: Two (2) hours of lectures and two (2) hours of labs per week
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%
Prerequisite: COMP1180 Mathematics for Computer Science I (or MATH1101 Basic Mathematics I)Algebraic Structures; Modeling computation.
Anti-requisite: COMP2105 Discrete Mathematics.
Syllabus: Logic; Proofs; Mathematical Induction; Number Theory; Algorithms; Relations;Elementary Combinatorics; Discrete Probability; Elementary Graph Theory;
Teaching: Two (2) hours of lectures and one (1) hour of tutorial per week.
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%
Prerequisite: COMP1210 Computing II (or COMP1115 Computer Programming II)
Anti-requisite: COMP2145 Software Engineering I
Syllabus: Teams and Tools; Software Development (Requirements analysis, Specifications, design, implementation validation and verification, maintenance); Project and Product Documentation (User manuals, internal documentation); Software Process Models; Agile Development Methodologies; Project Management.
Teaching: Two (2) hours of lectures and two (2) hour of labs per week.
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%
Prerequisite: COMP1210 Computing II (or COMP1115 Computer Programming II) AND COMP1215 UNIX (COMP1125 Introduction to UNIX)
Anti-requisite: COMP2115 Information Structures
Syllabus: Abstract Data Types (Lists, Queues, Doubleended queues, Priority queues, Stacks); Dictionaries (Binary search trees, AVL-trees, Red-Black trees, Splay trees, Binary heaps, B-trees); Sets; Vectors; Hashing; and collision resolution schemes; Sorting algorithms; Searching techniques; Data compression.
Teaching: Two (2) hours of lectures and two (2) hours of labs per week.
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%
Prerequisite: COMP1170 Entrepreneurship for Computer Scientists (or COMP1130 Web Technology Fundamentals) OR SWEN1005 Mobile Web Programming Anti-requisite: COMP2155 Building Web Applications Syllabus: Overview of Web concepts (TCP/IP, HTTP and HTTPS); The client-server computing model; Web browser architecture; User interface: Visual design and user interaction concepts; Web development stack; Single-, two- and three-tier application architectures; Data validation and verification; Server and application configuration; Relative and absolute paths; Web-accessible directories; Server and application configuration directives; Designing and implementing a three-tier Web application architecture;Client- side programming using JavaScript; Server-Side Scripting.
Teaching: Two (2) hours of lectures and two (2) hours of labs per week.
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%
Prerequisite: COMP2611 Data Structures (or COMP2115 Information Structures)
Anti-requisite: COMP3160 Database Management Systems
Syllabus: Precursors to Relational Databases. Requirements Gathering, Database Design and ERDs.Normalization – Closures, Functional Dependencies and Keys, Joins and decomposition, Integrity constraints. Introduction to SQL. Database maintenance. Stored Procedures, Transactions and Triggers. Database drivers.
Teaching: Two (2) hours of lectures and two (2) hours of labs per week.
Method of Examination: In-course Test(s)/Assignment(s) 40% Final Theory Examination 60%