remixed by SonicPopsDad.
Aug 19, 2008
March 29, 2015
AP Computer Science A Course Home Page
Introduce a new concept by having students modify existing, well-defined programs before writing programs from scratch.
Prepare example projects and code to inspire students and clarify expectations.
Allocate the last 15 minutes of class for students to share their work with each other in beginning Scratch classes because students enjoy seeing each others projects and demonstrating their progress.
•This activity provides an opportunity for you to model appropriate feedback, responses, and constructive criticism.
Install the offline editor on student machines in your Scratch course in case the online editor is not available.
Create a classroom routine where students write regularly using a discussion board to help students get practice writing …
Pick an article from the ACM TechNews newsletter for students to read, summarize, and write a reflection on …
Break necessary skills for students down to a meaningful difficulty level to motivate students designing games.
Tell students to experiment and break things so they maximize their learning opportunities and exposure to different aspects of Scratch to gain experience and build competency.
Ask students “What were you trying to do?” when they ask for help to help answer their own questions because they may already have the skills to debug their own Scratch programs.
the coordinate system
Show students what code looks like with and without loops to motivate the reasons for using them.
Mention to students that individual blocks in Scratch and Snap can be tested by double clicking them in the block library so they know this useful, non-intuitive trick for learning what an individual block does.
Scaffold students through reverse engineering existing Scratch projects to help them gain competency in important concepts like message passing, variables, and event-based programming.
Give students guided notes (i.e., partially-completed notes that students complete) to help them stay engaged and learn from lectures or readings.
Check out the Computing At School website for resources for a variety of CS courses.
Prototype Makey Makey, a simple invention kit for the classroom that helps students turn everyday items into keyboard buttons, to bring Scratch programming projects into the real world and engage your students.
Have students make a simple, one-level game with a dog, a cat, and a mouse to teach them basic CS skills as their first major Scratch game/project.
Organize curriculum around building a one-level mini-game to introduce elementary school students to introductory computer science.
visual programming language
Start the day with students pair programming and then split them up; it makes later collaboration natural and reduces frustration.
Have students create games that mimic those they play in real life.
Teach the concept of a variable’s scope in Scratch by explaining the difference between “For this sprite only” and “For all sprites.”
Use Snap! as a more advanced alternative to Scratch in an introductory programming course.
Create pain points for material you want to introduce that motivate the need for abstraction and programming language features so that students realize the need for concepts before you introduce them.
Have students sign a “Computer Use Agreement” before giving them access to machines to hold them accountable for using computers responsibly.
To integrate CS with other disciplines, have students write algorithms for activities they’re already doing for other classes.
Gradually increase the grading strictness about styling to help students become more meticulous about naming and documentation.
Use CodePen and jsFiddle to teach web development.
Examples in intro textbooks can be boring; create your own examples to match your students’ interests.
Judge students’ participation along multiple dimensions, rather than prioritizing one dimension like accurate execution of procedures,
cf: a rubric
Seven Big Ideas in Robotics, and How To Teach Them
David S. Touretzky
Computer Science Department
Carnegie Mellon University
SIGCSE’12, February 29–March 3, 2012, Raleigh, North Carolina, USA.
Copyright 2012 ACM
Encourage students to develop solutions in their natural language before considering syntax to improve their general problem solving abilities.
•Consider requiring that your students turn in a pseudocode solution to an assignment before allowing them to begin programming.
Have students turn in an “exit slip” at the end of class before they leave each day to demonstrate what they learned.
Employ vocabulary lists in class so that students who are uncomfortable asking about terms are not at a disadvantage.
Students are used to viewing computers from a user’s perspective, which may conflict with using them as a programmer.
Use metaphors to describe how concepts work.
Motivate your students by setting goals and connecting with them individually.
Model how breaking down a problem into bite-size pieces can be an important tool for success.
Use popular, repetitive music to teach loops in a beginning course because this motivates the purpose and application of loops while keeping students engaged by referencing popular culture.
Students who observe a peer or role model succeed at a task believe more in their ability to do the same.
You will learn a lot by looking at examples, tweak them, clone and modify them, etc.
Programming in Scratch
Colleen Lewis is a professor of computer science at Harvey Mudd College who specializes in computer science education.
kiDs Series – Farm Animal
by kidsmind. March 2015
Final project airport
by Dantheman7887. March 2015. EdX
Kittens and eggs
Applejack’s Apple Buck Game
Help Applejack by collecting the apples she bucks from trees!
The stones and bridges game
Based on the stick hero game
Find the Ball Game (3 cups)
Space (bat) invaders
Guess the Movie
by jolandah. Feb 2015. EdX
Pixel Town 2 v3.4