As I mentioned in a blog post a few weeks ago, I have been given the privilege to create a course at the University that teaches Programming Design Patterns using Java. In Software Engineering, a Design Pattern is a general repeatable solution to a commonly occurring problem in software design. It is a description or template for how to solve a problem that can be used in many different situations. One of the first things I did in designing this course, was decide on the appropriate Course Structure. Design Patterns are categorised according to the groups below and the patterns listed are covered in the course.
- Creations Patterns – These patterns are all about class instantiation.
- Abstract Factory
- Structural Patterns – These patterns are all about Class and Object composition.
- Behavioural Patterns – These patterns are all about objects communication among classes.
- Chain of Responsibility
Secondly, I acquired soft copies of reference texts for the students to be used throughout the course. So far, I’ve been using Design Patterns Explained Simply by http://sourcemaking.com/ as well as the Design Patterns in Java Tutorial from http://www.tutorialspoint.com/.
Thirdly, I focused on assessment preparation. I’ve completed Creational and Structural Design Patterns with the students at one campus and I should complete those Patterns with the students at another campus by next week. Finally, we would complete the Behavioural Design Patterns and prepare for the final exam. While I do wish I had more time to prepare all the material for the course, things are going great. For each pattern taught, I will give multiple examples in class for the students to grasp the practical side of it with the hope that they’ll read the notes from the books to solidify the concept with the theoretical side of things. This course has three assignments, one for each Design Pattern Category, a Mid-Term Exam as well as a Final Exam.
This morning, I submitted the final draft for the Final Exam and I hope it’s approved. There are some changes to be made to the Mid-Term Exam, which will be given in two weeks and the assignments for the Structural and Behavioural Design Patterns will be issued within this coming week. I hope the University is pleased with the work I’ve done and will be interested in delivering this course again at the Bachelor’s level next year. Since I’ve been back at the University part-time, I’ve seen opportunities to deliver more courses at the the Diploma and Bachelor level and I hope I’ll be given to opportunity to do so in the near future. Currently, the University teaches Android Mobile Application Development, so it would be indeed an honour to develop a course teaching iOS Mobile Application Development at the Bachelor level. Until then, I will make suggestions for the courses I would like to deliver, that I think would be of value to the students, with the hope of it being approved.