When I was in high school one of my math teachers took it upon himself to teach a few students about computer programming. It wasn’t a real class it was just something he put together during our free period. Instead of attending study hall we’d go to this computer programming class. Basically other students in the school called the few of us taking the class the “Star Trek” club. Honestly I didn’t watch Star Trek and never have. It just never interested me. I know that I just lost thousands of geek points by stating I am not a Star Trek fan publicly but when you grow up on a small farm in Mississippi things need fed, watered, and slopped. Coming home from school and sitting down to vegetate to watch TV wasn’t in the cards of our household. Anyway, I digress. Even though Mr. Foley didn’t have a lot of support from the school in putting together this class, it was the one thing that really got me hooked on computers. Mr. Foley was only one man though. It takes a much larger effort to get students interested in technology. To hook the next generation of students on programming Bill Gates recently announced DreamSpark. It is a new project that will provide thousands of dollars of free software to students. Students like me who didn’t have access to the tools companies were using while they learned can now install and leverage the same products for free. As an educator I’m really excited to see this announcement. Here are some thoughts as to why I think this is important and what should spark within the community.
What is DreamSpark?
DreamSpark is simple, it’s all about giving students Microsoft professional-level developer and design tools at no charge so you can chase your dreams and create the next big breakthrough in technology – or just get a head start on your career.
DreamSpark makes the following software available to students who register on the site. The program is available in 11 countries giving millions of students access to professional developer tools.
All a student needs is a computer to get started. They can load Windows Server 2003 onto the machine along with Visual Studio 2008, SQL Server 2005 and Expression Studio and have the same tools we are using today in enterprises across America. If the student wants to build games for Windows or the XBox then they can install XNA Game Studio. The amount of things that can be built with these technologies is amazing, especially when you think about WPF Windows Applications and Silverlight.
Ok students, Bill has done his part to give you the software. What are you going to do with it now? Someone has to replace a lot of the Elder generation as we age. Even right now there is a huge demand for developers that know these technologies. Here are some numbers from the popular online job engines.
Searching for .Net
- Dice.Com – 11,131 jobs available
- Monster.Com – Over 5,000 (max return value)
- CareerBuilder.Com – 3,376
Searching for SQL Server
- Dice.Com – 14,588
- Monster.Com – Over 5,000 (max return value)
- CareerBuilder.Com – 8357
Searching for Windows
- Dice.Com – 15,480
- Monster.Com – Over 5,000 (max return value)
- CareerBuilder.Com – 16,933
Positives About DreamSpark
I Couldn’t Even Buy A Vowel
As I said earlier, the DreamSpark program is a great idea I just wish it was around when I was younger. When I was in college I was still doing off to the side programming while pursuing my music degree. I knew there were tools, IDEs, databases and other things that people in large companies used but I was broke. I was financially embarrassed as my father used to say. I was so broke I couldn’t even afford to buy a vowel on Wheel of Fortune. The only option I really had was to learn open source tools. Back then the open source tools were, well, hard. There weren’t web pages full of documentation, books, and fancy editors. You basically first had to learn the VI editor and then try to dig through the man pages and the source code. To say the experience was painful would honestly be an understatement. It was slow going. The sad fact today is that a lot of students are in the same boat I was back then. DreamSpark fills this gap and puts the latest technology in the student’s reach. This is wonderful, I can’t express that enough.
Challenges DreamSpark Faces
It is important that students be offered the opportunity to learn the tools we are using today but the sad fact is only a few will take advantage of it without the community getting in behind this effort. If 1% of the students downloaded these tools, I would consider that a success. A perfect benchmark to go against is every student enrolled in a Computer Science program and every student in high school taking computer programing. If 100% of those students download and use the software then that is a perfect world.
In order to achieve this goal, it is going to take a lot of effort from those of us in the community. The following is an open letter to Microsoft, the community and educators who can effect change and help create the next generation of programmers.
Give It Away And They’ll Come
The first thing we must overcome is thinking free equals a lot of use. Some have heard the line before “Build it, and they will come.”. The reality is just because something is free doesn’t mean anyone will use it. If this were the case, we wouldn’t need ads, marketing departments, or ad agencies. This is the first thing we need to do, spread the word.
Ask yourself this question. How many students will seriously go download this software? How many of them will actually learn about it? There are numbers in the industry I’ve heard repeated of the 5% geek rule. The premise is take 100 computer science students and only 5% of them are truly dedicated to their profession. This top 5% are the ones that will more than likely take advantage of DreamSpark, the rest will never know.
We (Microsoft, the community, and educators) need to make a concerted effort to spread the word about DreamSpark. We need to establish DreamSpark Day events at schools and Universities in our local areas and get this information out. By information I am not just talking about the bits, that isn’t enough.
How Long Will It Take?
Here is a pondering question. How long will it take the education institutions to realize they have thousands of dollars of software available they can build an entire curriculum around? Unless a concerted effort is made the answer is years. Why? Well for starters very few of the professors know the technology. Sad but true. When I say “few”, I mean a very small percent.
There are a few professors out there that are teaching .Net. Those educators should have no problem, but the majority of professors I’ve encountered love to tell you how their first computer was the size of a house and how they punched cards to program it. What really saddens me is the “dinosaur” professors as I like to call them are still doing things the way they have for years. Thankfully this isn’t every professor out there, but there are professors at colleges that still rest on their laurels and just learn enough to teach out of a book. The majority of these professors have no real world experience in technology except in academia because they have spent their entire lives in academia. I know these types of professors exist because I had several of these “dinosaur” teachers in college. I used to call them the “Punchcardasaurus”.
“Punchcardasaurus – A professor who loves to tell you about the stone age of computers but doesn’t know anything about today’s current technology.”
I can’t begin to tell you how much of a waste of time it is for someone like myself to have to sit through a lecture from a Punchcardasaurus only to correct him or her about how the Internet really works and the Mosaic browser is not really the Internet (true story). I’m starting to digress but hopefully the point is driven home. A concerted effort needs to be made at the institutions of learning.
Educational Institutions Already Have Free Software – Open Source
I firmly believe that higher educational institutions should focus more of their efforts putting students in a position to get a job and succeed. Sadly the curriculum of colleges don’t. Someone graduating from college today should have experience with all sorts of technologies and languages. Colleges that just teach C++ are doing their students a grave injustice. Students should learn C, C++, C#, Obj-C, Java, and a variety of other languages including dynamic languages. Each of these should expose students to the various types of platforms such as Windows, Unix and OS X.
The majority of colleges use a lot of open source software to teach their students today because, well, the software doesn’t cost the college nor the students anything. If a college is just focusing on open source software, they are really doing their students a major disservice. Students should be educated on both sides of the fence and taught multiple platforms. In the end it is the students who should decide which platform they feel will be the most valuable to their career or interest, not the educational institution. The more this is done, the more the students know and the better chance they have at getting a job. DreamSpark of course helps to fight the cost factor argument with open source software but it is going to take time for the value to sink in. Especially in institutions where open source software has a very strong hold with a lot of zealots to play devils advocate. Yes, these zealots exist, to ignore this fact would not prove wise.
Train The Trainer
The Punchcardasaurus and other professors need help. It has to start with those teaching others. Here is another sad but true fact. Even if a school wanted to build a curriculum around DreamSpark who’d teach it? If it was offered the odds of it being taught with real world business experience on the platform is very small. We need to do something to train the current educators how to use these new tools. There are a variety of ways this could be done.
- Use the current Microsoft training curriculum and certification courses to offer classes to faculty and staff. Schools are off in the summer and it would be a great time for re-educating.
- Help the teachers by putting together a standardized curriculum around the DreamSpark project so there is consistency to how the platform is taught.
I personally would be more than willing to spend my time during the summer to put together a train the trainer workshop for those educators willing to participate. This could be run at night so not to interfere with work duties.
Already Lagging Behind
Another sad but true fact is educational institutions are years behind in terms of the technology being taught. I know when I was in college this was true. For example the language called Java was started in 1991 and released in 1994/1995. While this was a newly released technology it wouldn’t be taught in the classroom until many years later. Back then they were teaching us Pascal. The progression worked something like this. Once you mastered Pascal, which at the time was already considered a dead language, you could learn C, and then after that C++ and if you stayed around to get your PhD they’d eventually mention Java as an experimental language. Basic skills are an absolute must have but what chance does a student have at actually getting a job today in a company that uses a technology like .Net where the student has never used it? Very few companies have a need for engineers that are highly skilled in assembly and compilers. However, a company would be willing to hire someone who knows how to write applications using Windows Presentation Foundation, Silverlight, Windows Communication Foundation and Workflow Foundation. All of which have been released in the last year. I truly feel sorry for students graduating today because the industry changes so quickly. They need our help.
What Can We Do To Help
There are a lot of challenges that need to be overcome no doubt. All of them are challenges, not road blocks though. They can be fixed. To restate some of the ideas above here are the things we (Microsoft, the community, educators) need to start with.
- The Community / Microsoft – Organize some type of event at educational institutions to help spread the word.
- The Community / Microsoft – Help train the current educators.
- Microsoft – Help the educators standardize a curriculum using existing training information, labs, etc.
- Microsoft – Put together a program whereby students build something using the tools and award them with free trips to TechEd or Mix or other conferences.