Re: [Skunkworks] Computer Science Curriculum Development

I agree with almost everyone but that one for Peter...enyewe I am also a Computer Science graduate and I have no idea how to install Centos and that other software he talked about But I digress... Most of what we were taught or rather learnt in university has no real-life application, or rather, I can't relate how Compiler Theory and Discrete Math apply in an IT support job Maybe if I would have interacted with systems more or been encouraged to solve problems that don't involve definitions of terms and other such stuff, I'd have been more prepared to think on my feet and problem-solve As it is, it's taken me a year to fully grasp that solving problems involves troubleshooting and trial-and-error instead of being paralysed with fear that I'll crash the server if I enter one wrong command.

All in all, it might make no difference. Its usual to find computer scientist working as cashiers, sales and marketing agents and the like. In short, tuko down tena sana. On Tue, Feb 22, 2011 at 9:24 AM, <sheeroh@gmail.com> wrote:
I agree with almost everyone but that one for Peter...enyewe I am also a Computer Science graduate and I have no idea how to install Centos and that other software he talked about But I digress... Most of what we were taught or rather learnt in university has no real-life application, or rather, I can't relate how Compiler Theory and Discrete Math apply in an IT support job Maybe if I would have interacted with systems more or been encouraged to solve problems that don't involve definitions of terms and other such stuff, I'd have been more prepared to think on my feet and problem-solve As it is, it's taken me a year to fully grasp that solving problems involves troubleshooting and trial-and-error instead of being paralysed with fear that I'll crash the server if I enter one wrong command. _______________________________________________ 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
-- Solomon Kariri, Software Developer, Cell: +254736 729 450 Skype: solomonkariri

being down depends on whether u want to achieve or not i.e a u making a career out of comp sci or u want to be a cashier ta bottom line lies on our own initiative if you want to b down utakuwa tena sana On 2/22/11, solomon kariri <solomonkariri@gmail.com> wrote:
All in all, it might make no difference. Its usual to find computer scientist working as cashiers, sales and marketing agents and the like. In short, tuko down tena sana.
On Tue, Feb 22, 2011 at 9:24 AM, <sheeroh@gmail.com> wrote:
I agree with almost everyone but that one for Peter...enyewe I am also a Computer Science graduate and I have no idea how to install Centos and that other software he talked about But I digress... Most of what we were taught or rather learnt in university has no real-life application, or rather, I can't relate how Compiler Theory and Discrete Math apply in an IT support job Maybe if I would have interacted with systems more or been encouraged to solve problems that don't involve definitions of terms and other such stuff, I'd have been more prepared to think on my feet and problem-solve As it is, it's taken me a year to fully grasp that solving problems involves troubleshooting and trial-and-error instead of being paralysed with fear that I'll crash the server if I enter one wrong command. _______________________________________________ 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
-- Solomon Kariri,
Software Developer, Cell: +254736 729 450 Skype: solomonkariri
-- Regards Mabeya Seme Conseray +254 724 204 543

I am amazed at some of the sentiments on this thread. 1. It is not the University's job to teach you how to install CentOS! 2. It is not the University's work to teach you Android 3. It is not the University's work to teach yo Ruby/Python/Java/C++ etc The university's work is to teach you *CONCEPTS*. It is up to you to figure out how to apply them. Granted the University should do some more to help in this regard. There i agree. I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students! In fact Universities that teach *LANGUAGES* are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list. A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him. As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that? Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals. One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units. Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts. If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching.

