Nationwide, the CS10K movement seeks to increase the technology preparedness of all high school students, and engage more students in an interesting, relevant, and rigorous computing course, which will both prepare them for college in any major and give them an idea of how fun, exciting, and relevant studying computing can be.
The proposed AP CS Principles course has been designed to meet these needs and in 2010-2011 was piloted with 1,000 students at UCSD and at 4 other universities. We have grant funding to support San Diego area high schools in developing teachers of all disciplines to teach this course. Prior experience teaching computing or programming is not a requirement, though it’s certainly fine. We are seeking to train teachers who can teach this course at their school this fall or the following year – and we can work with your principal to figure out the scheduling. Already, we have support from San Diego Unified and Sweetwater Union to help teachers teach this course, even if it isn’t in the upcoming master schedule.
You should take this 7-week TeacherTECH series if you want to teach the course next year.
How much work will it be? That depends on your computing background. If you teaching programming courses like C, Java, Python, then you may not need to spend more than 30 minutes per week beyond class time. If you have never programmed before, you will need to “do homework” to prepare between each class, which is estimated at a few hours. The meetings will model the actual design used in the course – it is based in active learning and supported by initial pre-class preparation.
Those completing the course will be eligible both to attend the summer pedagogical content knowledge training week, to “guest teach” in a summer program for high school students, and to apply to be a sponsored pilot teacher next year. Pilot teachers receive a stipend, textbooks, clickers, and UCSD-tutor support for their classrooms.
- Session 1: Welcomes and getting to know you. Overview of learning goals of the course. Introduction to Alice on the computer – setting up worlds, DoTogether and DoInOrder control structures, how to engage with peer instruction questions.
- Session 2: Methods and Parameters. How to use methods to organize and abstract complex programs, how to use parameters to make methods more flexible and useful.
- Session 3: Events. How to make programs interactive (ala video games). Reprise of methods and parameters as needed. Introduction to Technology and Society assignments (explorations and written reflections by students).
- Session 4: If statements. How to support programs that sometimes do one thing and sometimes do another. If statements are used in website signup pages to check if your passwords are the same. They are also used in ATM machines – the bank won’t let you withdraw money from an account with insufficient funds.
- Session 5: Loops. How to gain power over the computer by getting it to do things repeatedly. Loops which repeat until a specific condition is true (You earn 100 points) or a specific number of times (3 chances to win in Angry Birds).
- Session 6: Lists in Alice and Excel. How computers organize data to enable us to write programs manipulating large amounts of data. Connections between Alice concepts and functions and capabilities in Excel.
- Session 7: Alice project, review of course components, discussion of concerns, review of sample exams.
- Session 8: Reflections, fun and camaraderie at an offsite location
Note: Each week will involve both hands-on time at the computer and “peer instruction” based lecture – where participants develop their understanding through engagement with a set of questions and through discussion with each other. Preparation before session will be required to the extent that it is needed to allow one to engage during the class session.