VNUHCM-UNIVERSITY OF SCIENCE
FACULTY OF INFORMATION TECHNOLOGY
COURSE SYLLABUS
CSC10003 – Object–Oriented Programming
1. GENERAL INFORMATION
Course name: Object–Oriented Programming
Course name (in Vietnamese): Phương pháp lập trình hướng đối tượng
Course ID: CSC10003
Knowledge block: Mandatory
Number of credits: 4
Credit hours for theory: 45
Credit hours for practice: 30
Credit hours for self-study: 90
Prerequisite: Introduction to Programming & Programming Techniques
Prior course: Yes
Instructors: Toan–Thinh Truong
2. COURSE DESCRIPTION
The course is designed to provide students some common topics of object–oriented
programming. Also, it uses C++ as a main language to demonstrate what the lessons and
advisors want to express. Together, it uses C# and Java (two typical object–oriented
languages) to discuss, analyze and compare with C++ to clarify some aspects of object–
oriented programming. Especially, object–oriented method can be considered as an important
idea to build all practical applications. With this method, programmer can create some codes
including some interesting properties, for example: evolution, easy–to–maintain, highly
reused, and scalability. In summary, this course is very necessary for all students of
information technology and anybody who want to know how to program and design a
reasonable object–oriented application.
Course Syllabus | Object–Oriented Programming Page 1
VNUHCM-UNIVERSITY OF SCIENCE
FACULTY OF INFORMATION TECHNOLOGY
3. COURSE GOALS
At the end of the course, students can
ID Description Program LOs
G1 Work as a group to develop the object-oriented 2.2, 2.3.1, 3.3
applications
G2 Understand the English terminologies in object-oriented 2.4.3, 2.4.5
programming
G3 Explain basic conceptions, responsibility, rules and 1.4, 6.1.2
ethical issues... in object-oriented programming
G4 Classify the procedure oriented and object-oriented 1.3.6, 1.4, 5.2.2,
programming 5.3.1, 6.1.1
G5 Understand and practice some basic techniques in 5.1.1, 5.1.3,
development of object-oriented application 5.2.1,
G6 Build a small-scale application personally 5.1.3, 5.2.2, 5.3.2
4. COURSE OUTCOMES
CO Description I/T/U
G1.1 Build, organize, operate and manage the group I, T
G1.2 Discuss with all topics in object-oriented programming subject U
G1.3 Analyze, summarize and write technical reports as a group or I, T
in person
G2.1 Understand English terminologies of object-oriented I
programming
G2.2 Reading materials relating the lessons I
Course Syllabus | Object–Oriented Programming Page 2
VNUHCM-UNIVERSITY OF SCIENCE
FACULTY OF INFORMATION TECHNOLOGY
G3.1 Explain basic conceptions in object-oriented programming: I, T
IDE, relationship, model, design pattern, libraries, …
G3.2 Know the role, task, rules, responsibility and ethical issues in I
this area of object-oriented programming
G4.1 Know how to program with class design and procedure design. I
Understand pros and cons in each direction
G5.1 Understand class & object I
G5.2 Understand some design pattern: single-ton, prototype, I, T
template method…
G5.3 Efficiently design the architecture for an object-oriented I, T
application
G5.4 Understand template techniques, function pointer to generalize I, T, U
the application
G6.1 Build the efficient application of CARO I, T, U
G6.2 May integrate some different algorithm into application I, T, U
5. TEACHING PLAN
ID Topic Course Teaching/Learning
outcomes Activities (samples)
1 Revision G1.1, G2.2 Lecturing
Group discussion
2 Class & Object G1.2, G1.3, Lecturing
G2.1, G5.1 Demonstration
Group discussion
Course Syllabus | Object–Oriented Programming Page 3
VNUHCM-UNIVERSITY OF SCIENCE
FACULTY OF INFORMATION TECHNOLOGY
3 Built–in datatype G3.1, G3.2 Lecturing
Group discussion
4 Property & method G4.1, G5.2 Lecturing
Demonstration
Group discussion
5 Inheritance & Polymorphism G5.2 Lecturing
Group discussion
6 Class relationship G5.3 Lecturing
Group discussion
7 File programming G5.4 Lecturing
Demonstration
8 Template class/method G5.4 Lecturing
Group discussion
9 STL Library G5.3, G6.1 Lecturing
Group discussion
10 Exception G5.3, G6.2 Lecturing
Group discussion
11 Review/Seminar G6.1, G6.2 Review & project present
For the practical laboratory work, there are 10 weeks which cover similar topics as it goes in
the theory class. Each week, teaching assistants will explain and demonstrate key ideas on the
corresponding topic and ask students to do their lab exercises either on computer in the lab or
at home. All the lab work submitted will be graded. There would be a final exam for lab work.
6. ASSESSMENTS
ID Topic Description Course Ratio (%)
outcomes
Course Syllabus | Object–Oriented Programming Page 4
VNUHCM-UNIVERSITY OF SCIENCE
FACULTY OF INFORMATION TECHNOLOGY
A1 Assignments ~45%
A11 Homework: HW1 HW1: revision the ~1...%
knowledge of previous basic
subjects
Homework: HW2 ~ HW10 HW2 ~ HW10: practicing ~9…%
based on knowledge taught
in class
A12 Weekly lab-work: LW1– 30%
LW10
A2 Projects 10%
A21 Seminar Seminar at the last week 10%
A3 Exams 45%
A31 Midterm exam Closed book exam. 5%
Describe the understanding
of different topics, analyze &
program to solve problems
A32 Final exam Closed book exam. 40%
Describe the understanding of
different topics, analyze &
program to solve problems
A4 Bonus 10%
Course Syllabus | Object–Oriented Programming Page 5
VNUHCM-UNIVERSITY OF SCIENCE
FACULTY OF INFORMATION TECHNOLOGY
A41 Bonus (if necessary) Based on all results of above 10%
rows
7. RESOURCES
Textbooks
• LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (SÁCH KHOA CNTT – HCMUS)
Others
• The C++ Programming Language
• C++ Primer Plus
• C++ và lập trình hướng đối tượng
8. GENERAL REGULATIONS & POLICIES
• All students are responsible for reading and following strictly the regulations and
policies of the school and university.
• Students who are absent for more than 3 theory sessions are not allowed to take the
exams.
• For any kind of cheating and plagiarism, students will be graded 0 for the course. The
incident is then submitted to the school and university for further review.
• Students are encouraged to form study groups to discuss on the topics. However,
individual work must be done and submitted on your own.
Course Syllabus | Object–Oriented Programming Page 6