I was just about to bash all those comments about Installing CentOS, Android etc and how they have nothing to do with a curriculum development but Conrad beat me to it. I share his sentiments. The university is supposed to teach you concepts that you need to apply in real life scenarios, it cannot teach you to think, for example you are taught "Operating Systems" in computer science, do you seriously want them to go into specifics and teach you CentOS and how to install it? you can Google that stuff up! On 22 February 2011 10:04, Rad! <conradakunga@gmail.com> wrote:
I am amazed at some of the sentiments on this thread.
1. It is not the University's job to teach you how to install CentOS! 2. It is not the University's work to teach you Android 3. It is not the University's work to teach yo Ruby/Python/Java/C++ etc
The university's work is to teach you *CONCEPTS*. It is up to you to figure out how to apply them.
Granted the University should do some more to help in this regard. There i agree.
I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't
Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students!
In fact Universities that teach *LANGUAGES* are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list.
A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him.
As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that?
Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics
So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list
They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals.
One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units.
Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts.
If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching.
_______________________________________________ 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, David Njuki @njukey [Google,Twitter,Yahoo]

On Tue, Feb 22, 2011 at 10:04 AM, Rad! <conradakunga@gmail.com> wrote:
I am amazed at some of the sentiments on this thread.
1. It is not the University's job to teach you how to install CentOS! 2. It is not the University's work to teach you Android 3. It is not the University's work to teach yo Ruby/Python/Java/C++ etc
The university's work is to teach you *CONCEPTS*. It is up to you to figure out how to apply them.
Granted the University should do some more to help in this regard. There i agree.
I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't
Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students!
In fact Universities that teach *LANGUAGES* are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list.
A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him.
As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that?
Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics
So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list
They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals.
One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units.
Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts.
If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching.
I could not agree more. The application of technology is constantly changing, one cannot afford to limit themselves to particular 'technologies'. Which is why I tend to have a fundamental problem with 'Vendor Certifications'. Cisco is not always the best platform for building a network, but because everyone has a CCNA locally, we all default to it. No one really teaches core networking concepts. 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.... 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... With Regards, Phares Kariuki | T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |

Data retrieval (read: googling/ binging) skills should be also included most things can be easily looked up nowadays. On Tue, Feb 22, 2011 at 10:19 AM, Phares Kariuki <pkariuki@gmail.com> wrote:
On Tue, Feb 22, 2011 at 10:04 AM, Rad! <conradakunga@gmail.com> wrote:
I am amazed at some of the sentiments on this thread.
1. It is not the University's job to teach you how to install CentOS! 2. It is not the University's work to teach you Android 3. It is not the University's work to teach yo Ruby/Python/Java/C++ etc
The university's work is to teach you *CONCEPTS*. It is up to you to figure out how to apply them.
Granted the University should do some more to help in this regard. There i agree.
I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't
Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students!
In fact Universities that teach *LANGUAGES* are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list.
A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him.
As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that?
Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics
So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list
They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals.
One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units.
Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts.
If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching.
I could not agree more. The application of technology is constantly changing, one cannot afford to limit themselves to particular 'technologies'. Which is why I tend to have a fundamental problem with 'Vendor Certifications'. Cisco is not always the best platform for building a network, but because everyone has a CCNA locally, we all default to it. No one really teaches core networking concepts.
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....
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...
With Regards,
Phares Kariuki
| T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |
_______________________________________________ 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

I'll repeat it here again for all as Conrad said - university is simply supposed to show you how to identify the various opportunities available for you to exploit. What's in the curriculum is more of a broad spectrum education - if you want to specialize it's up to you have the initiative to follow up. I remember my JKUAT PHP classes were really shallow - merely the basics - but that piqued my curiosity to get the resources from the net and increase my knowledge to create applications which I use in my business to this day. That's just one example. You cannot survive out here without self-drive.

As such. maybe we should include - basics, conecpts and fundamentals of 5th generation programming langauges(elective) - basics, conecpts and fundamentals of 4th generation programming langauges(core) - basics, conecpts and fundamentals of 3rd generation programming langauges (core) - introduction to 2nd generation programming languages (probably elective) The above should cover the concepts , general structure and key characteristics of the group, not of a language - Networking concepts - social graphs - project management - economics (making money from IT, how to bill)

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.

