## 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%