How to Save University CS Education?
I’ve been in schools for a long time.
Not that I like or enjoy it, but due to mandatory military service all Taiwanese males need to go, and an even greater distaste of spending 2 years in the military, I decided that school was still the better option. And stayed I did, until I could no longer stay!
I finally left school exactly 10 years ago in 2009, after spending 24 years in the school systems, both Taiwan and U.S. That gave me plenty of time to observe the schools, the good and bad.
While I do appreciate the protection and opportunities to meet people that schools have brought me, the classes themselves, especially the rigid undergrad curriculum, leaves not much to desire.
I did enjoy my elementary and graduate years, due to the freedom. Secondary school in the U.S. was also quite nice, when I was able to spend much time to explore. University however, were memories of tedious “professional” classes that I had little ideas what they were good for.
After finally leaving school and started a software company in 2011, and got hold of the “real world”, I found that indeed the majority of “professional” requirements in undergrad were pretty useless. They either teach things too academic to be useful, or outright irrelevant.
IT industry needs often require much less “knowledge”, but more hands-on experiences. Teamwork, fast learning, integration and application of techniques, out of box thinking, even social interactions, were all much more relevant and useful, than static knowledge or “programming assignments”.
I don’t know what the current state is like, though from what I hear from both students and employers, things do not appear to have gotten better. Students are still learning things they don’t know how to apply, while companies have the consensus that “re-training” is absolutely necessary.
My company Imonology has been polishing agile software tools and process over the last 9 years and we’ve now got a fairly efficient process using the 80/20 rule, and we see that what we have may be helpful to more people, particularly students or those who want to shift fields.
Here’s our proposal for an “Agile Boot Camp” that could run in 4~6 weeks, to get any prospecting learner a glimpse of what “industry work” is like and may integrate quickly into a professional software developer’s life:
1) 4-week online training
The learner would take a 4-week online training, with 4 weekly modules each teaching one core concept, with exercise afterwards. Each training is a pre-recorded video of 15–20 min in duration. There are only 4 modules per week so “implementation” catch-up days can be inserted in between.
2) community-based interactions
All learners would enroll in an online community such as a private Facebook Group, to share questions and discussions. Q&A may also be held either in the message group or via live sessions on a regular basis.
3) 2-week “industry challenge”
After the training, learners are encouraged to break into teams, to participate in a “challenge” where real world programming tasks are given by “Industry Partner” companies. The companies only need to provide the goals and feedback, while teams would choose which topics they’d like to solve.
The teams will perform daily “sync-up” and reporting that includes hours spent, tasks completed, and pending issues. They’ll also need to produce daily software deliverable to receive “client feedback,” provided by either the Industry Partner or a Teaching Assistant (TA) from our company.
At the end, there will be a “demo day” where all teams present their results to be judged by the Industry Partners, and also by the learners themselves via anonymous peer voting. Prizes may be sponsored by the Industry Partners.
What this might provide, is a fast way to enter and pick up the basic skills and also participate in real-world problem solving, so the learners can experience life of professional software developers within a short amount of time.
It would be a tri-win that: students learn skills and experiences; the industry partners get potential solutions to their problems and access to talents; while us as the matchmakers can find yet another useful application for our technology and process, while developing and finding future talents.
If you’re interested to learn more or join either as a “University Partner” with students to enroll, or as an “Industry Partner” to provide challenge topics and feedback, feel free to sign up for the pilot!