Wednesday, May 26, 2010

What should be in a high school intro CS class?

I have always thought that intro CS should be taught alongside the other three big high school sciences, namely Biology, Chemistry, and Physics.
It does seem like there are more school that are looking into re-vamping their typing / how to use office apps class with something more solid. Some of these school have AP CS, some don't, some makes the typing / app class mandatory with a test out option. They are usually a semester long.
In the current school year, I have been fortunate to be able to teach two of these one semester classes and tried out various teaching strategies and projects (sans typing and app). I think for a semester long introductory class to computer science and technology should have these basic elements:
1. Application usage (Office + Photoshop).
2. How everything works including binary math, digital circuits and logic (building them with kits), computer components, software, and internet basics. Of course this would also include history of how these things came to be.
3. Programming concepts and game design using Scratch / StarLogo or similar intro syntax light visual programming language (any sort of LISP is a big no no).
4. Intro programming using Java introducing ideas of OOP.
I think these ideas can fit into a semester long class, I will try it out next year and see if that's a realistic aim and where on the depth vs breadth chart each of the topics can fall into.

No comments: