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.