“It would seem about time a PD designed around problem solving, program troubleshooting, pedagogy, project based programming, what languages are good for teaching what, tech issues and so on was offered.” I am diving in. Montana does two week long PDs for entry level teachers, one using Mobile CSP (App Inventor) and another using The Joy and Beauty of Computing (Python). These are funded by an NSF grant. I need to figure this out. I also do not want to reinvent the wheel. If something like this has been done I will not be shy, I will plagiarize the ever-loving heck out of it. If anyone knows of something that is presently offered please let me know.
Several years ago I started to build a CS Methods course with the intent of proposing it to my local university. From what I hear from friends I know that work at my local university in the CS and Education departments the university’s senior people’s philosophy towards teacher CS education is closely related to “magic occurs” and denial. So I have this initial brainstorm of ideas I started to build. I think with a little hand waving and organization I can start to make a five-day PD with this material.
Originally I was thinking of a semester long course so I may have to rethink the depth of my original approach. Just a bit.
Course goal – introduce prospective and experienced CS/programming teachers to the fundamentals of teaching CS/programming. Share ideas among attendees. Start a cohort of teachers to spread the gospel of how to teach CS. Get things moving so Montana students can do more than play Fortnite on a computer.
Concepts to cover in course:
Why teach programming or CS?
Capturing kids interest – Robots, Games, Turtle graphics, iPod/Droid apps, micro:bit
Programming language review – pros/cons/good/bad/ugly – just what is out there – Python, Java, Alice, VB. Mindstorms Lego Robotics – NXT, RobotC, EV3, GameMaker, Scratch, Small Basic, MakeCode, ???
Free resources
Textbooks and tutorials
Language types
Line code – Small Basic
Drag and drop line code – Alice, App Inventor, MakeCode
Icon – Kudo
Fundamentals of programming
Iteration
Recursion
Decision
Types of errors
Installing software
Commenting and documentation
Top down/bottom up design
Naming conventions
Algebra vs programming syntax – x=x+1
Grading rubrics
Assignment goals
Parson’s projects
Sub goal labeling
What I need now are suggestions. I also need to start looking for sources/references that will give credence to these ideas so people know they are not just ideas I pull out of thin air.