Wednesday, August 31, 2005

So, what _should_ you learn in your undergraduate course?

I am working on a Unix course for undergraduate students, sponsored by the company I work for. To aid us in deciding what to teach, we were given the syllabus for the students, from the 3rd to the 8th semester. Reading it raised the obvious question: "What should you (a student) learn in your undergraduate Computer Science and Engg. course?" Infact, I'll ask a more basic question - what should be the goal of your undergraduate education?

Surely, the undergraduate course is but an introduction to your desired field. No one expects a person to be an expert in the field after an undergraduate degree. That said, you are expected to know stuff. Here is my list of what an undergraduate degree should accomplish:

- Enough knowledge of the field.
- Enough English/Language skills to be able to write about what you know
- Enough practical experience...if your 'Major' was Computer Science - you should be able to program. If it was Electrical Engg, you should be comfortable with opening up 3-phase motors. If it was Mechanical Engg, you should be able to tear down an automobile, if not put it back together :) .
- Some ability at feasibility analysis...if you are a Political science student, you should be able to recognize that communism is unfeasible ;)
- If you're in the technical field, Math. Probably the most invaluable tool this side of the border
- If you are in browner pastures (viz the Arts), Language.

Any you want to add? Feel free to use the comments link right below. Hopefully, I'll get around to posting an answer to "What you need to get out of your computer science degree?" soon.


NGM said...

Hello Gopal,

i would like to add one more thing to list:

- Little bit of management and Business,

We had an elective 'Management in Engineering', even though it had more of mechanical indsutry perspective, it did help us a bit in knowing how businesses function.

It will be good to know why you wont possibly ever get to work on building a new operating system.

H said...

Nice to know that you are working on the Unix course.

The goal of Undergrad education should be a broad overview of all the areas in the selected field.

There should be some core subjects which should be studied to graduate in a particular field, and the rest should be electives.

On an unrelated note:-

I'm not happy with the current structuring of the VTU, with emphasis only on Engineering.
A CS student will have lots to learn from say Philosophy. A student studying Psychology can be more creative on UI design than a CS major.

Anonymous said...


I don't know...for me, the important thing is that people know the basics very very well. And for CS students, management may just be a minor at best...I've seen that VTU has courses like that and I am not sure how much they help - what is your opinion? Was the course really good?

Again, I am not sure on the philosophy front...maybe it should be optional, and a prereq for courses like HCI.


NGM said...

Gopal I agree with you that the entire subject cover to cover may not be useful (but this the same with other subjects as well)

But bits of the subject like management are infact helpful. For example we learnt that there are things like performance appriasls even before joining a company. So the subject gave a fair idea about what to expect in a job