Good Luck Guys

Today the students of the Java Design Patterns class are writing the final examination. Yesterday I found a one page summary of all the patterns covered in the class and I emailed it to them. I know it was a bit late to send the summary sheet but I felt it could come in handy. This morning, I sent text messages to the students in both classes wishing them all the best in the exam. After having prepared and delivered this course for the first time, I have found areas where it can be improved. I can only hope the work I did was enough to ensure that the students understood the concepts well enough to pass the exam. Two students from one class dropped the course and it’s my assumption that the course material may have been too programming intensive for them. Some students found 15 design patterns to be quite a lot to cover in one semester and it is something I will take into consideration when delivering the course next year. A mock examination as well as some online multiple choice questions were created to assist the students with exam preparation. Even though 2 students out of both classes completed the online questions, I hope the mock examination was enough to help them prepare. I included 80% of the topics from the final examination in the mock examination, changing question structure where needed. I provided as much assistance as possible to the students with their examination preparation as no past papers were available. As I write this blog post, the students are writing the exam, which should end in about 80 minutes. I’m quite excited to see how they performed in the exam as this would not only reflect how well they grasped the topics but how well I presented the information to them.


Student Opinion

I have mentioned before my desire to help create a course at the University which focuses on iOS Application Development as well as a few other courses. This week I received confirmation that the iOS Application Development course will be taught in the semester from September to December later this year…this makes me very excited. Before I received confirmation, I have been asking students for their opinions about courses and service at the University and unfortunately the responses have been more negative than positive. One of the main complaints with the programming courses is that there isn’t enough actual programming done in the classroom. As a result, every class I lecture focuses mainly on practical work. The theory is touched on as an introduction but I rely on the students to do additional reading after the concept is grasped from the practical work done in class. This is more so with the Design Patterns Course I developed for the Bachelor’s programme this semester. Yesterday I spoke with the second Design Patterns class about the iOS Application Development course and I asked for their opinions. Most of them were not pleased with the way the Android course was delivered so it was important that I find out what exactly disappointed them to ensure they feel contented after completing the iOS Application Development course. This conversation with the students left me with a lot more information than I expected. It reminded me of my time studying and how I saw so many changes that could have been made to the degree programs I did to help improve the service the students received. I will continue to ask for students’ opinion while developing the course over the next few months and also try to find out what other courses they would like to see as part of the Degree Programme. I am now able to create the change I wanted to see many years ago, so it’s important that I do as much as I can to improve the learning experience of the students while I’m lecturing at the University.

An Opportunity to Design

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.
    • Singleton
    • Factory
    • Abstract Factory
  • Structural Patterns – These patterns are all about Class and Object composition.
    • Model-View-Controller
    • Composite
    • Adapter
    • Bridge
    • Facade
    • Decorator
  • Behavioural Patterns – These patterns are all about objects communication among classes.
    • Observer
    • Strategy
    • Iterator
    • Interpreter
    • Chain of Responsibility
    • Command
    • Template
    • Mediator

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 as well as the Design Patterns in Java Tutorial from

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.

Back to Lecturing

The new semester at the University began last week. For this second semester, I’ll be lecturing three courses, one on Design Patterns using Java, another on Databases with MySQL and lastly the programming language C. This will take four classes with a total of 16 hours per week, with four 4-hour classes, for a period of 12 weeks, with an additional week if needed. I’m most excited to lecture the Design Patterns course as this is the first time it will be delivered by the University. I know that my ability to successfully deliver the content will affect the likelihood of  the course will be delivered again. Thankfully to‘s book on Design Pattern and James W. Cooper’s book on Design Patterns in Java, there will be no need for me to prepare course notes. I’ve also been fortunate to find a C Programming Tutorial from which also eases me up from preparing notes for the C Programming course. I’m yet to find the perfect handout for the Databases course. The students in the class have no database experience and very little database knowledge, so finding notes with very simple explanations is proving to be a challenge. For the next 11 weeks, I will be managing my full time 8-4 job and my lecturing. This will be an exciting challenge as this schedule is a 6 hour increase from the lecturing I did last semester, so it will definitely test me and take me out of my comfort zone. Seeing that my classes end at 9PM, Monday to Thursday and I usually go to bed after 11PM, I’ve decided that it would be best that my morning wake up time be moved from 4AM/4:30AM to 5AM to allow some additional time for sleep. On weekdays, I aim for 5-6 hours sleep but that never really happens, so hopefully this can be attained with my 5AM wake up call. The next 11 weeks will be quite busy but it all contributes to a greater plan and purpose.