Issues Facing Computer Science Education
The race is on. Now more than ever, schools are racing to get students geared up for computer science and tech proficiency. The US Department of Labor shows that there are currently around 500,000 unfilled tech positions due to lack of skilled laborers and that number is expected to more than double by 2024.
School districts, cities, and states are beginning to plant flags by making statements that computer science will be required for everyone. It is great to see everyone agreeing that these are skills that will be important for students, and it is great to see a lot of folks at the higher levels making commitments to CS education.
However, we all know that big proclamations can sometimes have trouble being executed further down the line. In this post, I’d like to address some of the unique challenges that schools and educators will face with making computer science available to all.
Compensation
The most fundamental issue that faces school systems as they bring CS into their classrooms is that by the very act of training teachers to be better at CS you are giving them a very in demand skill set. This skill set is very desirable across multiple industries and schools will have a hard time competing with the competition.
Let’s think about the outcomes after a district or school pays for a teacher’s PD to get them more skills in teaching computer science:
1) They go to another school. If your school spends the money on a teacher’s professional development in computer science, there are going to be other schools on the other side of the fence who are willing to pay a little bit more. The teaching population is pretty transient, and if someone comes along with an offer a teacher can’t refuse or an environment they like better your school runs the risk of losing a valuable asset.
2) They go to another industry. In the instance where a teacher is given enough PD to be an effective coder, they may leave the teaching profession all together. There is high demand in the field of technology and if a teacher has the skills to add value to a team in industry they are likely to find the salary, benefits, and working environment attractive. The NEA shows the national average (non-starting) teacher salary to be $56,383, while Glassdoor.com shows the national average for a junior web developer position to be $75,310. How will schools compete with a discrepancy in salary like that?
Curriculum
The curricula for computer science can be vast. There are many different parts and pieces and all of them have value in the job market. On top of that, not every piece will be attractive to all students.
- Which lessons and subjects should the elementary school students be learning v high school students?
- Which department teaches CS?
- What language are you going to teach them?
- What concepts do they need to know? Should you be using Code.org, Project Lead the Way, or other canned curricula.
- What happens after a student gets through the first class that you offer and wants more?
- How are students who don’t have access to technology at home going to complete any homework that is given to them?
The list goes on…
Classroom Management
I could only find stats for 2014, but in that year the National Center for Education Statistics show that the average student to teacher ratio in public schools in America was a little over 16 to 1.
Classroom management skills are usually where the best teachers separate from the pack. The ability to deal with the chaos of 16 students trying to learn a new subject all at once is a very respectable art and watching a top teacher manage a classroom is like watching a beautiful ballet. Now, enter computer science and strap 20 lb cinder blocks to that ballerina’s legs.
Every student is on a device trying to build something that has bugs, user errors, software errors, hardware errors, network errors, the list goes on. This is a HUGE part of programming and computer science. You will have bugs, you won’t know what they are, and you will have to deal with them. On any given day you can have 5 students have 5 different issues that need 5 different solutions and the teacher may never have seen any of these issues before.
When a teacher has to manage an average of 16 students and one student’s issue can sink the day for both the student and the teacher, problems are going to come up.
Solutions
I hate being the person who is complaining or pointing out issues without bringing some solutions to the table. So, in a shameless plug to promote South Bend Code School. I am going to say that we have faced and overcome many of these issues in the programs we have run over the last 2.5 to 3 years. We are always learning and always growing and our mission to help eliminate the barriers between people, technology, and jobs has lead us to many discoveries and revelations about where the computer science education ecosystem needs a little love.
If you’d like to talk more about CS education or share stories about how your schools and classrooms are excelling at CS education we would love to talk! Drop us a comment or find us on most of the commonly accepted forms of social media.
A bit about us
South Bend Code School has been working to eliminate the barriers between people, technology, and jobs for about two years now. Having worked with over 1000 students in that time, we are always learning about the unique challenges people face when accessing these skills.