Warning: this post might be long
Many have asked why the name Savvy Kenya? Well, a few years back I wanted to be computer savvy. When I was in high school I studied computer studies dropping French in the process. I just couldn’t deal with pronouncing r as eerrrrgh! Like it’s something disgusting! I remember doing my form four project in Pascal, and the days when we’d make the console beautiful by displaying green/yellow text on the black background. There was no internet connection in the labs those days, so there was no place to copy paste code from! How things have changed in just over 5 years!
We were only six of us taking computer studies, and we’d spend lots of time in the lab, experimenting with the console while playing Mario Mike, Dangerous Dave and Pacman. If you never played these games you’ll never know the joy of real gaming!
Image from guestgarden.com
So after form four, I finally got an email address. That was in 2006, the same year I got my Safaricom line which I retain to this date (you know the trials and tribulations of Kuhama, I could write a book about this). Of course those days, it was all about Yahoo!.com. If you needed to join Gmail you needed an invite. I became a frequenter on Yahoo! Answers where I called myself Comp Savvy.
I started blogging in 2007 when I met this guy on whose programming ground I worshipped. He could code in all the languages I knew and he had a really funny blog. He’s the one who sent me an invite to Gmail. Anyway, in May 2007 I was finally admitted as a regular student at JKUAT to do BSc. Computer Science and started blogging about my campus life in 2008. I still used the name Savvy but someone at wordpress already had that ID so I chose savvy08.
I joined Facebook, but it has never really caught on with me. When I did join twitter in 2009, I found someone already using Savvy as their username so I decided Savvy Kenya. Well, enough history. So, am I really computer savvy?
Booksmart Vs Streetsmart
When you go to study computer science in university, you go to learn the mathematics and the science behind computers. You learn about how the first computers were designed on pen and paper theoretically long before the technology to build them was created (think Turing Machine). You learn to understand how operating systems work, how to evaluate the running time of an algorithm (big O notations and such) etc. To assist you in visualizing all this you have to do a number of mathematical units including Calculus, numerical linear algebra, scientific computing, probability and statistics etc.
You’ll be introduced to the basics of everything- computer technology is a wide and growing field- so you’ll be introduced to the mother(s) of all current programming languages- C, C++ and Java. If you’re doing IT, Visual Basic (got to make it soft for the er… I better not complete this). You’ll get to know networking concepts, hardware (switches, routers) and software(protocols). You’ll be given the basics in databases and you might be given an assignment in Ms Access (who uses that anymore?). No, you will not be taught Ms Word, try XYZetech College maybe.
After this, you will be given at least 3 hours per unit to do your lab work. For most students, they will take the time to look for the latest website that will allow them to bypass the proxy server so they can log onto Facebook. For a few, they will sit down and do some assignments. Some will Google, copy, paste and run the code.
Usually, university work is 90% theoretical. Assignments (if and when marked) carry only 10%. The continuous assessment tests (which you write on pen and paper) are about 20% of your final and the final written exam is 70%.
Should this system change? Should students learn more practical stuff so that they can be ready for the industry out there? Are there people who score highly in exams yet cannot do anything practical? What about modern technologies, should they be incorporated into the curriculum?
Incorporating modern technologies into the curriculum in university is like writing a book in Sheng. In a few years, it will be obsolete. So they syllabus should be based on the ‘science and mathematics’ behind computers, subject to regular revision, of course.
Should students learn more practical stuff? Yes. I would suggest the practical assignments be made to contribute at least 40% of the final score. Do away with CATs instead and let students do projects. Let them do their own research and develop a new method/application/anything useful.
Are there people who score highly in exams yet cannot do anything practical? Is the reverse possible?
Yes on both accounts. There are people who get first class honours degrees but cannot code and do not know how a crossover and straight through ethernet cable looks like except on paper. There are people that can code in languages like prolog but cannot hold pen and paper straight during exams.
Technology is a field of passion. If you do not have the passion for it, you’re in the wrong field! Unless you want to get stuck giving ‘user support’ to Ms Word users in government offices, I suggest you choose a different career path. If however, you are satisfied with working the phones at an ISP then go and do your Diploma in IT in peace
Does it have to be coding?
No. There are many computer-related jobs out there that do not require your coding. They however, need your brilliance, creativity and analytical skills. Database administrators, network specialists, software engineers (believe it or not, these guys are important), system analysts…. The choice is yours. Just because coding is not your first choice does not mean you suck at computer science!
Is Computer Science and IT the same thing?
It’s like saying Landscape Architecture and plain old Architecture are the same thing. Ask an Arch student in JKUAT and they’ll explain the difference to you. It’s like saying a Mercedes Benz and a Toyota are the same, iPhone 3Gs and IDEOS U8150 are the same thing. I could give you more examples but by now you get the difference. If you don’t you’re an IT graduate. IT graduates help users understand systems that computer science graduates develop. IT graduates install the OS, comp science graduates build the OS.
That’s not how it works in real life though! In the IT field, it’s a level playing ground. As I said, passion will get you anywhere.
So What About Me?
No, I am not totally clueless when it comes to coding. I understand all the intricate stuff. Trouble is, when in school, I did the minimum I needed to do to pass (okay, so I got all As in my math units). I mean I didn’t go the extra mile to learn stuff outside the coursework. I have a basic understanding of a number of languages but I am not a pro (for now) in any. I needed to find my niche. Will I specialize in network programming? Web programming? Mobile programming? Should I branch into networks? Databases? Security (na si G4S)?
Then this course chose me. I made a hurried application last minute and here I am!
I proved myself on paper when I got a first class honours degree. I did make a 2D game (desktop) for my final year project in Java and here, click to download and play it for yourself I hope you learn/remind yourself of some HIV/AIDS info from the background images.
It seems I am headed into the field of Mobile Programming (and telecoms in general) and this time, I go hard. Look out!