### AP Computer Science Principles Course - Unit 3: ntroduction to Python Programming Using Processing Unit

There are many excellent curricula currently available for teaching beginners computer programming. The Khan Academy Javascript (https://www.khanacademy.org/cs) course and Codecademy Python course (https://www.codecademy.com/learn/learn-python) are two excellent free online courses. Apple’s The Swift Programming Language is a free interactive iBook designed for use by high school students and would be a great choice for classrooms with Apple computers. Any of these courses could be used to teach the programming component of the new AP Computer Science Principles course. I don’t teach in a lab with Apple computers and my school already offers a Javascript course, so to differentiate my Principles course I’m teaching Python. I’m a big fan of Processing, so I’m using Processing’s Python mode. Processing gives students a large set of graphics tools that encourages creativity. You could easily mix and match the content of this course with the more traditional Codecademy Python course.

I spend roughly one week per programming assignment except for Tron which takes two. I gave a multiple choice quiz based on the AP exam every other week.

Whatever programming language and curriculum you choose, here’s what to you will need to cover:

• variables
arithmetic operators +, -, *, / and MOD (you will need to teach integer division and modulus)
logical operators AND OR and NOT
relational operators < <=, > >=, = (not an assignment), !=
if statement
while (or repeat until) loops
lists
for each loops
functions with arguments and return values
Algorithms, specifically linear and binary search
Limits of computing, i.e. there are some problems computers can’t solve like the halting problem
simulations, including strengths and weaknesses and why we use them.

## Collection Contents

### Olympic Rings Lab

by Janet Pinto

Students will write a program that produces a design similar to the Olympic Rings with 5 differently colored circles.
Member Rating
Curriki RatingC
'C' - Curriki rating

### AP Computer Science Principles: UNIT NOTES: Introduction to Python Programming Using Processing

by Janet Pinto

Instructor notes for this unit.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Solve a Mystery with a Data Visualization Lab

by Janet Pinto

In this assignment pairs of students will write a computer program to help solve a crime.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Computer Simulations: Three Heads in a Row

by Janet Pinto

In this assignment students will write a computer simulation to answer the question \"On average, how many times do you need to flip a coin to get three heads in a row?\" Simulations are one way to solve problems that would otherwise be too complicated, expensive, time consuming, dangerous or even impossible to calculate or perform in real life.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Tron Lab

by Janet Pinto

Tron was a Disney movie that was released in 1982. It was one of the earliest feature films to reflect the video-game craze of the 1980s. Jeff Bridges stars as a computer programmer who becomes part of the very game that he\'s programming. The game is a \"light cycle duel\". Your light cycle races across the arena leaving a trail of laser light behind you. Light cycles can only make 90 degree turns. Touching a laser trail destroys a light cycle, so you try to drive your opponents into a light trail while avoiding the trails yourself. There are examples of the tron game at intelligentedu.com and http://www.fltron.com/.
Member Rating
Curriki RatingC
'C' - Curriki rating

### User Input Lab

by Janet Pinto

In this assignment students will write a program that takes user input from both the keyboard and mouse to allow the user to interact with the program.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Functions and Animations Lab

by Janet Pinto

In this assignment students will write a program with an animation. The animation is created by drawing the same shape or shapes over and over again. Each time the shape is drawn, some aspect will change.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Make a Repeating Pattern Lab

by Janet Pinto

Repeating Pattern using a while loop: In this assignment students will write a program that uses at least one while loop to make many shapes on the screen.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Lists Lab

by Janet Pinto

In this assignment students will write three small programs that each process a list of values.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Pengin Lab

by Janet Pinto

In this assignment students will write a program that displays a penguin or any other animal of your choice. You can use any drawing functions that you would like.
Member Rating
Curriki RatingC
'C' - Curriki rating

### Python Programming Using Processing PPT

by Janet Pinto

Powerpoint slides for this unit.
Member Rating
Curriki RatingC
'C' - Curriki rating

Non-profit Tax ID # 203478467