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.
Yes I will admit it, I try to make things easy for my students to be able to grasp the concepts and for assessment preparation. I think because I have a view of how I would like to learn and how I want to deliver a course, I try to ensure that I cover all three learning styles with my approach to teaching. I send my students video links on the topics covered, extended notes, exercises, powerpoint presentations and sometimes summary notes. The funny thing is that no matter how much information I give to them, some students just would not take advantage of it. I realised this when I started lecturing in 2008.
Yesterday I received an email from one of the students from my Java class expressing gratitude for some work done in the previous class which greatly contributed to helping him understand the concept of the Observable Class and the Observer Interface. I try as much as possible to get the students to understand the concepts before the class ends, even if it means not completing the entire planned lecture. When I receive emails or messages from students commenting on how they enjoyed the class and how they have grasped the concepts taught, it really makes me happy and makes all the work done before class worth it. In the Java class yesterday, we started looking at Threads. We looked at processes, then the main reasons for threads and the two main ways to create a Thread in Java…using the Thread class and using the Runnable Interface. Throughout the class I reiterated the fact that since Java only allows single inheritance, the Thread class cannot be used to create a Thread if you would like to inherit from another class and in such an instance the Runnable Interface should be used. I gave the class a few examples on creating threads but for some reason they were having some problems grasping the concept. So I started the topic again from the top and ended the class with them creating two basic classes for the two ways to create a thread as shown below.
For the next class, we will look at the life cycle of a thread, thread synchronisation and multithreaded programs.
Yesterday’s C++ class was so exciting. Firstly I decided to structure the exam from last week a bit differently and give the students the opportunity to have a retake. The initial quiz was mainly free text and I don’t think that worked very well. After the exam, the students finally had the opportunity to create their first HelloWorld program using C++. Last minute I decided to change the way I would start them coding. I wanted to explain more about the types of editors, the compiler, linking and how a program goes from words in an editor to a working application. However, I realised it would probably be better for them to start a simple program and when the concepts are explained, have something to refer those concepts to. I must admit, for a group of electrical engineers in training, they were quite excited about building applications. I focused mainly on input (cin) and output (cout) and two data types, string and int. A few of the students even improvised and extended on the practical work done in the class session, which I was very happy to see. The class finished around 8:35PM last night as the energy was so good in the room. If it wasn’t for my 4:00AM wake up time this morning and the campus security patiently waiting outside the classroom door to close the room, I would have probably carried the class until 9:00PM. I’m excited for next week’s class and I hope the students are as well.