Teaching

Department of Computing, School of Advanced Technology
Xi'an Jiaotong-Liverpool University

Current Academic Year (2025-2026)

CPT105Undergraduate · Level 1

Introduction to Programming in Java

2025/26 · Term 1850+ students

Description

An introduction to object‑oriented programming (OOP) with Java. Students learn core OOP concepts (classes, objects, abstraction, encapsulation, inheritance, polymorphism), Java syntax and control structures, and how to design, implement, test and document small to medium programs using sound software‑engineering practices.

Key Topics

Java Syntax & Control Structures
Classes, Objects & Methods
OOP Principles (abstraction, encapsulation, inheritance, polymorphism)
Basic I/O & Exception Handling
Testing, Debugging & Documentation
Good Software Development Practices
CPT204Undergraduate · Level 2

Advanced OO Programming

2025/26 · Term 2400+ students

Description

Covers data structures and advanced programming techniques in Java. The module deepens OOP knowledge, introduces advanced language features and design principles, and develops problem‑solving skills for implementing algorithms in contemporary software settings, including collaborative, team‑based development.

Key Topics

Advanced OOP (interfaces, generics, design principles)
Data Structures & Algorithms in Java
Software Architecture & Patterns
Testing & Quality Assurance
Version Control & Team Collaboration
Inclusive & Ethical Software Practices