Narrative: 

Intro to Programming primarily uses Carnegie Mellon’s CS Academy CS1 Curriculum, which they describe as follows:

Computer Science and computational problem solving are fundamental skills for engaging the 21st-century marketplace of ideas and economies.  We believe that all students should have the opportunity to learn these skills as they will use them in whatever career they are likely to enter.

No prior programming experience is required. It is inspired by a highly successful Intro Computing course (15-112, Fundamentals of Programming and Computer Science) that has been taught at Carnegie Mellon University for the past 10+ years.  It is predicated on the notion that learning about programming and computer science should be fun and engaging.  This requires interesting problems to solve, as computational problem-solving is the core of computer science. It is why we choose to first expose students to graphical problems in CS1:  they are visually engaging, allow for multiple correct solutions, and provide visual cues when a solution goes awry. 

There are 12 Units to the course. We believe the best way to learn this material is to do it, so each unit provides content for the topic to be investigated, a worked problem(s) to illustrate and let students explore the topic, a set of exercises to hone their mastery of the topic, some end-of-unit exercises that require students to use and synthesize all the topics found in that Unit, and a creative task that lets them further explores the topics in the Unit in a manner driven by their interests.

The course provides its own browser-based Integrated Development Environment (IDE) that the students will use to create and run their programs.  It encompasses an editor and compiler, a custom graphics package, and an autograder that is capable of grading not only textual problems and solutions but also a broad range of graphics problems and solutions.

In addition to extensive work with CS Academy, students get periodic opportunities to see programming in other environments and languages.

Unit

Timeframe

Big Ideas (Statements or Essential Questions)

Major Learning Experiences from Unit 

Creating Drawings

3 Weeks 

  • 1.1 Basics

  • 1.2 Colors

  • 1.3 Shapes 

Functions, Mouse Events, and Properties

2 Weeks 

  • 2.1 Functions

  • 2.2 Mouse Events

  • 2.3 Properties 

  • Notes and Exercises 

  • Creative Tasks

  • Review/Quizzes

  • Example Exercise Eat the Cookie

Mouse Motion Events, Conditionals, and Helper Functions

3 Weeks 

  • 3.1 Mouse Motion Events

  • 3.2 Conditionals (if Statements)

  • 3.3 Helper Functions

  • Notes and Exercises

  • Creative Tasks 

  • Review/Quizzes

  • Example Exercise Puffy Penguin 

More Conditionals, Key Events, and Methods

2  Weeks

  • 4.1 More Conditionals (if-elif-else Statements)

  • 4.2 Key Events

  • 4.3 Methods

  • Notes and Exercises

  • Creative Tasks

  • Review/Quizzes

  • Example Exercise Trippy Text

Complex Conditionals and More Key Events

2 weeks 

  • 5.1 Complex Conditionals

  • 5.2 More Key Events 

  • Notes and Exercises

  • Creative Tasks

  • Review/Quizzes

  • Example Exercise Biking

Groups, Step Events, and Motion

3 weeks 

  • 6.1 Groups

  • 6.2 Group Methods

  • 6.3 Step Events and Motion 

New Shapes, Local Variables, and For Loops

2 Weeks

  • 7.1 New Shapes 

  • 7.2 Local Variables 

  • 7.3 For Loops 

  • Notes and Exercises

  • Creative Tasks

  • Review/Quizzes

  • Example Exercise Space Invaders

Math Functions, Random Values, and Nested Loops

3 Weeks

  • 8.1 Math Functions 

  • 8.2 Random Values 

  • 8.3 Nested For Loops 

  • Notes and Exercises

  • Creative Tasks 

  • Review/Quizzes

  • Example Exercise Compass 

(Optional) Types, Strings, and While Loops

2 Weeks

  • 9.1 Types and Input

  • 9.2 Strings

  • 9.3 String Methods

  • 9.4 While Loops 

  • Notes and Exercises

  • Creative Tasks 

  • Review/Quizzes

  • Example Exercise Sheep wool

Lists and Return Values

2 Weeks

  • 10.1 Lists

  • 10.2 List methods

  • 10.3 Return values 

  • Notes and Exercises 

  • Creative Tasks

  • Review/Quizzes

  • Example Exercise Whack a Bug

2D Lists and Board Games

2 Weeks

  • 11.1 2D Lists

  • 11.2 Writing Board Games 

  • Notes and Exercises

  • Review/Quizzes

  • Example Exercise Essay Editor

Creative Project with an Introduction to Images and Sounds 

2-4 Weeks

  • 12.1 Final Project