I have been thinking about this idea for a while, and wanted to write down my thoughts.
One way that Bangladesh can attain higher success in IT is to achieve excellence in smaller sub-areas of IT. Currently the IT industry in Bangladesh is trying to do too many things with too few skilled people. If we want to achieve success on a broad front of IT, we need tens of thousands of quality IT graduates every year. This is not realistic.
Therefore, we need to pick our battles carefully. Our kids are very intelligent. If we can focus them more in one or two areas, we can establish Bangladesh as a dominant player in certain subareas of IT.
For example, certain Eastern European countries are well-known as developers of Software Tools such as compilers, debuggers etc. The Philippines has established a reputation in animation. Many ATM-banking software packages come from Russian companies. Certain parts of Canada are well known for digital video expertise. And so on.
Once we establish technical excellence in an area, this will lead to more people being trained in this area and one hopes the critical mass needed for take-off will be created.
What Will it do?
In each Center of Excellence, a number of students (15? 20?)will work with academic and industry people and build software of industrial quality. They will learn to work as teams, use the tools and technologies needed, and under the guidance of a project lead, execute a project. Once the software is done it will be distributed as open-source software.
Why Will it Work?
The emergence of open source software is one of the biggest reasons why CoE will work. This kind of software gives a head-start to anyone wanting to build a software project in many areas.
Another reason why it will work is that many bright young students are eager to sink their teeth into knotty, cutting-edge problems. Many CS/CSE students graduate without having built any real-world software because they were so busy learning the fundamentals. They are very eager to learn how to build "real" software.
Finally it will work because it will improve the employment prospects of the students.
Who Will Fund it?
Such a Center will need to be heavily subsidized, with the understanding that perhaps, after 3 or more years, some revenue-generating work may be created. However, that should not be the goal of the CoE.
We cannot expect the students to pay high tuitions, although some fees must be charged so that students feel compelled to attend to get their money's worth.
What are the Subareas?
Obviously the subareas must improve the employment prospects of the students. At the same time, they must be technically challenging. And they must be growth areas, globally.
Some possible areas are: Web 2.0 technologies, animation, database tuning, GIS, etc.
Is a CoE the Same as a "S/W Finishing School?"
Not really. The difference is in the focus. While both want to make software engineers out of CS/CSE graduates, a CoE also wants to build up a critical mass of skills in a certain technological area so we can compete with the rest of the world in that area.
Who Will Run it?
A CoE must be run jointly by one or more universities and the IT industry. The former will contribute ideas, students, and skilled resources. The latter will contribute engineering discipline, solving tough engineering problems, and mentoring. Management can be done jointly.