Module Catalogues, Xi'an Jiaotong-Liverpool University   
 
Module Code: CSE403
Module Title: Object Oriented Programming
Module Level: Level 4
Module Credits: 5.00
Academic Year: 2019/20
Semester: SEM1
Originating Department: Computer Science and Software Engineering
Pre-requisites: N/A
   
Aims
The aim of this module is to train students in Object Oriented Programming (OOP) by using a contemporary language (e.g., Java) and to provide them with an overview of other efficient object oriented languages (e.g., C++, C#, Python) used to develop applications in areas such as social networking, finance, telecommunications and other engineering domains.


Computer programming, especially OOP is essential to all computing programmes. While the module is optional, the students will be required to undertake it when deemed necessary based on their prior learning experience of programming. The programmes that share this module include MRes Computer Science, MSc Applied Informatics, MSc Social and MSc Financial Computing.

Learning outcomes 
A. Have a critical understanding of OOP and demonstrate effective use of the UML design language;

B. Solve a substantial problem using an OOP language and critically evaluate the solution;

C. Account for the differences between OOP languages such as Java, C++, C#, and Python and make informed decision on the selection of programming language for a given problem.

Method of teaching and learning 
Formal lectures:

Students will be expected to attend two hours of formal lectures in a typical week plus two hours of supervised lab session. Key concepts are introduced and illustrated through lectures. These are then enforced through problem-solving activities in lab sessions. The necessary practical skills are developed through laboratory exercises and assessment tasks.


Private study:

In a typical week, students will be expected to devote six hours of unsupervised time to private study. The time allowed per week for private study will typically include three hours for revision of course material and background reading, with three hours for completion of practical work.


Assessment:

The assessment consists of coursework and a written exam. The coursework assessment contains three parts. The first two are lab-based tasks for the students to demonstrate key programming and design skills, whilst the third is a programming project to solve a substantial problem using an OOP language and critically evaluate the solution. The written exam evaluates the students’ critical understanding of key theoretical and practical components of the module.


Syllabus 
1. OO Programming (20 lectures)

• Introduction to programming languages. Basic data types (1 lecture)

• Classes and Objects: constructors, method properties (2 lectures)

• Program control (2 lectures)

• Basic data structures such as arrays (2 lectures)

• String manipulation (2 lectures)

• IO and Exception Handling (1 lecture)

• Classes and objects: Encapsulation, aggregation, inheritance, method overloading (2 lectures)

• Recursion (1 lecture)

• Data structures of objects such as collections (3 lectures)

• Polymorphism (2 lectures)

• Multithreading (2 lectures)

2. Specification and Modelling using UML (Universal Modelling Language) (2 lectures)

3. Compare some OO programming languages such as Java, C++, C#, and Python (2 lectures)

4. Revision (2 lectures)
Delivery Hours  
Lectures Seminars Tutorials Lab/Prcaticals Fieldwork / Placement Other(Private study) Total
Hours/Semester 26       26    98  150 

Assessment

Sequence Method % of Final Mark
1 Coursework 1(10%), 2(10%), 3(40%) 60.00
2 Written Examination 40.00

Module Catalogue generated from SITS CUT-OFF: 12/14/2019 3:12:46 PM