I am of the opinion that teaching a B.E or B.Tech Computer Science student subjects like Systems Analysis and Design, Software Engineering etc, i.e., those boring subjects of the 7th and 8th semesters, is usually pointless. The reason being that the student has absolutely no clue what the professor or lecturer is talking about. And in most cases, the teacher does not know what he/she is talking about either 🙂
I remember how I used to cram these subjects in College without any idea what I was trying to study. My aim was to score in the examinations and for that I had to cram and stuff my head with the material in my books, spew them out on the paper and go home with a ‘lighter’ head. Systems Analysis and Design, or S.A.D as we used to call it, was truly a SAD state of affairs. The class was taken by our Head of the Department (hereafter referred to as HOD) and this was the time to catch up on any pending sleep for most of us. This task would be done either by sleeping through the class or staying in the Hostel. Either way, we didn’t think we were missing much. In fact, the term Software Devlopment Lifecycle was always a huge mystery for me and I used to wonder why on earth any sane person wanted to learn such hideous stuff. We used to think that we ought to be given more exposure to actual programming languages, instead of making us create programs for a rising and setting sun, bouncing balls etc in Computer Graphics Lab.
But, then I entered the IT industry…and lo and behold! The Software Development cycle and the different types of lifecycle models took on a new significance to me. That is when I realised the true worth of the subject and how it should have really equipped the student for a job in the IT industry. For once, I looked on the Waterfall and Prototype models with fondness and could actually discourse on the subject in a meaningful form. All that, simply from practical exposure without opening a single textbook.
Undertaking a major Project in the final year of engineering is supposed to drill these abstract concepts into you – however, we have easy ways out here too. An older brother or sister may ‘help’ by lending his/her project and notes. Or there are institutions specialising in undertaking projects for students and giving them a finished product. Or even better, copy out a Senior’s project (preferably from another college) and present it during the Project seminar. All of these help the student achieve his /her target – to score marks in the Project. But does it serve the higher goal – that of turning out good Computer Engineers? Absolutely not!
A majority of Indian learning systems are by rote and none by exposure to the real world. There ought to be some kind of a check on this to prevent turning out students with a headful of bookish knowledge but can apply none of it in the real world. The Colleges themselves can take a step in the right direction by having tie-ups with companies, even small ones with projects. The students should be made a part of the project from inception to implementation, preferably as soon as the student enters the College.
This is a win-win situation for the Student, College as well as the Company. Since Engineering is for a duration of 4 yeas, the Companies have employees for these 4 years, who can be depended on to stay for those 4 years without resigning. Also they need not be paid. The student benefits from this exposure to corporate world, and is better able to grasp abstract concepts from his practical exposure. The College gets a reputation of turning out good students and professionals.
- About Computer Software Engineering (thinkup.waldenu.edu)
- Definition of a Computer Software Engineer (thinkup.waldenu.edu)