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

March, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Where does Computer Science Belong?


    To some extent Computer Science is the red headed step child of K-12 education. It just doesn’t fit nicely in a box. Science often doesn’t want it because it doesn’t always meet their idea of what “science” is about. Math doesn’t always want it because it uses too much hardware and it doesn’t fit in their preconceived flow of math curriculum. What does it come before or after? It shows up in some business departments where it is an awkward fit at best. And CS programs that are not part of business departments have this tendency to look down on business computer courses as “too vocational.” And of course in most states (41 as I understand it) computer science can not be used to satisfy any high school graduation requirement. As a pure elective it is often very difficult to keep classes running let alone full as students tune their transcripts for college/university admissions.

    As reported in Dr Dobb’s and other places:

    The National Governors Association (NGA) Association Center for Best Practices and the Council of Chief State School Officers (CCSSO) have released the first official public draft of the K-12 standards as part of the Common Core State Standards Initiative, a process being led by governors and chief state school officers in 51 states, territories, and the District of Columbia. […] Interestingly, this year "computer science" is included as a senior-level high school course for students who meet the "readiness level" by grade 11 within the latest draft of the Common Core Standards for Mathematics.

    And most states that do allow for CS courses for graduation credit do so as meeting a math requirement. So it’s settled right? Well not so fast. I know a number of teachers who have some concerns about this. One of them sent me email recently complaining that the AP conference this summer had computer science listed under mathematics and suggesting that it should be a stand alone section. Well so? What is the problem of including Computer Science within math? A couple of things come to mind.

    One is certification. Certification for computer science teachers is a mess in the US as it is. Courses in math departments tend to require that teachers be certified in math which is not near the same thing as being certified or even qualified to teach computer science. Then there is the matter of CS not being seen as central to the mission of most math departments. First course likely to be lost in the shuffle or budget cuts or scheduling issues? Computer Science. As least in the perception of many. Then there is the loss of independence. In schools where computer science is independent of other departments teachers tend to have more flexibility in curriculum, texts, independent studies, and other options. Computer science teachers can be an independent bunch for one thing but things get more difficult when you have to “sell” changes to a department head who doesn’t understand what you are trying to do. None of this is a problem everywhere of course and there are schools where computer science fits comfortably into math departments. I think. :-)

    One other factor I see is that there is a movement in the greater world of computer science to be about “computer science and” where almost anything can be the “and.” CS and Math? Obviously. CS and sciences – physics/biology/chemistry? Why not? CS and pre-engineering? Oh I hope so. Is this easier when CS is its own department? In many cases it probably is.

    But the reality is that computer science needs to fit in somewhere right now. Even if run as an independent department computer science courses are only going to be accepted as graduation requirement meeting options as part of something else. The best candidate right now is Mathematics. That is the political and practical reality. We don’t have to like it but we probably have to live with it for a while. Just my opinion. What’s yours?

    Edit: Related to this post, Cameron Wilson of ACM wrote a post called Computing and the Common Core that you should read. The most important part of it is his call to action.

    Now the community can support this breakthrough by sending letters for support for the inclusion of computer science in the final document. The initiative is taking comments on the draft until April 2. There are two ways to comment. The first is by taking the survey, which as an additional comment area where you can express support for computer science. (Follow this link  External Linkand click on the "submit feedback" to get to the survey.) The second is by sending letters to

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Curriculum, Companies, Cooperation and Conflict


    Where does curriculum come from? Where should it come from? What involvement should industry in general have in creating curriculum? These are all questions suggested by some comments Garth left on my blog post last week on New Teaching & Learning Resources for XNA and Web. In part he says: (Highlights mine.)

    If Microsoft really wants to get involved in programming education they need to get two things up and running: a teacher education curriculum on how to teach introductory programming to mainstream kids, and a semester/year long curriculum for those mainstream kids with an interest captivating goal.  If Microsoft wants to capture the phone market, teach junior high and high school kids to write apps for the phone and they will buy that phone.  Same with Xbox.  If I was really ambitious I would start designing and writing my own curriculum but teaching, eating and sleeping would get in the way.

    In the idea world teachers could and would develop their own curriculum or at least they would create and share enough curriculum modules that it would all be completely independent, fine tuned to teacher’s needs, and broadly concepts based. Yeah. But if you haven’t noticed lately the world we live in is far from ideal. The average teacher has all they can do to keep up with grading, planning for tomorrow’s lecture and yes trying to have a life outside of school. Creating curriculum from scratch is hard work and very time consuming. I gave up a summer of teaching summer school to write my first textbook and I still was not able to finish it in a summer. Royalties never really made up for the lost summer income either. And that was just a textbook that was based on work I had dove over several years creating a course I was teaching. This is impractical for most people.

    Which brings up textbook companies. Today if you want to sell a textbook it is not enough to write the book and create answer sheets. Today you also need a full test bank of questions and answers, PowerPoint presentations for each major topic and ideally some other (multi media anyone?) resources for teachers to use. Someone still has to create lesson plans though. This is expensive and we are in an era when textbook money is already hard to come by. It’s an even larger problem in computer science because things change faster than even normal textbook refresh cycles. Textbook publishers are still creating books and curriculum but it is hard for many schools to afford to stay current.

    So that leaves industry. Obviously industry has an interest in students using and learning using their tools. For companies in the computer software industry this is hugely desirable. So many companies do create educational resources. CISCO has it’s Cisco Academies, Adobe has programs for teaching Dreamweaver, and of course Microsoft has a lot of educational resources as well. I blog about the Microsoft resources a lot. You may have noticed. There is some conflict involved of course. Parts of the companies are interested in earning revenue for sales to schools. Just like oil companies don’t give heating oil to schools for free (do they?) companies like to sell products to schools. Of course academic discounts abound and that helps. Some companies charge for curriculum as well. I pretty much blog links to Microsoft related curriculum that is free because I think that is the most useful for most schools. Companies have a self interest in training students but schools need it to be an enlightened self interest that supports the ideals of a good education.

    So a larger conflict is between teaching tools against teaching concepts. Most schools want to teach concepts not specific tools and with good reason. Conflicts have a much longer “shelf life” than specific tools. Companies who want their curriculum used have to take that into account. For example the Web Development curriculum that Microsoft had developed. From the beginning the idea was that while Expression Web would be the tool used for the course the focus on the course would be on good web page design concepts. Expression Web was just the tool used to teach the concepts.

    Likewise the XNA Game development curriculum is focused on programming concepts but game development is the motivating idea and XNA is the tool used to combine game development and learning programming.

    There are also schools who are reluctant to adopt company created curriculum of course. They are concerned about maintaining independence. They are also concerned about becoming “vocational” or too locked into a single vendor. reasonable concerns that companies have to take into consideration. The best companies are looking for students with broad knowledge and deep concepts understanding though. They are even more aware of the changing nature of software and what to hire people who can adapt and adopt new things as they come available. The good companies and the good schools find common ground here.

    Even large companies can’t do it all though. There is that trade-off that demands a quick return on investment for shareholders and upper management and looking at the long term. So partnerships with educational institutions can sometimes help. Much of the curriculum at the Microsoft Faculty Connection’s Faculty Resource Center was developed by schools, colleges and universities with funding or other assistance from Microsoft.

    But more could be done. Garth suggests phone development courseware and that is something I will be trying to find or get developed. Brian regularly reminds me of the need for Silverlight and AJAX curriculum materials. With limited resources most companies have to focus on the “big bets” – the chances to make the biggest difference in the most schools. So some things will take longer than others and that is a shame. It’s a reality though. The thing that helps most is hearing from teachers in schools telling companies what they’d like to teach, would be willing to teach and can get their administrators to agree to let them teach if they have the right curriculum materials.

    If  I could add one last plea though it would be this – teachers who are doing creative things and creating their own materials could be doing more sharing themselves. The Microsoft Faculty Connection’s Faculty Resource Center is one place where that sharing could be done. If you have something that should be there let me know and we’ll see about getting it there. If you want something else, the CSTA has a curriculum repository as well. Sites like these only work as well as people are willing to support them though sharing what they are developing. We could also use a lot more CS teachers blogging if you ask me. But I am biased towards blogs as a sharing resource. For real time (or close to it) there is also Twitter where a lot of great links are shared by teachers all the time. (I’m at @AlfredTwo BTW) Sharing is key though and has never been more important than it is today.

    Note that as always I am speaking my own mind and giving my own opinions. While I hope others agree with me I do not guarantee that they do.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Ada Lovelace Day 2010


    It’s Ada Lovelace day again. Today many hundreds (hopefully a couple of thousand) of bloggers are writing about women in technology to bring visibility to them. Last year I wrote about my wife who is a teacher and who I admire greatly. This year I decided to go old school and write about Grace Hopper. Sure a lot of people will be writing about her. There are a lot of people who admire her and she was a great pioneer in computer science. There is no question that she was an inspiration to me personally.

    I met Grace Hopper for the first time while I was an undergraduate student at Taylor University. She came out to the school to give some talks to students and some advice to the computer science faculty. I was impressed from the start. Grace Hopper could tell a story in ways that helped you learn and remember what you learned. Ken Olsen, founder of Digital Equipment Corp and an other impressive computer science pioneer, gave a talk the same year and while I remember being impressed with him I couldn’t tell you a thing he said. With Grace Hopper I can.

    One analogy she used was horses. She said that for generations people breed larger and larger horses as the need for more pulling power grew. At some point though they just had to give in and hitch up more horses. That was the computers were going to have to go. (This was the early 1970s BTW and multiprocessors were little more than theory). We were going to have to find ways to spread work across multiple computers. And of course she was right and every time I heard people talk about multi-processors, load balancing and the like I thought back on her words years earlier.

    Only later did I realize that it wasn’t  enough to have good ideas but you had to also be able to communicate them. That communication was one of Grace Hopper’s gifts. But she was also a tough person to deal with in some cases.

    At one company I worked for I ran into someone who was responsible for fielding requests from Grace Hopper’s organization at the Pentagon. She may have looked like someone’s little old grandma (the nickname her staff called her by) but she could be tough as nails and would not hesitate to throw the weight of the department of Defense into the fray when she wanted something from a vendor who needed her approval to sell to the government. She was relentless in working for standardization of the COBOL language at a time when that was the programming language for line of business applications. I've always been happy that the Navy named a real honest to goodness ship of war after Admiral Hopper. (USS Hopper (DDG-70)) Anything else would not have been fitting.

    One last thing, Grace Hopper always said that if anyone who attended one of her lectures ever said they would do something “because we’ve always done it that way” she should would appear at their side to haunt them. I don’t say that myself but when someone else does one person comes to mind – always – Grace Murray Hopper. An American hero, a computer science hero and my personal hero.

    BTW my friend and co-worker Hilary Pike has her ALD post on the Springboard blog. She interviewed Microsoft star Sara Ford.

    Are you following me on Twitter?

    Technorati Tags:

Page 2 of 8 (22 items) 12345»