Its as simple as teach the students how to fish. Practically, 90% of what I do is either googled or assistance from colleagues. This does not mean that the University degree I acquired is useless. On the contrary, it laid the cornerstones such that I now know where to get info when I need it. Otherwise I would be stuck to sayings like, "This teacher did not teach us arrays". Lecturers are not meant to teach you how to make a ship, they should just tell you a ship floats and from there, build on the concept and move further to create a ship that floats as well as one that glides in air. /*Bonz* 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

On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com> wrote:
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.
Ideally, they should be based on what's on the market... Ideally... .
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.
This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do.
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.
My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful... Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product... -- With Regards, Phares Kariuki | T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |

entrepreneurship and business skills....we have people with amazing skill but no clue at all on what business is...and by that i mean Topics: Business registration patenting ideas - where to go..requirements Selling ideas - e.g avoid queen bee etc On Tue, Feb 22, 2011 at 11:08 AM, Phares Kariuki <pkariuki@gmail.com> wrote:
On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com> wrote:
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.
Ideally, they should be based on what's on the market... Ideally... .
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.
This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do.
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.
My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful...
Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product...
-- With Regards,
Phares Kariuki
| T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |
_______________________________________________ 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

Eric, People are wired differently, some don't think like entrepreneurs at all, they love the tech stuff or the other stuff whilst some see an opportunity in everything. But I agree that the topics u mentioned above need to be added in our curricula. take a look at this: http://theoriginalwinger.com/2010-03-24-russian-math-genius-solves-100-year-... On Tue, Feb 22, 2011 at 11:21 AM, Eric Mugo <kabugum@gmail.com> wrote:
entrepreneurship and business skills....we have people with amazing skill but no clue at all on what business is...and by that i mean
Topics: Business registration patenting ideas - where to go..requirements Selling ideas - e.g avoid queen bee
etc
On Tue, Feb 22, 2011 at 11:08 AM, Phares Kariuki <pkariuki@gmail.com> wrote:
On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com> wrote:
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.
Ideally, they should be based on what's on the market... Ideally... .
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.
This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do.
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.
My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful... Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product...
-- With Regards,
Phares Kariuki
| T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |
_______________________________________________ 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
_______________________________________________ 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

Its Computer SCIENCE for heavens sake, what does science mean? On Tue, Feb 22, 2011 at 11:42 AM, Anthony Lenya <tlensya@gmail.com> wrote:
Eric,
People are wired differently, some don't think like entrepreneurs at all, they love the tech stuff or the other stuff whilst some see an opportunity in everything. But I agree that the topics u mentioned above need to be added in our curricula.
take a look at this:
http://theoriginalwinger.com/2010-03-24-russian-math-genius-solves-100-year-...
On Tue, Feb 22, 2011 at 11:21 AM, Eric Mugo <kabugum@gmail.com> wrote:
entrepreneurship and business skills....we have people with amazing skill but no clue at all on what business is...and by that i mean
Topics: Business registration patenting ideas - where to go..requirements Selling ideas - e.g avoid queen bee
etc
On Tue, Feb 22, 2011 at 11:08 AM, Phares Kariuki <pkariuki@gmail.com> wrote:
On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com>
wrote:
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.
Ideally, they should be based on what's on the market... Ideally... .
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.
This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do.
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.
My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful... Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product...
-- With Regards,
Phares Kariuki
| T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |
_______________________________________________ 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
_______________________________________________ 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
_______________________________________________ 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
-- Solomon Kariri, Software Developer, Cell: +254736 729 450 Skype: solomonkariri

Why not google somethings? On Tue, Feb 22, 2011 at 11:53 AM, solomon kariri <solomonkariri@gmail.com>wrote:
Its Computer SCIENCE for heavens sake, what does science mean?
On Tue, Feb 22, 2011 at 11:42 AM, Anthony Lenya <tlensya@gmail.com> wrote:
Eric,
People are wired differently, some don't think like entrepreneurs at all, they love the tech stuff or the other stuff whilst some see an opportunity in everything. But I agree that the topics u mentioned above need to be added in our curricula.
take a look at this:
http://theoriginalwinger.com/2010-03-24-russian-math-genius-solves-100-year-...
On Tue, Feb 22, 2011 at 11:21 AM, Eric Mugo <kabugum@gmail.com> wrote:
entrepreneurship and business skills....we have people with amazing skill but no clue at all on what business is...and by that i mean
Topics: Business registration patenting ideas - where to go..requirements Selling ideas - e.g avoid queen bee
etc
On Tue, Feb 22, 2011 at 11:08 AM, Phares Kariuki <pkariuki@gmail.com> wrote:
On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com>
wrote:
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.
Ideally, they should be based on what's on the market... Ideally... .
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.
This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do.
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.
My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful... Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product...
-- With Regards,
Phares Kariuki
| T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |
_______________________________________________ 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
_______________________________________________ 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
_______________________________________________ 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
-- Solomon Kariri,
Software Developer, Cell: +254736 729 450 Skype: solomonkariri
_______________________________________________ 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

These subjects below should be basic for all Uni students and not necessarily CS student. Strange as it seems it's the soft skills lacking in most graduates that make self development a challenge for many. Most developed value is greed and the desire to be better(read make more money) than other ..... which may not necessarily be a bad driver but is a bad value if it's all you've got. Kind regards, Paul Mwachi -- iSys * Cape Office Park * Kilimani Ring Road * P O Box 17726 - 00100, Nairobi Kenya T (Off) +254 202 425 031 (Cell) +254 722 320187 E: paul@isys.co.ke * www.isys.co.ke Top Tier Software Developers - The Effective Process - Your Organization From: skunkworks-bounces@lists.my.co.ke [mailto:skunkworks-bounces@lists.my.co.ke] On Behalf Of Eric Mugo Sent: Tuesday, February 22, 2011 11:22 AM To: Skunkworks Mailing List Subject: Re: [Skunkworks] Computer Science Curriculum Development entrepreneurship and business skills....we have people with amazing skill but no clue at all on what business is...and by that i mean Topics: Business registration patenting ideas - where to go..requirements Selling ideas - e.g avoid queen bee etc On Tue, Feb 22, 2011 at 11:08 AM, Phares Kariuki <pkariuki@gmail.com<mailto:pkariuki@gmail.com>> wrote: On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com<mailto:ndungi@gmail.com>> wrote: 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. Ideally, they should be based on what's on the market... Ideally... . 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. This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do. 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. My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful... Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product... -- With Regards, Phares Kariuki | T: +254 734 810 802 | E: pkariuki@gmail.com<mailto:pkariuki@gmail.com> | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ | _______________________________________________ Skunkworks mailing list Skunkworks@lists.my.co.ke<mailto:Skunkworks@lists.my.co.ke> http://orion.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

Go through the following interesting article I came across some time back on the state of CS education and its perceived crisis. Got a number of interesting points to ponder. On Tue, Feb 22, 2011 at 11:08 AM, Phares Kariuki <pkariuki@gmail.com> wrote:
On Tue, Feb 22, 2011 at 10:52 AM, Ndungi Kyalo <ndungi@gmail.com> wrote:
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.
Ideally, they should be based on what's on the market... Ideally... .
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.
This proves my point, actually... If you think about it, you are talking about a student who graduated from University, and is unable to Google to figure out how to do a server installation... These are the same student's who get confused because they 'learnt to code in VB' and they have no wizard when they jump to PHP... The problem is that the student leaves campus *unable* to transfer the thinking across to another platform and hence thinks that the platform they learnt is the nirvana of platforms... Think about it, we tell students to learn 'Oracle' to make money, while in actual fact we should be preparing them for a career as a DBA, regardless of profession. I had a chat a couple of weeks back with a student who wanted to do Oracle "because it has money", but really did not know "what Oracle" he wanted to do.
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.
My problem with teaching the technology is that it changes. Give the students a platform that they can build upon. e.g. A unit in embedded systems will cover most new age devices, from the router to media players... that's a good fundamental. Teaching someone about the iPod, may not be as useful...
Think about it... Most 'market technologies' have certification paths outside of University, Cisco, EMC, HP, Microsoft, Oracle etc etc. You can get certified in. Without any pre-requisites. I'm yet to come across someone teaching fundamentals of networking/programming in any of these training centers. This is information you can get primarily in institutes of higher learning, where the objective is to give you a firm and wide base, not to get you certified in a particular product...
-- With Regards,
Phares Kariuki
| T: +254 734 810 802 | E: pkariuki@gmail.com | Twitter: kaboro | Skype: kariukiphares | B: http://www.kaboro.com/ |
_______________________________________________ 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

I agree with Michael, I think the hardest part for me was understanding 'WHY' I was learning what I was learning, the topics, the units, everything It would help for the lecturers to outline the real-world application of the topics we learn I find it interesting that most people commented on this thread after Conrad, a bit of hind-sight bias don't you think? I'm curious to know what expectations Comp-Sci graduates in this thread had when going into university and if they were met by the time they graduated, not blaming lecturers per se but in regards to the system and syllabus

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

I couldn't agree more... Just what I was saying... the two kinds of students in uni. One depends on being spoon fed by lecturers, and the other one takes what is taught as some kind of raw material, processes it and comes up with a way of thinking. No one can teach you how to think in a certain way. But you can learn that from what you already know. This is what I meant by going to uni to learn, not to be taught. I think what is needed is more research, faculty that is committed to acquire knowledge and share it with students, rather that lift words from a book and drop them into students' ears. I think the faculty also has a problem. The criteria used to hire lecturers could be flawed too. They hire teachers, rather than university dons and I guess that culture of being complacent somehow trickles down to the students. Keep them points coming :) On 22 February 2011 10:04, Rad! <conradakunga@gmail.com> wrote:
I am amazed at some of the sentiments on this thread.
1. It is not the University's job to teach you how to install CentOS! 2. It is not the University's work to teach you Android 3. It is not the University's work to teach yo Ruby/Python/Java/C++ etc
The university's work is to teach you *CONCEPTS*. It is up to you to figure out how to apply them.
Granted the University should do some more to help in this regard. There i agree.
I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't
Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students!
In fact Universities that teach *LANGUAGES* are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list.
A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him.
As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that?
Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics
So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list
They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals.
One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units.
Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts.
If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching.
_______________________________________________ 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

Simon you got it BANG ON! If I can borrow from the swalihi saying, 'u can take a cow to drink but whether it drinks or not is upto the cow'. Scientific principles/rules change very little if at all. But the applications truly do change a lot. Its up to the student to figure out why some things are the way they are and I am sure most Universities have very good libraries and materials to help in this. In a nutshell if u get what u want out of Uni. me. On Tue, Feb 22, 2011 at 10:51 AM, Simon Mbuthia <simon.mbuthia@gmail.com> wrote:
I couldn't agree more... Just what I was saying... the two kinds of students in uni. One depends on being spoon fed by lecturers, and the other one takes what is taught as some kind of raw material, processes it and comes up with a way of thinking. No one can teach you how to think in a certain way. But you can learn that from what you already know. This is what I meant by going to uni to learn, not to be taught. I think what is needed is more research, faculty that is committed to acquire knowledge and share it with students, rather that lift words from a book and drop them into students' ears. I think the faculty also has a problem. The criteria used to hire lecturers could be flawed too. They hire teachers, rather than university dons and I guess that culture of being complacent somehow trickles down to the students. Keep them points coming :) On 22 February 2011 10:04, Rad! <conradakunga@gmail.com> wrote:
I am amazed at some of the sentiments on this thread.
It is not the University's job to teach you how to install CentOS! It is not the University's work to teach you Android It is not the University's work to teach yo Ruby/Python/Java/C++ etc
The university's work is to teach you CONCEPTS. It is up to you to figure out how to apply them. Granted the University should do some more to help in this regard. There i agree. I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students! In fact Universities that teach LANGUAGES are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list. A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him. As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that? Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals. One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units. Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts. If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching. _______________________________________________ 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
_______________________________________________ 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

Is it possible to Frame this response and send it to all Uni's to hang in the CS classes. As a non-techie employer... I have been amazed at the number of times I have had to question interview candidates' approach to real world business challenges requiring software solutions. So instead of me ranting here ... may I suggest again that we FRAME this response and share share share coz I couldn't have put it any better than RAD! Did. My expensive 2 cents ;-) Kind regards, Paul Mwachi -- iSys * Cape Office Park * Kilimani Ring Road * P O Box 17726 - 00100, Nairobi Kenya T (Off) +254 202 425 031 (Cell) +254 722 320187 E: paul@isys.co.ke * www.isys.co.ke Top Tier Software Developers - The Effective Process - Your Organization From: skunkworks-bounces@lists.my.co.ke [mailto:skunkworks-bounces@lists.my.co.ke] On Behalf Of Rad! Sent: Tuesday, February 22, 2011 10:04 AM To: Skunkworks Mailing List Subject: Re: [Skunkworks] Computer Science Curriculum Development I am amazed at some of the sentiments on this thread. 1. It is not the University's job to teach you how to install CentOS! 2. It is not the University's work to teach you Android 3. It is not the University's work to teach yo Ruby/Python/Java/C++ etc The university's work is to teach you CONCEPTS. It is up to you to figure out how to apply them. Granted the University should do some more to help in this regard. There i agree. I also find it presumptuous to say lecturers are incompetent and don't know the latest technologies. The latter may be true but the former? Justify that. Lecturers don't have to know about Davlik and Reactive Framework. It would help them be better lectureres if they did, but it does't make them incompetent if they don't Engineering students are not taught how to build Mitsubishi or BMW engines. they are taught how to build internal combustion engines. Application of the same is up to the students! In fact Universities that teach LANGUAGES are the ones contributing to the half baked graduates (not the graduate's fault!) that join the workplace each year. A good symptom is all those nonsense arguments about programming languages that pepper this list. A serious however who knows the fundamentals -- data structures, algorithms, O notation, program flow etc however will not have any problem learning new languages as the job suits him. As for that person wondering how useful compiler theory is -- well, compiler theory is what enables innovations like GWT and Android to work -- writing in one language and getting it compiled into a second language that gets executed/interpreted or even compiled into a third language. How useful is it to IT support? Very. Do you process a lot of text files? Then you will need to know how to use regular expressions. Guess what underpins that? Discrete mathematics? Rather than write an essay here, read for yourself the applications http://en.wikipedia.org/wiki/Discrete_mathematics So to recap -- I completely disagree it is the university's work to teach you the latest shiny technologies. I'm tired of being saddened interviewing graduates who throw programming languages in my face but don't know the difference between a queue and a list They can however help in this regard. Perhaps a partnership with industry such that some of the fourth year courses are taught by industry professionals. Or perhaps in the fourth year the university can send lecturers for training in some of the latest industry developments and teach that to students to SUPPLEMENT their understanding of the fundamentals. One thing that can be done immediately is make industrial attachment part of the core syllabus and have it weighted the equivalent of one semester of units. Also, i agree with the sentiments that the teaching is not always done in a context sensitive fashion. You are taught a concept but not its practical application. This makes it that much harder to grasp the concept. Lecturers should be a bit more creative to get students to appreciate the concepts. If there is any university ambitious enough, I would like to dare them to pair teaching mathematics (calculus & algebra) with programming as an aid to teaching.
participants (18)
-
Anthony Lenya
-
Boniface
-
David Njuki
-
Dennis Kioko
-
Eric Mugo
-
Haggai Nyang
-
mabeya conseray
-
Michael Muraguri
-
Muoki Maingi
-
Ndungi Kyalo
-
Norman Boinett
-
Paul Kevin
-
Paul Mwachi
-
Phares Kariuki
-
Rad!
-
sheeroh@gmail.com
-
Simon Mbuthia
-
solomon kariri