Skip to main content

SoSCAI

B.Sc. Computer Science

Entry Requirements

Minimum Requirements for the Five (5) Year Degree Programme

Applicants must satisfy the requirements in:
CXC/CSEC or GCE O’Level passes in a minimum of five (5) subjects. Subject requirements are Mathematics and English Language. Grade requirements for CXC/ CSEC are General Proficiency, Grades I or II pre-1998 and Grades I, II, or III from June 1998;


Minimum Requirements for the Four (4) Year Degree Programme

Applicants must satisfy the requirements in either (a) and (b) below:

  1. CXC/CSEC or GCE O’Level passes in a minimum of five (5) subjects. Subject requirements are Mathematics and English Language. Grade requirements for CXC/CSEC are General Proficiency, Grades I or II pre-1998 and Grades I, II, or III from June 1998, and
  2. CAPE or GCE A’Level passes in at least one (1) subject. CAPE subject must consist of both Unit 1 and Unit 2


Minimum Requirements for the Three (3) Year Degree Programme

CAPE or GCE A’Level passes in a minimum of two (2) subjects. CAPE subjects must consist of both Unit 1 and Unit 2.

 

Availability
Modality

Course of Study

Level 1
Entrepreneurship for Computer Scientists

Prerequisites: None
Anti-requisite: COMP1130 Web Technology Fundamentals

Syllabus: Entrepreneurship. The importance of technology entrepreneurship. Life stories of successful technology entrepreneurs. How the Internet and ebusiness applications have changed the way that we communicate and provide entrepreneurial opportunities. How the use of e-business has improved the efficiency of business processes. Privacy, security and legal issues associated with the Internet and entrepreneurship. Market research. Techniques and statistical methods for market research analysis. Pricing strategies. Determining the best price. MS Office tools. Document formatting, table of contents and creating templates. Spreadsheets. Presentation software. Tools for Statistical Analysis. SPSS, Excel or others. HTML and HTML5. Marking up text. Creating links, elements, attributes,forms. Adding images. HTML5 elements and attributes. Audio and video with HTML5. CSS for presentation. Formatting text, floating and positioning. Page layout. The box model. Introduction to JavaScript: variables, conditional statements, loops, functions, events, the browser object. Server-side scripting: Accessing and manipulating form data, Storing form data in a database, Displaying data from the server in a browser.

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%

Credits: 3
Mathematics for Computer Science I

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%

Credits: 3
Computing I

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%

Credits: 3
Computing ll

Prerequisite: Computing I (or COMP1105 Computer Programming I)
Anti-requisite: COMP1115 Computer Programming II

Syllabus: Introduction to Objects and Classes, Fundamental Algorithms for Searching and Sorting, Randomness and Recursion, Data Types, Data Structures, Abstract Data Types, File Processing.

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%

Credits: 3
UNIX

Prerequisites: None
Anti-requisite: COMP1125 Introduction to UNIX

Syllabus: Overview of UNIX - A short history of UNIX and why UNIX. Getting Started - Logging on and off, passwords, overview of the shell, command and utility syntax, issuing commands. Files and directories management - creating, viewing, removing, renaming and securing. Job and process management -Scheduling and monitoring both jobs and processes. Text editors - ed, edit, ex and vi. Basic Account maintenance - shell configuration file, configuration with environmental variables, aliases and shell functions. UNIX utilities - sed, at, nawk, grep. Shell script programming.

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%

Credits: 3
Level 2
Mathematics for Computer Science ll

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%

Credits: 3
Computer System Architecture

Prerequisite: [COMP1180 Mathematics for Computer Science I (or MATH1101 Basic Mathematics I) AND COMP1210 Computing II (or COMP1115 Computer Programming II)] OR [ELET1210 Digital Electronics I (or ELET1110 Digital Electronics)]
Anti-requisite: COMP2125 Computer Architecture

Syllabus: Basic Computer Architecture; Computer Memory; Computer Arithmetic; The Instruction Cycle; Instructions Sets and Assembly Language Programming; System Interconnection; Instruction Sets; Addressing Modes; CPU Structure and Function (Register organization, instruction cycle, instruction pipelining); RISC vs. CISC Architecture.

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%

