Ideas:
We should offer computer science as an alternative to calculus. Instead of forcing students who will likely never use calculus after they leave a calculus class to take calculus during their senior year we should offer computer science. This would draw more students into computer science, create more classes in computer science, and hopefully change the interest level and dynamic of computer science classes. Typical students who would benefit from calculus would likely find a way to fit computer science into their schedules as friends would be taking it and would see more benefit in it.
Use Israels model. If at some point computer science becomes required we should use Israels idea of two tracks. One for people more interested and one for people with limited interest. In fact I think our whole education system could benefit from more of this.
Assessment Ideas
Topics To Cover
Tips and Tricks
(From Current Teachers and My Own Experiences)
Students like competition so try to make things games when possible. Be careful with too much competition though.
Make checklists to help guide students as they get used to new ideas.
Create warm up exercises that students can do to practice a new skill from previous class
Get a computer science class that does once a week community service to come in and teach students fun things about computer science as role models for them to look up to
Use a language created to be a learning tool to show programming and then make the connections to a real language (example in scratch the green flag is like the main method)
Create ways for students to interact with the computer and programming through other means than the keyboard
Put up a daily agenda to help students understand the plan for the day
Collaboration is a great way for students to learn
Consider a backwards classroom model
Program correctness should not be the most important piece we want to nurture creativity, foster learning and hard work
When Designing Assignments Consider:
Make it useful
Make it personal or local
Interface with other programs as possible
Use big data
Use real-world problems
Use natural language text
Make it sensory (graphics, audio, animation, manipulation)
Make it socially relevant
Simulate real systems
Include observations of the real world
Bring in experts
Illustrate how everyday computational objects work
Lesson Ideas And Lesson Plans