Hi,

I remember in the beginning when I'd dream of a changed me. Here's what I think: -

1. If you're giving basics of something, give it fully - and first understand it. How can you teach Java - advanced level if you started learning if you can't stand the experts? Teach basics fully - mention everything - u don't have to demonstrate, just mention the levels  - JEE, JSE, JME, JavaCard and make sure the concept is home. Mention IO, NIO & other concepts as applies to Java and give an idea of possibilities.

2. Yes, we're in a class calculating complex stuff - awesome. But can explain why and what the purpose is? Course outlines give a tiny idea of what the course covers, but add a few lines to say what possibilities are at the end.

3. Once in a while, take us to the real world - I mean, where application of what we're learning is a reality. And throw some practical problems for students to solve. We all knew of Bob and Alice - but that's it, any practical case? How about setup a network for us to try the tricks? Or better still, allow us to set it up.

In some other countries, high school students study in the morning and in the afternoon go to the industry for hands-on. Here, even research is a problem because it's like we learn to pass on knowledge - not to really use it. So 1+1 = 2 always, never wanting to wonder, why not 11?

I look forward to a better Curricula

On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com> wrote:


Bwana Phares,

Majibu yangu inline :

A Computer Science degree is supposed to prepare you for whichever field you choose to dive into... If you choose support, it should be able to assist, if you choose to specialize in networks, you should be able to have a firm base. Should you choose to go into mobile apps, it should assit, because if you really think about it, the fundamentals are largely the same.... 


This 'firm base of fundamentals' is ironically composed of elaborate examples drawn from the contemporary fields you have listed - or you would like them to be inferred from terse Mathematical formulae written in the alphabet of a strange tongue.
 
To use a more practical example, if you spent 3 months of your core curriculum in University learning about how to code for the Symbian platform, because it was the most widely used phone platform. Relevance, right? No basic concepts... Said semester would have been rather useless, given the movement to Microsoft last week... 

Wrong! You know very well that programming concepts borrowed from one platform can carry over seamlessly to another platform; A Symbian developer would fair better on WinMo than your average complete n00b.

Guys (the cs-theory purists that is), CS concepts do not exist in a vacuum. They were not conceived in a vacuum either. How then will we expect the current crop of scholars to come up with new concepts/ theory and ideas addressing contemporary problems if they are not exposed (in a raw way) to current technology ?

Or do we suppose that all the solutions for cs problems already exist and they were described long before us and all we need is to read the books more carefully .. blah blah .. and so we shouldnt 're-invent the wheel' ?

I would prefer that I was taught the technology first, then the theory, history etc later, to put all these things into perspective, otherwise the science could as well have been taught in a foreign language. In this regard, I have always held that CS students MUST go for their industrial attachments from as early as their first year. It even helps the young mind in self-discovery, which is more important than all these lofty concepts mentioned here.

_______________________________________________
Skunkworks mailing list
Skunkworks@lists.my.co.ke
http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks
------------
Skunkworks Rules
http://my.co.ke/phpbb/viewtopic.php?f=24&t=94
------------
Other services @ http://my.co.ke



--
Regards
Mike Muraguri
Software Engineer
Skype: mickie.mic
M: +254 - 722 - 799 445