Instructor: Suradet Jitprapaikulsarn
Office: EE-408
E-mail: suradet at nu.ac.th
This is the second programming course. In this course, the focus is on object-oriented programming. For most of the course, we will use Java as a vehicle to explore the object-oriented world. After the students become familiar to the new way of thinking, we will change the way we write a program from an individual component perspective to a group of collaborative components using design patterns. We then repeat the same process but in an accelerating manner with different object-oriented programming languages. In addition, the software engineering practices are emphasized throughout the course.
This is an object-oriented programming course with emphasis on systematic thinking process. After completing this course, students should:
There is no required textbook for this course. However, the books on various object-oriented programming languages may be helpful for completing the assignments of this course. The students benefit more from completing their own assignment than from lecturing. In other word, self-teaching is the key to be successful in this course.
Week No. | Topics |
1 | Welcome to Object-Oriented World |
2 | Recording our thoughts using UML |
3 | Implementing objects with Java |
4 | Union and Composite Patterns |
5 | Command Pattern |
6 | Interpreter Pattern |
7 | Visitor Pattern |
8 | Midterm Examination |
9 | Recursion |
10 | Inner Class |
11 | GUI |
12 | Exception Handling |
13 | Repeat weeks 3 – 5 in C#, Python, Ruby |
14 | Repeat weeks 6 – 7 in C#, Python, Ruby |
15 | Repeat weeks 9 – 12 in C#, Python, Ruby |
16 | Conclusion |
17 | Final Examiniation |
The course grade will be based on
Item |
Weight |
Assignments |
20% |
Object-Oriented Programming Articles Reading |
20% |
10% |
|
Quizzes |
10% |
Exams |
40% |
The above description is only
tentative; it may be changed at the
instructor’s discretion.