Published by Mircea on 28 Jun 2005 at 09:52 pm
Hey, how’s programming today?
Answer: on paper… grr…
I had the last exam today: Object Oriented Programming.
It so happened that some recurring memories remembered me that the Educational System in Romania needs an overhaul. Some courses need an overhaul, some teachers need an overhaul… oh well.. let’s call the last thing a “training”.
Surprisingly, last time something similar happened was exactly during time of year (it was 1 year and 2 days ago to be very precise). The situation is 70% similar. Where do the extra 30% go? Answer: to the teacher.
The exam, short version:
- one huge problem, described in tons of words (it took me 1 A4 page - face & back to write it - I know this is relative) - above all, it wasn’t very clear either (just like the entire course, see below). Some colleagues managed to think like the teacher which is really an achievement considering the way he thinks - also, see below).
- 1h 30mins for the entire problem. In the end, we were given 2 hours after asking for more time. I wrote all the time and my finger tips still hurt AFTER the exam was over.
- we were allowed to use the computers to look over the Java documentation but you soon notice that it costs you time
- looking over my paper after the exam was over revealed that, out of the points I’ve lost, lots were for syntax mistakes, something which is normally done by the compiler, corrected by changing some types in the overridden functions and adding some castings. All the logic which I’ve tried so hard to add to the program didn’t count much as only the syntax problems were seen. There were also some mistakes caused by the pressure of the time. I thought Object Oriented Programming is not only about syntax, but about the logic behind also. I believe syntax is easier to check compared to logic. Syntax should be similar, all across 30+ papers. hen again, how can 2 people correct and understand 30+ papers of several pages filled with code (possibly with not much comments, because of lack of time) in 2 hours?
As some of you might not know, the Object Oriented Course is actually a Java course. We had a total of 4 programming courses until now:
- Programming - generally speaking, actually a C/C++ course
- Data Structures and Algorithms (DSA) - STL, Graph Algorithms, Object Oriented Programming — this course included some lectures on classes, inheritance, overriding operators, working with objects, template classes (using STL), all in C++. That was a great course compared to the OOP course (last in the list).We should thank to this teacher for not leaving us to learn OOP with the OOP teacher we had this semester
- Programming in Assembly Language
- Object Oriented Programming
Most of the students (myself included) admit that, if it wasn’t for the first 2 programming courses, we wouldn’t have understood a thing if we were to learn OOP from the teacher we had this semester. The teacher even has some problems with the fact that we were taught OOP before the OOP course by another teacher (in the DSA course).
The course - facts:
- When I got my final grade, I noticed that… work during the year does not count. Did you think that the laboratories count? You are naive if you do this. I admit, I was naive and I really tried to do my best, burning out valuable neurons. You just have to do the laboratories to be allowed to enter the exam. It doesn’t matter how well you do them (it’s pure logic, isn’t it?).
Above all, we even had a test paper at the middle of the term (which we weren’t told if it is a midterm or not, untill we got the results. The teacher: Did I say it is a midterm? It is not a midterm. You’ll still have everything for the final exam.). - the lectures for this course were horrible. We (all students) noticed that it is very difficult for us to follow the teacher showing us Java. It’s all nice to use an on screen projector to show up code, documentation and all, but it was all put in a big/great mess. There was a big problem with wording the course. Ideas were started, paused, broke into pieces, restarted so many times, that the course could really give you a terrible headache. Lots of the students abandoned the idea of participating at the lectures. It so happened that the teacher held his lecture in front of 5 to 20 students (out of ~130 in the entire series*) every time. There was a day when only one student was present at the course for an hour. His lectures were something like: see this… and this… oh.. and there’s something I’ve recently discovered in… but the thing there is… where were we? eh, nevermind… let’s see what else we have here.. oh.. ok.. this one is about… do you remember that… oh… and there’s that thing… I hope you understood that no normal human being could resist much at those lectures.
- The fact that some of the Data Structures and Algorithms course had some OOP lectures might have been a disadvantage for us. The teacher said one time that it favours some other series* and not ours - this might be because the DSA course has OOP lectures only in our series. This made the teacher think that we already know some OOP (which is true for some of us). Sometimes it went so off around an idea that we couldn’t understand what point he was trying to make. He assumed we already know what he was thinking about (but hey, we’re not reading minds) and skipped some steps. Asking for clarification possibly got you closer to the facts, but still, there was more. When he finally explained in detail, he wandered why we didn’t understand him… Well… GUESS WHY? (see above point).
The good thing about this course is the fact that it allowed us to spend some school hours thinking of Java (considering a very busy schedule). I’ve also done a project in Java during this year, because of ease in development and deployment. I don’t know if I was successful in this project because the way the teacher taught, or because I struggled to understand something for myself. I’ve also applied some things which I’ve learned by myself and heard of before coding in Java. Ever since this semester started I’ve been trying to convince myself that Java is something in a programmers world. Why so? Every time I heard the teacher, I was shown more bad points for Java. The teacher was a bad PR person for Java. It is a bit sad that a person, the teacher in this case, can induce a bad feeling about a programming language also because of the mess in his lectures.
I am slowly realizing that there must be something better than Java. I found some strange things happening inside. I am starting to believe C# might be closer to my dreams (I haven’t seen much C# code, but it is capable of some things missing in Java). The Royalty Free License of C# is a bit scary. Besides this, I want multiplatform. There’s still much to learn out there. Programming languages evolve every day. Each one is addapted for a particular application. Software engineers must be multi-oriented for better adaptation.
* we are organized into groups of 25-30 students and 5 groups make up a series.
Update: it seems that future OOP exams got easier, the high-graders number was bigger; this reminds me of another great rule in life: relativity (the difficulty of the exam can vary depending on the date of your exam, relative to others’ exams)
One Response to “Hey, how’s programming today?”
Leave a Reply
You must be logged in to post a comment.
Mircea Bardac /random_thoughts » 2nd Uni Year - Summing up on 29 Jun 2005 at 11:42 pm #
[...] Advanced Mathematics for you Object Oriented Programming - well, Java all the way (see my comments after the final exam) English - 2 semesters - I liked it beca [...]