I've been having exams recently and thus been extremely busy studying for things I should really have been practicing all semester for FML. Anyway, as always, around this time I got to complaining on exactly how we're tested on the mastery of various subjects.
I do Computer Science at Maseno University. Every semester we do on average 8 units. My school has a system that is like this: 30% of your grade comes from the work and C.A.Ts you do during the semester and 70% of your grade comes from the final exam you do at the end of each semester. This is how every single degree in my school is graded: Arts, Sciences and Education.
Never mind the stupidity of having the same testing criteria for every degree; I can only talk for my course. So on to my complaint. Every semester we do a programming language. So far we've been through Pascal, C, Java and Visual Basic. My problem is that with every one of these units, the main part of my grade (70%) has come from a written exam that asked silly questions like write a program that will provide the following output
And other such dull boring stuff. In almost every programming language, the code will look similar!! Last week, in a written test for Visual Basic, I was asked to design a form to take loan details and to name and explain 4 controls I had used to make my form. WTF???!!! It's a written exam! I had to draw!! How many different ways can I explain what the 'if-then-else loop does'? It doesn't differ from one language to the next.
How exactly are you going to test someone's mastery of a programming language by giving them a written exam? I mean come on, any serious programming is done on a trial and error basis. Code, run, check for errors, fix errors run again. How is me writing snippets of code 15 lines long going to prove that I really can code? Or even explaining what key phrases mean?
I'm not an educator but I think the best way to teach coding is by actually having the student work on a project that'll be a big part of his grade, or even weekly assignments that test and build on concepts learnt in class. The way we're doing it now isn't working for me. Maybe I'm just bright, I am, but I don't feel like I'm learning enough and I'm doing Computer Science because all I want to do with my life is code
So let's call this an open letter to Kenyan Universities teaching Computer Science. There's got to be a better way, a more effective way. Anyway I'm going to go out and try to learn these things by myself. No, I'm not talking about reading from books (though that will help), I'm now looking for internship at a company or with someone who actually designs real programs, code that I can manipulate and play with. I'm making an open call to all my readers, if you know such a person or company, in Kenya preferably, email me (check the contact me page) or tweet me. I'll really appreciate it. Peace!!