‘Nation at Risk’ is the name of the report that was made to reform the education in the US back in1980’s when their rank dropped from the world’s number one to number six, which meant they took this drop seriously and titled the report: ‘Nation at Risk’ just to show how serious they are about their education output!
Of course we, in Egypt, are not at risk at all, we already far beyond the risk.
—
My Humble opinion about the CS education in Egypt:
We don’t have CS education in Egypt at all to record my opinion about it. We have what we call CS schools or departments that get around 500 students per school per year. Here are my reasons:
- Comparing the quality of the average output to universities like India ITI (which is not a super-university in India), Tell-Aviv University (which is the third-ranked university in Israel), or any other ordinary university. I realized that the average output of the CS departments (private / public) in Egypt cannot be regarded as CS at all. People went to CS department and try to memorize the question answers to answer the exam without understand anything, so the average can’t think.
- The result of comparing the peaks of the same universities is better, if we normalized our peaks to 100%, their peaks are around 140% to 150%. But is our goal to become like the average universities above-mentioned?
- If we compare our peaks to the average output students of universities like Washington or NY (second tier universities), then their average is much better than our peak, of course we cannot compare our peak to their peak.
- In fact, our peaks have also serious problems such as: missing many of the basic CS principles, almost all of the students don’t work on any real-world or open-source projects. Almost all of them don’t interact with the latest technologies and research results, as an example: none of them knows what is MapReduce or Non-blocking I/O.
I know someone that has no idea what the Hash-Table is and her/him actually now works as a teaching assistant in one of the best private universities in Egypt. So you can imagine the defect that such person can make to the next generation of students. “The quality of our CS students is decreasing exponentially since 2002”, said an Egyptian researcher and lecturer.
Some people would argue: “In ACM Middle-East competitions and we always get the first or the second spot”, well, ACM Middle-East doesn’t include any countries that have “good” computer science education; the Middle-East doesn’t include Israel or South-Africa. It’s nice Africa and the Arabian countries!
Some people would argue: “Well, having good or comparable peaks is a good start” but the real question is: what is the peak percentage compared to the average of 500 students? It’s about 3% or less. The second problem with this is that most of the peaks leave Egypt within the first two years after their graduation, so we’re talking about 1.5%.
The end result is: a total of less than 50 people that can be regarded as CS graduates compared to other average universities.
Solve the problem of the peaks:
This is the easy part, the peaks (people who are willing to study and work hard and are in love with CS) have a great chance to improve their quality by first understanding that they -at this very moment- are not comparable to fresh graduates from Indian universities, nor Israel, Russian, Singaporean ones. Then:
- Forget about the university; rather watch Stanford, MIT, UC Berkeley, Cambridge, NPTEL classes.
- Implement everything you study; if you study the Garbage Collection, implement on in C++ - More importantly, and think of ways to improve this implementation and the idea.
- Watch meet-up and sessions videos like Google Tech Talks, Linked-In Tech Talks, Facebook Engineering, etc. to get the latest ideas, innovation and to know what you really missing.
- Join an open-source project and write the code there to get real-world experience.
- Scratch your mind with problems, and try to solve them, if you are already in ACM this enough. But remember: CS is not just about ACM or problem solving! There is plenty of other stuff, like: Design, Hardware, Communication, etc.
Solve the problem of the average:
If you don’t have what it takes to become a CS grad, or you are not interested enough, my advice is very simple: get out of this department/school/university!
Some ideas for CS students/instructors to improve the quality:
- Make it clear to your student; if you don’t like what do you study, don’t come to the university, the attendance is optional. Even the homework is optional. This will reduce the head count to improve the reception in any lecture.
- Teach the students how to think. Before you get into a new topic like teaching what the GC or the Bloom-Filter is, give them the problem that made the inventor come up with that thing and let them think about it in groups, and on the next day review and evaluate their solutions publicly during the lecture (maybe they could invent something new) Then start to describe whatever you want to tell them about.
- Motivate the student to form groups, to think and work together. Motivate them to work on open source projects; there are tons of world-class projects in every single domain you may think of. After a while (months or years) the instructor can evaluate they work and give them a challenge or a problem to solve, or a feature to add in that project so they can think about a solution and implement it in this project and communicate with other engineers around the world, then you evaluate their work (thinking, solutions, decisions and the implementation itself).
- Every group working on a specific open source project or have specific interest, can make a monthly talk (meet-up) so every group can learn from each other.
Add what you think in the comment, you can implement my ideas if you think they are useful, you can even customize them, or re-share – they are open source.
My Conclusion
Talking about entrepreneurship, R&D and innovation, don’t expect something in the ICQ, Foursquare scale/success, don’t expect to have a company that can build ARM processor or Photoshop-like software if we don’t have the kind of engineer that can build them in first place. We have to reduce the numbers of the CS grad NOW not later and to improve the quality exponentially, otherwise don’t expect that companies like Kngine and SilMinds to continue operating in Egypt.
Our Role:
Of course we have a role to improve the quality and we have to invest in this, while I ‘m thinking about new ways to do that, let me give you my experience as the CEO of Kngine:
- We had talks with people from Alexandria University and Cairo University about having interns from the CS department, and also to have summery sessions in Cairo University.
The result was most of the people who applied copied the screen exam answers from each other. So we aborted the whole program. Ironically, other companies have also reported the same. SHAME!
Now you have to help yourself, don’t expect others to help you. I don’t expect to have any interns at Kngine from Egyptian universities any soon.
إِنَّ اللَّهَ لا يُغَيِّرُ مَا بِقَوْمٍ حَتَّى يُغَيِّرُوا مَا بِأَنْ. … حتى يغيروا ما بأنفسهم
Until I come up with new ideas to help the community, you can suggest anything.
Sources:
To ensure that what I ‘m saying makes sense, I must mention how I came to the conclusion I ‘m writing in this article.
- I had a chance to be an advisor for 3 times to a few PhD and Master Students at India Mumbai University, ITI (India), and National University of Singapore, all of these universities are members of the top 200 universities.
- I had a chance to visit in person or virtually many local and international universities and research labs , including: Nile University, Cairo University, and Washington University, MIT, Cal-Tech, NY University, Stanford, Mumbai University and National University of Singapore
- I had a chance to interact and/or work with many fresh graduate and PhD students across the world through research projects, open source projects, technical meet-ups and publishing paper reviews @ ACM.