Credits: 3
Software Engineering

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%

Credits: 3
Object-Oriented Programming Concepts

Prerequisite: COMP1210 Computing II (or COMP1115 Computer Programming II)
Anti-requisite: COMP2160 Object oriented Programming

Syllabus: Object-Oriented Design; Introduction to UML; Structure of an object- oriented class (Classes and Objects, Encapsulation and Information Hiding, Message Passing ); Class Design (Inheritance, Composition, Constructors, Polymorphism, Abstract Classes); Error Handling and Testing (Exceptions, Assertions, Design By Contract).

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%

Credits: 3
Data Structures

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%

Credits: 3
Level 3
Algorithms

Prerequisites: COMP2210 Mathematics for Computer Science II (or COMP2105 Discrete Mathematics) AND COMP2611 Data Structures (or COMP2115 Information Structures)
Anti-requisite: COMP3180 Algorithm Design and Analysis

Syllabus: Analysis of Algorithms: Time and Space Complexities; Algorithm Design Techniques (Bruteforce, Divide and Conquer, Preprocessing, Dynamic Programming, Greedy Algorithms); Limits of Computability (Lower Bounds, Tractable and Intractable Problems, Dealing with NPCompleteness); Empirical measurements of performance.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Design Principles of Operating Systems

Prerequisites: COMP2220 Computer System Architecture (or COMP2125 Computer Architecture) AND COMP2611 Data Structures (or COMP2115 Information Structures)
Anti-requisite: COMP3100 Operating Systems

