Computer science classes in high school: why too few kids take them

Return To Article
Add a comment
    Feb. 1, 2014 10:01 p.m.

    I'll go one up on the article. We don't need more Computer Science majors - we need more Software Engineering majors, and more schools that offer a Software Engineering degree.

    Asking a CS major to write software is like asking a physicist to design a bridge. You might end up with a bridge that works, if you're lucky, but it will be ugly and expensive and may not be useful as a bridge.

    I work as a software engineer and I have an engineering degree. I spend most of every working day fixing byzantine software disasters created by computer science graduates. Steering kids toward computer science as a way to become programmers or software engineers gives me nightmares. The world needs a few good computer scientists and a lot of good software engineers.

  • road2provo Davis, CA
    Jan. 28, 2014 8:56 p.m.

    @Casey See

    C++ is still highly relevant in scientific programming applications, but yes the CS field does evolve.


    Absolutely correct--more volunteer by professionals is needed to bridge the pay gap.


    Superbly ascertained--mathematical abstraction is highly correlated with good programming practices.

  • On the other hand Riverdale, MD
    Jan. 28, 2014 8:47 p.m.

    A lot of people have pointed out the difficulties schools face when recruiting CS teachers. One possible compromise could be for public schools to adopt existing massive open online courses (MOOCs). Universities like Harvard and MIT are making available high quality, semester-length introductory CS courses complete with lectures, help forums, homework assignments (and software that will automatically grade these), tests, etc. These courses are available free of charge to anyone with a computer and an internet connection. I could imagine high schools allowing students to enroll in these courses. Students could show up to a computer lab just as they would show up to any other class; they would work independently or in collaboration with fellow students enrolled in the same course. A lab attendant, teacher, or counselor could touch base with them periodically to ensure that they were adhering to the course schedule and help with technical difficulties or other challenges that might arise. At the end of the course, students would submit their grades from the MOOC to the school; these would go onto their high school transcript. In this way, students could get high quality instruction in computer science at minimal expense to the school.

  • RG Buena Vista, VA
    Jan. 28, 2014 6:36 p.m.

    I am pleasantly surprised that for once (maybe the 2nd time ever, I can't remember) I actually agree with Hutterite. Way to go!

  • MormonSean Provo, UT
    Jan. 28, 2014 5:20 p.m.

    I know computer hardware from A to Z and I'm fairly fluent in the software development process...

    But if you check out Python, Java, JS, C++, C#, and others... you'll find that there are no instructions that make sense to a normal human being. By normal, I mean someone who doesn't already have a running knowledge in some aspect of programming they need to know.

    If it made more sense, more people would do it. I've slaved for hours and hours to find things about making a python script I needed and found under-documentation and poor explanations where documentation existed. Why? Because programmers aren't good at English. My experience with everything in programming has been this way. I'm sure people will say that it isn't for everyone to justify that... but the fact remains that the learning resources that exist are highly inadequate.

    If I'm wrong, "" would have never been made. They want to make it easy, but the software world moves so fast, changes, and leaves a trail of inconsistency so long that it never will be.

  • MarkJ South Jordan, Utah
    Jan. 28, 2014 5:03 p.m.

    It's difficult to find someone capable of writing good software and teaching others how to do it who will choose to work as a full time high school teacher. The salary differences are just too great.

    I've worked as a software engineer for 18 years. I'd love to teach a high school computer science class, and would volunteer my time to do so and my employer gives me schedule flexibility to do this. However, as I understand it, our current laws or rules or whatever prevent this from happening in our public schools. I'd love to teach full time, but there's no way I'm taking a 5x pay cut to do so. Perhaps computers and engineering are areas where it really makes sense to allow professionals to volunteer their time to teach at our public high schools in order to find teachers who really have the skills in these areas and can inspire kids to pursue a career in those fields.

    I'm convinced there are a lot of really smart kids who grow up in our country with no role models to show and teach them how fun and profitable computer programming is.

  • Samson01 S. Jordan, UT
    Jan. 28, 2014 4:55 p.m.

    Entry level Software engineer with a BS in CS - $65K
    Offer to a twenty year Software engineer with MS in CS - $37K

    Do the math...

  • Casey See FLOWER MOUND, TX
    Jan. 28, 2014 4:22 p.m.

    The other issue is staying current. Even colleges don't stay current on CS classes. Unlike Math, English, History, Spanish, or Chemistry or just about any other class taught at the high school level, CS changes almost over night. Fortran and Cobol are seldom used any where today.

    C++ or C# are already being replaced. Fortunately many CS languages can be classified as 4GL CS languages, meaning that they are written in pseudo code, but they continue to evolve. Basic is now Visual Basic or VBA. I haven't programmed in three or four years and I don't even know what is the hot languages today.

    Now ask a High School teacher to know two CS languages and then in 5 years know two completely new languages because the previous two are hardly used, is quite alot to ask.

    then throw into the mix, all of the hardware and networking skills that also change almost yearly. In order to properly teach these classes, you need the actual hardware.

    If you don't believe it, how many of you owned a tablet three years ago. That tablet probably uses a language that didn't exist more than 5 years ago.

  • red.diehard Central, UT
    Jan. 28, 2014 4:03 p.m.

    It is a simple math problem. Why would I leave my software job paying $110,000 with a complete benefits package for $32,000 ?

  • samhill Salt Lake City, UT
    Jan. 28, 2014 3:45 p.m.

    As a software engineer for over 30 years, I have a feeling some of the numbers for future demand for these jobs may be a bit on the high side.

    However, based on the abysmal performance of so many software projects, particularly those managed by government (the Obamacare web site being a perfect topical example), I am **certain** there is a dire need for software engineering people, especially project managers, who are capable of actually delivering the promised software.

    If we were to concentrate on ensuring that software projects were managed **only** by truly capable, experienced people with a track record of successful project completions, the need for programmers would be much less than is supposedly the case now or that which is anticipated in the future.

  • Erika Salem, Utah
    Jan. 28, 2014 3:33 p.m.

    No kidding. My kids hate the required computer literacy course, because it's so boring. Not only that, but one of my kids opted to take it online to avoid "wasting" a semester sitting in class. She had to follow step by step directions to mimic formatting in an outdated version of Microsoft Word. It was ridiculous and insulting.

    Another of mine took C# programming and really enjoyed. I've never seen any encouragement for her to do that, even though she's planning to major in engineering in college. It came in handy that she was the only one of her group at an engineering camp who had taken the course when one of the challenges involved C# programming.

  • marxist Salt Lake City, UT
    Jan. 28, 2014 2:55 p.m.

    I have an undergraduate degree BS - in computer science. I taught CS at Highland High for two years early in the last decade. Of a class of 35 kids, typically only 5 or so were able to cut their own code. So kids today are tech savvy in the way of using devices, but their math backgrounds are so poor as to keep them from being decent code cutters.

  • adwight AMERICAN FORK, UT
    Jan. 28, 2014 2:51 p.m.

    I had computer science in High School. It was an awesome class and I loved learning how to program using C++. More resources need to be put into it. The curve is being set so high that our students need to be able to function at higher and higher levels earlier in their careers. I think that if we had more programs like it in our schools then we can make computer scientists that are more and more prepared when they get to the field and college and the workload can be less rigorous.

  • zabivka Orem, UT
    Jan. 28, 2014 2:35 p.m.

    Great article. I really think it comes down to the difficulty of getting good instructors in place that understand the material, as pointed out in the article. It's hard enough finding a computer science grad who wants to teach high school kids, and even harder to convince one to do it at that pay grade. I think kids would be plenty interested in the material, if solid programs were available.

  • Hutterite American Fork, UT
    Jan. 28, 2014 2:23 p.m.

    I don't know; do you think an entire society that openly disdains knowledge, and calls the intelligent geeks, nerds, dorks and poindexters while lionizing pro sports participants and celebrities has anything to do with it? We're getting what we want, and it's causing direct harm to our nation as a result.