COURSE SYLLABUS
1. COURSE TITLE
Object-Oriented Programming
2. COURSE CODE
AI1013
3. PRE-REQUISITE
Nil
4. CO-REQUISITE
Nil
5. NO. OF UNITS
3
6. CONTACT HOURS
42
7. MEDIUM OF INSTRUCTION (MOI)
English
8. OFFERING UNIT
Artificial Intelligence Programme, Division of Science and Technology
9. SYLLABUS PREPARED & REVIEWED BY
Prepared by Dr. Zhiyuan Li
Reviewed by Prof. Haipeng Guo
10. AIMS & OBJECTIVES
This course introduces object-oriented Programming concepts, principles, and techniques,
including classes, objects, inheritance, and polymorphism. All concepts are illustrated via a
contemporary object-oriented Programming language.
11. COURSE CONTENT
1. Introduction to Java
a) Introduction to OOP
1/6
b) Java Virtual Machine
2. Classes
a) Class, Object, and Methods
b) Instance Variables
c) Constructor
d) Overloading
e) Modifiers
f) Accessors and Mutators
g) Encapsulation
3. Abstract Classes and Interfaces
a) Abstract Classes
b) Interfaces
4. Inheritance
a) Class Inheritance
b) Overriding
5. Java Collection Framework
a) Arrays of Objects
b) Introduction to Generics
c) ArrayList Class
d) Generic ArrayList
6. Object-Oriented Design
a) Class Diagram
b) OOP Design Patterns
c) UML
7. Iterators
a) Iterator Interface
b) ListIterator Interface
8. Comparators
a) Sort Objects
b) Transitive Comparison
2/6
9. Java Swing
a) Frames and Graphical Components
b) Layout Managers
c) Event handling and Listeners
10. Exceptions
a) Exceptions and Errors
b) Try, Catch, and Finally
c) Throw and Throws
11. Streams
a) Sequential and Parallel Operations
b) Execution Mode
c) Concentration Pipeline
12. Threads
a) Running Threads
b) Concurrency Problems
c) Multithreading
12. COURSE INTENDED LEARNING OUTCOMES (CILOS) WITH MATCHING TO
PILOS
Programme Intended Learning Outcomes (PILOs)
Programme Title: Bachelor of Science (Honours) in Artificial Intelligence
Upon successful completion of the Programme, students should be able
PILO
to:
Articulate and explain the principles, concepts and theories required across
PILO 1
the field of artificial intelligence.
Develop appropriate artificial intelligence algorithms and systems, and
PILO 2 enhance performance of them through comparisons and refinements of
alternative approaches.
Identify problems solvable by artificial intelligence in real world applications
PILO 3
and develop solutions using appropriate technology and systematic tools.
Collaborate and work effectively in teams using different communication
PILO 4
formats in the context of AI technology.
3/6
Programme Title: Bachelor of Science (Honours) in Artificial Intelligence
Upon successful completion of the Programme, students should be able
PILO
to:
Investigate contemporary issues in the field of artificial intelligence, and
PILO 5
develop life-long effective learning skills.
CILOs-PILOs Mapping Matrix
Course Code & Title: AI1013 Object-Oriented Programming
PILO(s)
CILO Upon successful completion, students should be able to:
Addressed
Explain the conceptual framework of object-oriented PILO 1
CILO 1
Programming, and
Programme in JAVA to enable the solution of non-elementary PILO 2,3
CILO 2
Programming tasks.
13. TEACHING & LEARNING ACTIVITIES (TLAS)
CILO NO. TLAS
Lecture: The instructor will explain the course material in detail. And
students will be given extensive well-designed study cases during the
class to help them understanding the concepts of OOP.
Exercises: Student will be given some exercises during the class and
after class. As for the class exercise, students will present their solution
CILO 1 to the class. And there will be a short discussion after that. As for the
exercises after class, students need to submit their answer to lecturer.
Hands-on practice: The instructor will arrange tutorials in labs where
each student can practice OOP Programming skill.
Online Discussion: The instructor will setup an online discussion space
to interact with students ubiquitously.
Hands-on practice: Students will be given hand-on experiences on how
to implement a medium-sized system on their desktop in the way of
OOP. This system is elaborately designed by the instructor, and will be
divided into different phases. And students will be supervised to finish
CILO 2
the whole project step by step.
Online judge: The instructor will setup an online judge system or select
some problems from existing online judge systems. The students can
further improve their algorithm design skills and implementation skills
4/6
CILO NO. TLAS
using the online system.
Project: Students will be working in teams to implement a free project
wherein students need to cooperate with each other to propose a new
idea, analysis their problem, design a solution in the way of OOP, and
implement their solution in JAVA Programming language.
14. ASSESSMENT METHODS (AMS)
Type of Weighting CILOs to be Description of Assessment Tasks
Assessment addressed
Methods
Exercise will give students the hand
Programming 15% 1
Exercise on experience to solve some simple
Programming tasks.
Assignment will give students the
Programming 20% 1
Assignment hand on experience to implement
some medium-sized Programming
tasks. Compared with exercise, the
knowledge required in the assignment
will be broader and more
comprehensive.
This project aims to assess the major
Project 25% 2
learning outcomes achieved by
students upon completion of the
course.
Quizzes will test and reward the
Quizzes 10% 1-2
students’ understanding of concepts on
object-oriented Programming.
This final examination aims to assess
Final 30% 1-2
Examination the major learning outcomes achieved
by students upon completion of the
course.
5/6
15. TEXTBOOKS / RECOMMENDED READINGS
Textbook:
Nil
Recommended Readings:
1. Jeffrey M. Lemm, Sahra Sedigh, Object Oriented Languages, Academic, 1991.
2. Peter Coad, Object-Oriented Programming, Prentice Hall, 1993.
3. Stephen R. Schach, Object-Oriented Software Engineering, McGraw-Hill Europe, 2007.
4. Dale John Skrien, Object-Oriented Design using Java, McGraw-Hill Higher Education,
2008.
5. Elliotte Rusty Harold, Java Network Programming, O’Reilly Media, 2004.
6. Sarang Poornachandra, Java 7 Programming, Oracle, 2012.
7. David A. Turner, Jinseok Chae, Java Web Programming with Eclipse, Createspace, 2010.
8. Daniel Selman, Java 3D Programming, Manning, 2002.
9. Ken Arnold, James Gosling, David Holmes, The Java Programming Language, Addison
Wesley, 2005.
10. James Gosling, Bill Joy, Guy L. Stelle Jr., The Java Language Specification, 3rd Edition,
Addison-Wesley Professional, 2005.
Revised on: June 17, 2021
6/6