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

June, 2012

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    There Is More To Computing Than Computer Science


    Last week Doug Peterson pointed me to an article called “Let’s not call it computer science if we really mean computer programming.” My initial reaction was “Let’s not call it computer programming if we really mean software engineering.”  Really the author was talking more about the difference between CS and SE than much else.The ACM has a great Computing Careers web site which lists a number of computing fields and degrees. I recommend this series to teachers and guidance councilors all the time. They list five different degree paths:

    • Computer Engineering
      Typically involves software and hardware and the development of systems that involve software, hardware, and communications.
    • Computer Science
      Currently the most popular of the computing disciplines; tends to be relatively broad and with an emphasis on the underlying science aspects.
    • Information Systems
      Essentially, this is computing in an organizational context, typically in businesses.
    • Information Technology
      Focuses on computing infrastructure and needs of individual users; tends to involve a study of systems (perhaps just software systems, but perhaps also systems in support of learning, of information dissemination, etc.).
    • Software Engineering
      Focuses on large-scale software systems; employs certain ideas from the world of engineering in building reliable software systems.

    For many of us we tend to focus on computer science as if it were the single area. It is the area that most research institutions focus on of course but it’s not everything. I do like the analogy for the article I lead off with that “Computer programming is like writing and performing music, and computer science is like music theory.” Like many analogies you have to be very careful about taking it too far. I think that you’ll find a great many musicians who find that a solid knowledge of theory helps them write and perform music. While there are for sure talented musicians who have not studied theory and there are talented programmers who have not studied computer science I don’t think you can take that as evidence that theory is unnecessary.

    I hear things like this “I meet thousands of software developers every year, and the majority are self-taught. I cannot tell the difference by watching them develop software.” taken from the article I referenced all the time. Well I’m sorry the author can’t tell the difference but generally speaking I can. I’m not saying the self-taught are worse, though often they are, or that the CS degreed are always better, sometimes they are not, but they are different. They look at problems differently and they tend to use tools differently. There is value in both but it takes a special sort of person to derive on their own what they could have learned in school. And if you want to be a programmer than study software engineering. Real software engineering is where the self-taught really show up – and not in a good way either!

    I think that in high school we are fine talking about computer science and squeezing a tiny bit of software engineering in with our programming, some computer engineering into our discussions, and at least reference IT and IS. The goal in high school is to build interest and expose students to their options. Sure computer science is more theoretical than software engineering and SE is more “practical” by some definitions of practical than CS. That doesn’t make one better than the other though. Sheldon Cooper on TV’s The Big Bang Theory may deride experimental physicists as less serious/important than theoretical physicists but in the real world of education we should avoid such petty comparisons.

    As long as we make it clear to students that things open up a bit when they get to college let’s talk about and teach real computer science concepts. They’re going to need these basics no matter which division of computing they eventually wind up in. In fact they will benefit from them even if they go into a completely different field.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    So you want to teach computer science?


    A number of years ago after being laid off from a job developing software I went into teaching. I taught a year in a pair of elementary schools and then spent 8 years teaching high school computer science. It was awesome. One day I want to get back into the classroom full-time. Over the years I have met more than a few people who have also made the transition, life style change really, from the computer industry into teaching. These are some of the best computer science educators I know. But it is not an easy transition and it is not for everyone. The education establishment doesn’t always make it easy to make this sort of career change for one thing. For another thing not everyone is cut out for teaching. But for those who are cut out for it and who do make it through the hurdles it can be a wonderful thing. Because I have been though it I get asked about making this transition on a regular basis. I thought it time I wrote out some of what I have learned. Not that I have all the answers but I do know some of the questions.

    First off is this something you really want to do? The pay is not going to be anything like what you are making in industry. Can you deal with that? Is teaching something that will give you satisfaction? Can you take what you know and translate it into language that students can understand? How do you know this? For some people it is well worth trying teaching on a smaller, less than full-time scale. For some this means helping with an after school program or a summer camp or some other experience that lets them keep their day job. One truly amazing program that I wish we’d had years ago is called TEALS.

    TEALS (Technology Education And Literacy in Schools) is a grassroots employee driven program that recruits, mentors, and places high tech professionals who are passionate about digital literacy and computer science education into high school classes as part-time teachers in a team teaching model where the school district is unable to meet their students' Computer Science needs on its own.

    Right now TEALS is running in Washington State (near Seattle) and near Washington DC but looking to expand. For some people this is an opportunity to have their cake and eat it too! Keep your day job but help with the critical shortage of qualified computer science teachers. It’s also a model of a possible way to “get your feet wet” and learn how to teach for real.

    If you decide you do want to go into teaching full-time you have some more decisions. I’m assuming secondary school (or maybe younger) for now. If you want to teach at the university level you probably need a PhD for full-time teaching and there are other differences. Your first choice is public school or private. What’s the difference? Well for one thing you need to be certified (or be working though the certification process) to teach in public schools. Private schools, especially religiously affiliated, are more able and in some cases more willing to take uncertified teachers. Career technical schools, what we used to call vo-techs, also have more flexibility where it comes to certification even though they are public schools. The certification process can take a couple of years and require some formal training before you even get to teach the first class.

    So how do you get certified? Well, that depends. Each state has different requirements. This is complicated by the lack of a clear computer science certification path in most states. The CSTA (Computer Science Teachers Association) has done some research for you and I recommend you start looking there. Information on state certification requirements and research on Computer Science Teacher Certification Requirements. You should probably join the CSTA while you are at it so that you can get full access to their resources. Membership is free! Another resource about certification requirements is any school of education that prepares teachers for certification in your state.

    Even if you decide to go the non certified route and look for private schools having this information will tell you a lot about what you need to know to be qualified to teach. So do your homework. Any school you interview with is going to ask you why you think you are qualified to teach and you need a good answer.

    Now you need to find a school that needs a computer science teacher. Many states have teacher job repositories online. In New Hampshire, where I live, we have for example. A school of education in your state (try the state university system) will likely have a list of job hunting sites and other resources that you can access. Networking, as in any job search, can also help. There may be a local CSTA Chapter that you can contact. 

    The scary thing is that many schools don’t need (or at least have enough courses to require) a full-time computer science teacher. A lot of CS teachers also teach other subjects. Sometimes they are related like applications (think Microsoft Office) and other times it is something like Math. The Math/CS combination is VERY common.  So if you can teach Math or some other subject your job hunt gets easier. Not easy – just easier. Schools who need a computer science teacher are probably having trouble finding qualified people but that doesn’t mean they will jump at the first person with professional background who comes along. (Before I forget – all schools will perform a criminal background check before making an offer. Expect it – it’s the law.)

    Things you will be asked on the interview include:

    • Have you taught before? Training you have presented in a professional capacity to other professionals counts. It’s not the same as teaching teens but it is still teaching.
    • What are you qualifications? This about what you know from education, on the job training, and other life experiences. It includes not just technical things but soft skills like presentation skills, planning and organization, and previous experience dealing with the age group you would be teaching.
    • How will you handle classroom management? This is a tough one to answer if you don’t have experience teaching or dealing with large (> 2) groups of student age people. Buy and read a book. or three.

    Make friends with a teacher and have some long talks about teaching. Find out what is involved besides standing in front of a room moving your mouth. There is a lot more to it and the more of it you understand before entering a classroom the better off you will do in the job and in the interviews. One could write a book about this and this post is long already. You’ll also want a mentor for your first year or three of teaching. Year one is a killer and a support system is critical.

    The long and the short of it is that you don’t just decide you want to teach and the next day send out resumes. I really lucked into my situations – the first principal who hired me had been hired as principal by me (in part) when I was a school board chairman. I’d also had a long involvement with the school and had taught some classes as a volunteer in the school. So it was a process as it is for most people. Expect to have to do your homework. Expect a life style change. On the up side, expect to be able to make a difference is student’s lives.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Studio K – Program to make Kodu Curriculum and Tools more accessible in Classrooms



    The other day the Kodu team announced Studio K. What is Studio K you ask?  In my opinion it’s the biggest curriculum, teaching and overall educational news about Kodu since Kodu was announced. From the announcement on the Kodu blog:

    Collaborating with Microsoft and the Advanced Micro Devices (AMD) Foundation, the Educational Research group at the Wisconsin Institutes for Discovery at the University of Wisconsin-Madison has created the curriculum and tools to make video game design programs such as Microsoft Kodu more accessible in K-12 classrooms.

    More from the  Studio K website:

    Studio K is a game design curriculum, online community, and set of teacher-support tools intended to enable teachers to help learners how to make their own video games using Microsoft Kodu. Kodu is a powerful 3D game design and programming tool that enables users to focus on creating compelling games for their friends.

    The Studio K curriculum is designed to support the development of computational thinking skills and problem solving skills. Policymakers have identified computational thinking as a critical set of skills that students must be equipped with in order to be successful in STEM careers, as well as to fully participate in today's and tomorrow's creative society.

    If data and if something is actually helping students to learn are of interest to you as they are to most people serious about education and avoiding fads just because they are the latest cool technology there are aspects of this program you will be particularly interested in. Ben Shapiro, a UW-Madison researcher who leads the project says “But we’re also giving teachers learning analytics tools, including data visualizations, to monitor students’ progress, see when students are stuck or need help, and give specific feedback about learning.”

    If you have thought at all about incorporating Kodu and gaming into your elementary or middle school curriculum you will want to check this out. Also if you are looking for STEM programs for after school programs, summer recreation programs or camps, or other after school activates this is something you want to look into as well. I think it’s pretty exciting.

Page 1 of 6 (16 items) 12345»