actually there are plenty of things that I wish should be included at university syllabus, but I am well aware that no degree will give you an exhaustive education in your field. A degree is meant to teach you the basics and equip you with skills so that you can learn the rest yourself. However, as I get more experienced and close to get BE digree, I find that I am increasingly frustrated about not having been exposed to these 2 things before ……..
I believe that any Computer Science degree can be made a lot more relevant simply by paying more attention to these points. I believe it would have given me some real world skills that I could have applied straight away, rather than having to scramble to learn everything I needed to know on the job. It would have made me better able to deal with the requirements of my work and would also have made me a better citizen of the IT community.
1. Open Source Development
I found that open source was never really taught. Some students found out on their own and got into it, but the majority didn’t find out at all. At no other time in their lives will students have as much time on their hands to get involved as they do at university; it could truly be a mutually beneficial relationship. Instead, a great opportunity is lost here both for the students and for the open source movement.
I believe most CS subjects should encourage students to either start their own open source projects or preferably participate in existing ones. It should be part of the curriculum and part of the grading process. Open source projects could gain valuable contributions, while students not only gain skills in a real-world setting, but also the use of tools, processes and valuable interpersonal skills that a simulated university environment just can’t provide.
2. Corporate Politics/Building Relationships
It may not seem so to most people, but I believe that this is by far the most important point where my CS works let me down. I put so much emphasis on technical subjects that you never get to find out how life really works in the corporate world. Of course this is the hardest to figure out on your own.
As a computer freak, you think technology is the most important thing in the world. So, when you find your feet in the corporate world it is a bit of a rude shock how everything seems so dysfunctional and moves at such a glacial pace, until that is you figure out that technology is not the most important thing at all and that corporate politics rules the coop.
Even in high technology companies, politics is king and the cornerstone of politics is relationships. The right relationships can let you get things done, and make your life a lot less difficult. However the concepts around politics and relationships are not well defined, there are no hard and fast rules, everything is very relative and fluffy. Of course for technically minded people this is the most frustrating thing in the world.
It doesn’t have to be like this though, just like everything else, politics and relationship building have basic principles that can be taught, so I fail to see why they are not. Had they been maybe industry wouldn’t crying out anywhere near as much for technical people with great interpersonal skills. Because it is not the interpersonal skills that the grads are lacking (there are plenty of CS ppls with great soft-skills), it is the ability to use these skills to effectively build relationships.