Syllabus: Characteristics of Modern Operating Systems; Operating System Structure and Architecture; Process Management (processes and threads, process creation and termination, process synchronization, CPU scheduling, deadlocks); Memory Management (memory allocation schemes, memory partitioning, paging, virtual memory, segmentation); File management (file organization, file system implementation, file system examples, mass storage; Device Management (I/O devices, device drivers, I/O design issues, disk-scheduling); Protection and Security (security threats (program and network threats), protection mechanisms, trusted systems).

Teaching: Two (2) hours of lectures and One (1) hour of tutorial per week.

Method of Examination: In-course Tests/Assignments 40%r /> Final Theory Examination (2 hours) 60%

Credits: 3
Database Management Systems I

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%

Credits: 3
Level 3 Electives
Networks ll

Prerequisite: COMP2235 Networks I (or COMP2150 Computer Networks 1)
Anti-requisite: COMP3155 Computer Networks II
Syllabus: Routing. Router Design and Implementation. Routing algorithms. Internet Protocol (IP). Subnets. Internet Control Message Protocol (ICMP). Internet Group Management Protocol (IGMP). Sockets. Socket programming. Transmission Control Protocol (TCP). User Datagram Protocol (UDP). Stream Control Transmission Protocol (SCTP). Congestion control. Congestion control algorithms. Quality of Service (QoS).

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%

Credits: 3
Networks lll

Prerequisite: COMP3360 Networks II (or COMP3155 Computer Networks 2)
Anti-requisite: None
Syllabus: Network modeling and measurement. Hypertext Transfer Protocol (HTTP). Domain Name System (DNS). Dynamic Host Configuration Protocol (DHCP). File Transfer Protocol (FTP). Simple Mail Transfer Protocol (SMTP). Internet Message Access Protocol (IMAP). Post Office Protocol (POP). Simple Network Management Protocol (SNMP). Network time protocol (NTP). Border Gateway Protocol (BGP). Peerto-Peer (P2P) networks. Streaming Audio and Video. Voice over IP (VoIP). Content Delivery Network (CDN).

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%

Credits: 3
Software Engineering on a Large Scale

Prerequisites: COMP2225 Software Engineering
(or COMP2145 Software Engineering I)
Anti-requisite: COMP3140 Software Engineering II
Syllabus: The Challenges of Engineering Large Systems; Introduction to Modelling and Class Diagrams; Reverse engineering; Software Architecture; Approaches to Project Management; Project Selection and Feasibility Analysis; Project Cost Estimation; Planning, Resource Scheduling and Control Techniques; Software Validation and Deployment; The Team Environment.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Software Testing and Quality

Prerequisites: COMP2225 Software Engineering
(or COMP2145 Software Engineering I)
Anti-requisite: COMP3165 Software Quality Assurance
Syllabus: What Is Software System Quality? Software Quality Product and Process Metrics; Measuring and Analysing Customer Satisfaction Fundamentals; The Objectives and Limits of testing; Test Types and the Software Development Process; Reporting and Analysing Errors; Specific Testing Skills; The Problem Tracking System; Test Case Design; Testing Tools; Test Planning and Test Documentation.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Framework Design for Advanced Web Development

Prerequisites: COMP2245 Web Development Concepts, Tools and Practices (or COMP2155
- Building Web Applications)
Anti-requisite: COMP3170 Web-based Applications
Syllabus: Design Patterns (Design patterns and principles, Design Patterns for flexible object programming, Database patterns, Design patterns in JavaScript); Version Control (Configuring and using open-source version control systems); Web Services (Introduction to SOAP and XML-RPC, The REST architectural style, RESTful web services); API Design (The API design process, Characteristics and guidelines for API design); Client-side JavaScript framework design (Framework styles: structure, helper methods, plugins etc., Prototype classes, inheritance, class implementation, Selector Engines, Animations and touch, Cross-domain requests with AJAX, Feature detection, Chained APIs); Server-side framework design (Framework styles: layered, pipe-and-filter, Common framework features: scaffolding, internationalization, fall-back data validation, session management; Web services; Controllers; Data abstraction; Templating systems (themes); security; authentication; error handling).

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Scalable Enterprise Web Applications

Prerequisites: COMP3330 Database Management Systems I (or COMP3160 Database
Management Systems) AND COMP3385 Framework Design for Advanced Web Development
Anti-requisite: None
Syllabus: Design patterns for flexible object-oriented programming; Enterprise design patterns; Good and bad design and coding practices; Continuous integration; Designing scalable web applications (Scalability patterns and best practices, Scalability challenges, Scalability testing and anti-patterns); Caching for web applications (Caching concepts, design, caching anti-patterns and strategies); Enterprise Web Applications Security; Enterprise Web Application Testing; Application Deployment to the cloud; Performance of Enterprise Web Applications; Web analytics- based performance improvement.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Database Management Systems ll

Prerequisite: COMP3330 Database Management Systems I (or COMP3160 Database
Management Systems)
Anti-requisite: None
Syllabus: Physical Data Access Methods. Query Processing and Optimization. Concurrency Control, Recovery. Client Server and Distributed Databases -Failures in a Distributed Environment, Commit Protocols, Replication. Data Warehousing and Online Analytical Processing - Operational Data versus Decision Support Data, Decision Support Database Requirements, Components of a Decision Support System. Data Lakes and Data Vaults. Data Vault Modelling. Big Data Databases and NoSQL. Data mining.

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%

Credits: 3
Computer Graphics

Prerequisites: COMP2611 Data Structures (or COMP2115 Information Structures)
Anti-requisite: COMP3260 Computer Graphics I
Syllabus: Raster graphics; Coordinate systems and transformations; The viewing frustum; The graphics pipeline and toolkits; Clipping and culling; Lighting and shadows; Transparency and blending; Texture mapping; Local shading models; Environment mapping techniques; Shaders; Animation and particles; Portable Network Graphics (PNG) programming; OpenGL programming.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
User-Interface Design

Prerequisites: COMP2611 Data Structures (or COMP2115 Information Structures) AND
COMP2225 Software Engineering (or COMP2145 Software Engineering 1)
Anti-requisite: COMP3220 Human Computer Interaction
Syllabus: Relationship to computer science and software engineering; Influences on interface design; General models and guidelines; Methods of designing interfaces; Software and hardware interface implementation; Mechanisms of evaluation; Future directions of user interface design.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
E-Commerce

Prerequisites: COMP2245 Web Development Concepts, Tools and Practices (or COMP2155
- Building Web Applications)
Anti-requisite: COMP3210 Electronic Commerce
Syllabus: Introduction to e-commerce; Definition of ecommerce, e-business, m-commerce and egovernance; Advantages/disadvantages of ecommerce; Waves of e-commerce; SWOT analysis; business objectives and international issues facing ecommerce; Planning e-commerce initiatives; Identifying products and services; Business plans; ECommerce legislation and Internet law; Borders and jurisdiction; Website design, usability, evaluation and creation; User interface design; Internetworking and the world wide web; client- side programming; serverside programming; Processing payments and order fulfilment; Securing e-commerce initiatives; Computer, server and communication channel security; Marketing website and promoting products and services; Revenue models, marketing strategies, customer relationship models and web advertising.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Computer Information Systems

Prerequisites: COMP2225 Software Engineering (or COMP2145 Software Engineering I)
AND COMP2245 Web Development Concepts and Practices (or COMP2155 -
Building Web Applications)
Anti-requisite: COMP3115 Information Systems
Syllabus: Definitions of information and system concepts; IS frameworks; Types of information systems; Information systems in society, business and industry; Software issues and trends: Databases and business intelligence; E-business and mobile commerce; ICT in e-business and business process performance; The personal and social impact of computers; Network and telecommunication systems; Societal and ethical issues relating to information systems; Enterprise, information and decision support systems; Knowledge management systems, knowledge management workers; artificial intelligence, expert systems; and virtual reality; Characteristics of information systems professionals; information system careers; Information and specification; design, implementation and re-engineering of information systems; Systems theory; decision support; information systems strategies; role of information and IT; and role of people using, developing and managing systems; Information and organisational systems; ICT Micro enterprises and entrepreneurship; digital divide; the informal sector; Health information systems.

Teaching: Two (2) hours of lectures and One (1) hour of tutorial per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3
Fundamentals of Artificial Intelligence

Prerequisite: COMP2210 Mathematics for Computer Science II (or COMP2105 Discrete
Mathematics) AND COMP2611 Data Structures (or COMP2115 Information
Structures)
Anti-requisite: COMP3125 Artificial Intelligence
Syllabus: Intelligent agents. Search algorithms. Knowledge representation. Machine learning. Probabilistic reasoning.

Teaching: Students are required to meet regularly with their supervisors to discuss their research projects.

Method of Examination: Project Proposal 20% Final Presentation 20%

Credits: 3
Research Project in Computer Science

Prerequisite: None
Anti-requisite: COMP3910 Research Project
Syllabus: This course provides students with the opportunity to develop a research project to solve a real-world or research-based problem. Students are given the opportunity to embark on a project that uses the skills learned during Computer Science courses. This course provides students with an opportunity to develop their research skills by collaborating with a Computer Science faculty member.

Teaching: Students are required to meet regularly with their supervisors to discuss their research projects.

Method of Examination: Project Proposal 20% Final Presentation 20% Final Report 60%

Credits: 3
Major Research Project in Computer Science

Prerequisite: None
Anti-requisite: COMP3920 Computer Science Major Research Project
Syllabus: This course provides students with the opportunity to develop a research project to solve a real-world or research-based problem. Students are given the opportunity to embark on a project that uses the skills learned during Computer Science courses. They will take this course from Semester I through Semester II. This course provides students with an opportunity to develop their research skills by collaborating with a Computer Science faculty member.

Credits: 6
Group Research Project in Computer Science

Prerequisites: None
Anti-requisite: COMP3930 Computer Science Group Research Project
Syllabus: This course provides students with the opportunity to develop a research project to solve a real-world or research-based problem. Students are given the opportunity to embark on a project that uses the skills learned during Computer Science courses. They will complete the project in groups ranging from 2 to 4 persons. This course provides students with an opportunity to develop their research skills by collaborating with a Computer Science faculty member.

Teaching: Students are required to meet regularly with their supervisors to discuss their research projects.

Method of Examination: Project Proposal 20% Final Presentation 20% Final Report 60%

Credits: 3
Computer Science Internship

Prerequisite: GPA of 3.0 or above in the Computer Science or Information Technology Major.
The student must have completed or be enrolled in courses totalling sixty (60) credits or more. The department must approve the student. Approval by the department does not however guarantee placement. Enrolment in internship is subject to successful placement at a participating host organization.
Objectives: To provide the opportunity for students to gain workplace experience to improve their employment readiness by the time of graduation.
Syllabus: The course provides a formal internship of at least 4 weeks (160 hours) duration at a relevant private sector, public sector or non-Governmental organisation during which students undertake agreed upon activities relevant to their studies. Students will work under the guidance of a workplace supervisor as well as an on-campus supervisor and will submit a report and make a presentation within the Department at the end of the internship. Through exposure to the working environment, students will acquire transferable skills that will be useful in any future employment sphere. The professional placement in an organisation will normally take place during the summer school period, and students will be registered for the course as a summer school course. Students intending to register for the course in summer must present an up-to-date curriculum vitae (CV) to the course coordinator by a stated deadline in semester 2. At the same time, host organisations will meet with the course coordinator and provide a summary of possible activities (work plan) successful students would undertake in their organisation. Student CVs will be circulated to potential workplace supervisors and the course coordinator will assign placements to the mutual satisfaction of the students and host organisations. Students may have to attend an interview before embarking on the professional placement.

Method of Examination: Student’s Placement Report 50% Workplace Supervisor’s Appraisal 35% Oral presentation of the report 15%

Credits: 3
Networks I

Prerequisite: COMP1210 Computing II (or COMP1115Computer Programming II) AND
COMP1215 UNIX (or COMP1125 Introduction to Unix)
Anti-requisite: COMP2150 Computer Networks I
Syllabus: OSI and TCP/IP reference models. Network performance. Transmission media. Multiplexing. Packet switching and Circuit switching. Framing. Error detection and Error correction. Cyclic Redundancy Check (CRC). Automatic Repeat reQuest (ARQ). Media Access Control (MAC) sublayer. Ethernet. Wireless LANs and Wireless WANs. Virtual LANs. Spanning Tree Protocol (STP). Bluetooth.

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%

Credits: 3
Web Development Concepts, Tools and Practices

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%

Credits: 3
Computing in the Digital Age

Prerequisite: COMP1210 Computing II (or COMP1115 Computer Programming II)
Anti-requisite: None
Syllabus: Ethics. Computer history. Computer organization. Usability. Software engineering and software reliability. Parallel computing. Digital data and copyright. Software as intellectual property. Artificial intelligence. Big Data. Massive open online courses (MOOCs).Crowd computing. Wearable computing. Computational X (biology, photography,psychology).

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%

Credits: 3
Computer Science Elective

Prerequisites: None
Syllabus: An advanced course in Computer Science taken as an exchange student at an approved institution and pre-approved by the Director of Academic Affairs.

Credits: 3
Information Technology Engineering

Prerequisite: COMP1210 Computing II (or COMP1115 Computer Programming II)
Anti-requisite: None
Syllabus: Introduction to Statistical Mathematics. Web Analytics - Log file analysis, Page- tagging. Introduction to Computer Architecture -Motherboards, Processors, Memory, Peripherals, Storage Mediums (IDE, SATA, SCSI, USB, FireWire, IEEE1394, RAID, NAS, SAN). Virtualization. Introduction to Computer Networks - RJ11, RJ45, Fiber, Wi-Fi, LANs, WANs, DHCP, DNS, VPN. Introduction to Servers - Web Servers (Apache,TomCat, JBOSS, IIS), FTP Servers, Email Servers, Proxy Servers. Version Control - Subversion, GIT. Cloud Computing.

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%

Credits: 3
Moblie Applications for IOS Devices

Prerequisites: COMP2611 Data Structures (or COMP2115 Information Structures) AND
COMP2225 Software Engineering (or COMP2145 Software Engineering 1)
Anti-requisite: None
Syllabus: Program Development on the XCode IDE; Swift programming; Xcode and Interface Builder; Cocoa Design Patterns; Views and the View Hierarchy; Memory Management; Text Input and Delegation; View Controllers; Interaction with UIControls; UITableView and UITableViewController; Orientation and iOS Device Sensors; Testing and Debugging.

Teaching: Two (2) hours of lectures and Two (2) hours of labs per week.

Method of Examination: In-course Tests/Assignments 40% Final Theory Examination (2 hours) 60%

Credits: 3