CT2101 Object Oriented Programming I

This module introduces Object-oriented design and covers topics such as: Encapsulation and information-hiding, the separation of behavior and implementation, classes and subclasses, Arrays, Composition, Inheritance and Polymorphism.

Semester I - Lecture Hours: 24 Lab Hours: 20

Module Learning Outcomes:

  1. Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction, inheritance, and polymorphism.
  2. Design, implement, test, and debug simple programs in an object-oriented programming language.
  3. Describe how the class mechanism supports encapsulation and information hiding.
  4. Design, implement, and test the implementation of relationships among objects using a class hierarchy and inheritance.
  5. Compare and contrast the notions of overloading and overriding methods in an object-oriented language.

CT2102 Object Oriented Programming II

This module builds upon Object Oriented Programming I and covers topics such as Interfaces, Collections, Sorting & Searching, Recursion, GUI and Event-Driven programming.

Semester II - Lecture Hours: 24 Lab Hours: 22

Module Learning Outcomes:

  1. Discuss the use of primitive data types and built-in data structures.
  2. Describe common applications for each data structure in the topic list.
  3. Implement the user-defined data structures in a high-level language.
  4. Compare alternative implementations of data structures with respect to performance.
  5. Write programs that use each of the following data structures: arrays, strings, linked lists, stacks, queues, and hash tables.
  6. Compare and contrast the costs and benefits of dynamic and static data structure implementations.

CT2103 Systems Analysis & Design

This module progresses the students' study of computer systems with a focus on the analysis and design of software systems and the stakeholders involved. Students will develop specific systems analysis design skills (Software Development Lifecycle techniques) and reflect on the social and ethical issues associated with systems design.

Lecture Hours: 24 Lab/Tutorial Hours: 12

Module Learning Outcomes:

  1. Identify project stakeholders
  2. Identify project scope & develop project schedule
  3. Analyse user and system requirements using standard Structured and Object Oriented systems analysis techniques
  4. Design system prototypes using standard Structured and Object Oriented system design techniques
  5. Prepare systems evaluation plan and apply system testing techniques
  6. Discuss the social and ethical implications of different system designs
  7. Make project presentations to class group

CT2104 Web Application Development

This module teaches the students how to create modern client-server browser-based web applications. The module builds on introductory web technology and programming introduced in Years 1 and 2, as well as integrating with the database design and development concepts learned in Year 2. The core technologies learned will be client programming and server side programming. A group development project will form a major part of the workload.

Lecture Hours: 24 Lab Hours: 22

Module Learning Outcomes:

  1. Describe the Model View Controller client-server architecture, in particular with regard to web-based frameworks and applications.
  2. Describe the challenges and technical choices faced in the application of good design and HCI principles to client-side web application development.
  3. Describe the HTTP protocols used for client-server interaction
  4. Use basic Javascript and CSS (Cascading Style Sheet) functions to create functional and attractive user interfaces.
  5. Design and implement basic web server-based applications
  6. Create and interact with databases from server-side web applications, using modern object-relation persistence techniques.
  7. Work within a team to design, implement and test a working web application.

CT2105 Web-based Information Systems

This module introduces the concepts and techniques associated with web-based Information systems. In particular, search engines, recommender systems, social networks and document filtering are studied.

Lecture Hours: 24 Lab Hours: 18

Module Learning Outcomes:

  1. Describe and recognise the basic types of web data that exist.
  2. Describe in detail how a simple recommender system works
  3. Describe the main components of a search engine and how each component works
  4. Describe what is meant by Document Filtering
  5. Identify the characteristics of social networks
  6. Identify security issues with Web applications

CT230 Database Systems I

Indexing Techniques: Primary, Secondary, Clustering, B Trees, Hashing (Extendible, Dynamic, Linear). Database Architectures and Data Models: Network, Hierarchical, Relational, Object-Oriented. Relational Model: Relations, Relational operators, Integrity constraints. Relational Algebra and SQL: Relational operators, Query Optimisation, DDL, DML, DCL. Extended Relational Model.

Lecture Hours: 24 Lab Hours: 20