CS2332 Object-Oriented Programming

Part I

Course Duration:
One Semester

Credit Units: 3

Level: B2

Medium of Instruction: English

Pre-requisites: Nil

Pre-cursors:
CS2331 Problem Solving and Programming

Equivalent Courses: Nil

Exclusive Courses: Nil

Part II

1.     Course Aims:
This course aims to provide extensive practice on object-oriented programming, with emphasis on object-oriented design and principles.  Students will be exploring tools and best practices in object-oriented programming.  This course also provides an opportunity for students to develop and implement solutions to problems using an object-oriented language.

2.      Course Intended Learning Outcomes (CILOs):
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)

Upon successful completion of this course, students should be able to:
 
No.CILOsWeighting
1.understanding – identify and describe key object-oriented concepts; 10%
2.design - devise software solutions to problems using object-oriented concepts; 20%
3.implementation - implement object-oriented design using a modern object-oriented language; 50%
4.common practice - apply tools and best practices in object-oriented programming; 10%
5.evaluation - evaluate programs based on object-oriented principles. 10%

3.      Teaching and learning Activities (TLAs):
(designed to facilitate students’ achievement of the CILOs)

Teaching pattern:
Suggested lecture/tutorial/laboratory mix:  2 hrs. lecture; 1 hr. tutorial

This is a second course on computer programming, aiming to provide students with extensive programming practice.  The design of teaching and learning activities aims to provide such an environment to encourage students to practice and improve their object-oriented programming skills:
 
TLARemarksRelevant ILOs
LecturesAll CILOs will be introduced, explained, and
demonstrated through lectures. Supplementary resources will be made available for out-of-classroom learning. Taylor-made on-line checking tool will provide students with instant feedback on the correctness of their programming exercises.
 
1-5
TutorialsStudents will practice problems with designed programs, helping them to gear up their skills in all CILOs. 1-5
PresentationsThe presentations provide a platform for students to critically evaluate and challenge each other based on various design and implementation issues. 1-5
QuizzesThe quizzes will check students' achievement of the learning outcomes.  This will provide timely feedback on their learning progress. 1-5
AssignmentsThe assignments provide students with challenging problems, which serve as a learning and assessment tool. 2-4

4.      Assessment Tasks/Activities:
(designed to assess how well the students achieve the CILOs)

Based on the Course ILOs, the assessment criteria, assessment tasks / activities of this course may include:
 
CILO No.Assessment criteriaAssessment tasks / activities
1. UnderstandingAble to identify and explain object-oriented concepts.Presentations, quizzes, and examination
2. DesignAble to articulate a convincing rationale for strategies used to derive an object-oriented solution to a problem.  Presentations, quizzes,assignments, and examination
3. ImplementationAble to construct an object-oriented program which behavior is as expected and which structure is as designed. 
4. Common practicesAble to identify, explain and apply common practices in object-oriented programming.  
5. EvaluationAble to judge object-oriented programs based on object-oriented principles.  Presentations, quizzes, and examination

5.     Grading of Student Achievement:

Examination duration: 2 hours
Percentage of coursework, examination, etc.:
50% CW; 50% Exam
Grading pattern
: Standard (A+AA-...F)
For a student to pass the course, at least 30% of the maximum mark for  the examination must be obtained.

Part III

Keyword Syllabus:

Object.  Class.  Encapsulation.  Inheritance.  Polymorphism.  Interface.  Template.  Exception handling.  Object-oriented principles.  Program documentation.

Related Links
Department of Computer Science