Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

May, 2012

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    How do they know they are interested?


    Or more importantly how do students know that they are NOT interested in computer science? As I mentioned recently I had a conversation with Mike Zamansky from New York’s Stuyvesant High School about his program there. One of the key pieces of that program is a required computer science course for sophomores. As Mike explained to me programs that are completely elective tend to attract mostly students who already know (or think they know) that they are interested in computer science. Generally that seems to be the case most places. Oh sure teachers in other schools tell me that their first computer courses are also used as dumping grounds for students with “holes” in the schedule and I know that is true from my own experience. The problem with this is that there is little opportunity to expose students who don’t know what computer science is to the wonders it can be.

    There are issues with required courses for everyone. But let’s face it most of what students take fit that category. Teachers adjust to it and do just fine. In fact many a student in many subjects gets excited by a topic because of an experience in a required course. I know it is one thing to use an example from a top school like Stuyvesant but there are many more examples from other programs. For example a recent article (Summer Camps Get Their STEM On from US News and World Reports) about summer STEM Camps talks about how students in these programs get a chance to be exposed to and perhaps develop an interest in new things.

    Enrolling your teen in intro-level sessions gives them an opportunity to realize their aptitude in areas they hadn't otherwise considered, says Barbara Ericson, director of computing outreach at the institute, recalling one former summer camper who went on to study computer science at Georgia Tech after his mother signed him up for camp. "He didn't even want to come," Ericson says. "That's who we want to reach, kids who don't think they'll be interested."

    That last line is such a critical piece that it is worth repeating "That's who we want to reach, kids who don't think they'll be interested." Arguably high school is late I in the process. We should start in middle school. Tools like Kodu, Alice and Scratch among others are ideal for introducing computer science to middle school students. As with so many things that ideally students would learn before high school there is often not room or interest or the right teachers to introduce computer science in middle schools. So it makes sense to have a required course in CS in high school.

    I hear all the time that there is no demand for computer science teachers. Or that there is no demand for computer science courses from students. To some extend this is true but it is a solvable problem. If there were more required computer science courses there would obviously be more demand for computer science teachers. I seriously believe that if we had a required first computer science course in more high schools we would soon develop a lot of student (and parent) demand for more and more advanced computer science courses. This would be wonderful!

    It’s a hard row to hoe though as many people who control policy don’t understand the importance of computer science. Can we get Computing into the Common Core? Only if we work hard at it. And by “we” I mean teachers, industry, parents and yes even students. In the mean time forward thinking schools (administrators, teachers, school boards) are going to give some students a big edge into the future if they start creating required courses in computer science and building up real sustainable computer science curricula that attracts and educates students to Be What’s Next!

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    There Is Only So Much You Can Cover


    I’d fallen a bit behind in my blog reading lately. Over the long weekend I tried to catch up some and came across a post by Leigh Ann DeLyser called Lets just blame the Intro CS… That post was a response in part to an article about the struggle to plug the embedded programming gap. It seems as though people want to blame the first programing course for all the ills in the field of computer science. At times it feels like people want everything covered in a first course. As Leigh Ann suggests we in the computer science field really need some conversations about what the purpose of the first course (and perhaps the whole curriculum) should be. Then we should make the course fit the goals.

    I’ve been honored to be a part of the CS 2013 ACM/IEEE-CS Joint Task Force for the the last year or so.  This project is designed to make recommendations for what the undergraduate computer science curriculum should look like going forward. And there are recommendations for embedded system development as part of the curriculum. But that doesn’t mean it has to be done in the first course.  Depending on the people I am talking to though almost everything gets suggested as belonging in a first course. Sometimes I think people only expect students to have one course in computer science. Unfortunately, in high schools that is often the case.  The reality is that a single course has a limited amount of time to cover what has to be a limited amount of material.

    The first question most people ask is “what should we cover?” but I like the point in Leigh Ann’s blog – the first question should be more along the lines of “what is the purpose of this course?”

    Let’s start with some things you probably don’t want to be the result of a first programming course.

    • Turn out professional developers – seriously people it takes a lot more than that. Sure a few kids will get internships and do quite well. If the course was down right they will have to tools to learn a lot. They will not know enough – even if they think they do.
    • Prepare students for operating system development. To do that they need to know a lot more than C programming and some simple pointers. They’ll need serious data structures. They’ll also need to really understand what a OS does because really most people don’t. This takes a couple of courses or a whole lot of hands on learning. (A whole lot == years)

    So forget the assembly language programming for a first course – you’ll scare all but the crazy away. Forget the detailed OS interactions – they’re not ready for it. The first job of the first course is to get students ready for more. What you want is:

    • A solid understanding of programming basic concepts (Note I said BASIC not all not deep technical hacker stuff – basic concepts)
    • Interest in learning more – this usually means some success. Not fake success but real success. They need to have finished projects that were both challenging and interesting. Hitting one of those is easy but you need to hit both of them for real success.

    If a student finishes a course with interest in learning more and the basics they need to learn the next steps they’ll do fine. They can learn assembly language and hard code C in later courses. They can learn a little about limited resources doing mobile programming and from their to the fun stuff of embedded systems. Or they can get to embedded by way of robots. They don’t need to learn it all in the first course.

    of course a complete curriculum should cover multiple programming languages and multiple programming paradigms. Sticking with one language throughout is harmful and limiting. High school and college kids pick up new languages very quickly and the sooner they do the better in my view. Bout let’s not try to cram four years of education into the first programming course ok?


  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links 29 May 2012


    Links are a day late because of the Memorial Day holiday. A day of remembrance. I spent a little time with my father, a combat veteran of World War II which was great. Over all a good weekend with a lot done around the house, a little time of recreation and some time to remember those who died fighting for my country.

    Porting apps to Windows 8 Metro – a great collection of resources for those of you looking to start creating apps for Windows 8.

    Didn’t participate in Imagine Cup 2012? Don’t let the opportunity to compete in 2013 pass you by! Sign up now Well have your students sign up. And maybe start thinking about how you might fit Imagine Cup projects into project based learning in your curriculum next school year.

    Speaking of the Imagine Cup, Andrew Parsons has organized the videos of the Imagine Cup 2012 Game Design Finalists – Xbox/Windows and Imagine Cup 2012 Game Design Finalists – Phone. You can see the full like of the Imagine Cup 2012 Worldwide Finalists as well.

    Have you seen the  "Why Schools Should Teach CS" Talking Points card? I’m pretty sure I have linked to this resource from the National Center for Women in Technology (NCWIT) before but now is a great time to remind people about it.

    What sort of people work at Microsoft? People who like to take on big interesting problems. Read about how one Microsoft Engineers’ Side Project Wins Energy Dept. App Contest 

    Computer Programming for All: A New Standard of Literacy by @Dan_Rowinski  via the Read Write Web  @RWW I found this to be an interesting article – you may as well.

Page 1 of 6 (18 items) 12345»