The Past:
Colleges started offering CS in the 1950's. Stanford started by making it an optional field of study in the math department. In 1962 Stanford University and Purdue University created Departments of Computer Science. Initially the Purdue CS department was only a graduate program because there were not enough professors to teach it and it was viewed as something that one did not need to learn early on in a students education, it could be acquired later.
The Present:
We need to teach students to create and innovate. But are we?
Currently students are less exposed to computer programming than computer literacy in secondary schools. The percentage of students reporting that they have not had an course experience with computing has increased in the past decade. Computer Science (CS) is being pushed out of the K-12 school system. Few states allow CS courses to count toward graduation. In most places computer science is an elective or vocational class. There are only 10 states that currently allow CS to count toward graduation and NO states require CS to graduate. CSTA and ACM have created national standards for Computer Science Primary and Secondary Schools. These standards have been adopted by 14 states. For the exact breakdowns by states check out: Running On Empty Report. College admissions departments don't yet highly value computer science classes in deciding a students admission to college. In 2011 14,571 students took AP CS exam, where as 194,784 took the AP Calculus Exam, and 109,609 took the AP statistics exam. In 2009 18% of computer science graduates were women.
One of the biggest issues with CS right now is that people are having trouble telling the difference between technology education, technology literacy, technology fluency, information technology education, and computer science. (What is Computer Science?) High level officials all the way down to the teachers in many high schools dont really understand what CS is and where it fits into the current school systems. We need to make sure we are teaching students to create technology.
All the areas which affect computer science education are connected and dependent on each other. It's a huge web and Right now there are a lot of people waiting for some other part of the web (See Cloud Diagram) to do something before they act. People are going to have the break the cycle of waiting for someone else to do something.
FINDING TEACHERS
In order to offer computer science we need trained and qualified teachers. However this is a hard task. As Nick Wingfield put it, “Finding capable computer science teachers is also hard. Few other industries are as good as the technology business in its ability to divert would-be educators into far more lucrative corporate jobs.” In addition in order to have more computer science teachers we need more computer science majors and graduates. This still probably won't fix the problem much considering that teacher salaries do not compete with industry salaries. The mean annual wage for a high school teacher is $56,760 and the mean annual wage for software developers is $92,080. In addition there is not teaching certification currently for computer science teachers. Right now computer science teachers are licensed in areas including Business, Math, Technology, and Science. Teacher certification requirements vary wildly from state to state. Check your local state for computer science teacher certification requirements. Since computer science teachers are often the only CS teacher at their school the feel isolated. Being licensed in multiple areas and often forced to teach more than just computer science, teachers are often unsure of their identity as a teacher. Colleges also don't offer Computer Science Education as a track for students. In addition computer science professional development is currently trying to help four different types of teachers: brand new teachers, vet teachers with no CS experience, vet teachers with CS experience but certified in another area, and people with business background but no teaching experience. Providing professional development that is meaningful and helpful to all of these groups is a challenging task. A study was done on the current state of computer science professional development. For more information check out: OS4CS.
The Future:
"To be a well-educated citizen as we move toward an ever-more computing-intensive world and to be prepared for the jobs of the 21st Century, students must have a deeper understanding of the fundamentals of computer science"- Running on Empty Report
It is predicted that by 2020 there will be 1.4 million computer specialist job openings in the United States. Only 30% of these jobs could be filled by U.S. computing graduates by 2020. In addition all Computer and Mathematical Science occupations are predicted to grow by 22% between 2008 -2018 where as the average growth in jobs for all jobs in only 10%. How are we going to fix this gap?
Make computer science a priority! Barrow ideas from Israel and make computer science required but adaptable to students interest. Create pre-service and professional development for computer science teachers and future computer science teachers. Get more computer science teachers and improve connections between those teachers by creating and maintaining support networks. Create well defined state and local standards for computer science in the K-12 system. Make CS count toward graduation in EVERY state. Develop an assessment for computer science education which tests the standards which are created. Make CS an academic course instead of an elective course or vocational course.
The Common Core Standards in Mathematics mention Computer Science as a possible 4th year class in math. This is a very strong place for computer science to start especially as a replacement for calculus for students who are interested in a track in the future that does not require calculus. Computer science would be a much better alternative for those students as a way for preparing for the future.