Welcome to AP Computer Science Principles




Continuation of Unit 3: Programming and Algorithms

Create - AP Performance Task Prep - Introduction

 

To Think; To Develop Problem-Solving Skills; To Discover; and To Create;

Learning to Compute and Computing to Learn

Classroom Protocol:

 

This is where you will come every day to find out what we are going to do in class for that day. Every day you are to come to your Quia class web page upon arriving to class, go to your class web page, and follow the directions for today.

 

Homework Policy:

 

All assignments will be due on the deadline date given. It is the responsibility for all students to complete their assignments on time. Any assignments received late will not be accepted and a grade will not be given for that assignment.

Accessing your Class Weekly Agenda:

Each week’s agenda and assignments will be updated and posted on your Quia class web page on a weekly basis.  Previous weeks Assignments/Agendas will be provided with a link at the end of the current week’s Class Web Page in case you need to revisit due to an absence, or you’re required to make up, or catch up on your course assignments.

Homework Assignment: Daily homework assignments may be found at the end of each day’s agenda. Daily Journal Entries as seen in Daily Ticket to Leave are to be entered as part of your daily homework. All students will receive a homework grade on a weekly basis, and your journal will receive a project grade each mid-term and final semester.

 

IMPORTANT DATES:     Saturday February 2nd @ Auburn HS

 

                                      Saturday April 6th Mock Exam @ your school

Create Performance Task:  12 hours - Beginning March 25, 2019 (12 hours)

To Be Completed by April 19, 2019

AP Computer Science Principles Exam Day - FRI, MAY 10, 2019 (Noon – 2 hours)

 

 

 

This Week’s Agenda:

Continuation of Unit 3: Programming and Algorithms

Engineering Notebook Daily Entries

IMPORTANT NOTE: Make sure to take a screen shot of every exercise you complete which includes the code you wrote and result of running your program, and add to your engineering notebook on a daily basis. Thanks.

Create Performance Task and College Board Exam Preparation

 

Monday Day B - 1-7-19 – Friday Day A 1–11-19

 

 

Monday Day B - 1-7-19 and Tuesday – 1-8-19

 

Introduction to Create Performance Task

 

Lesson 1: Create PT: Review the Task

Lesson 2: Create PT: Make a Plan

 

Standards Alignment

CSTA K-12 Computer Science Standards

1.1 - Creative development can be an essential process for creating computational artifacts.

1.2 - Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem.

5.1 - Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).


Objectives

Students will be able to:

 

Activator: Open up your Engineering Journal and review what you entered last class. Review the Standards, Objectives, above, for today’s lesson. Click on https://studio.code.org/ and log in. Locate the The ‘Create Performance Task - Prep’ tile and click ‘View course’.

Direct Instruction and Guided Practice:

The Create PT is in many ways straightforward: you complete a self-directed programming project and respond to prompts about your program and process. As you dig into the details of the task, however, you quickly come across some of the nuances of individual components of the task and how they're scored. This lesson is designed to introduce what these nuances are, and begin to provide some answers to the questions that will inevitably arise. Keep in mind that the next lesson provides a more structured set of responses to those questions, and so today students are just diving in to what the task looks like.

Review the Task

Introduce the Create PT

Remarks

Today we're going to start looking more deeply at the Create PT, focusing specifically on understanding:

Don't worry, you already have much of the knowledge and skills you need to do well on this task. The hardest part might be just understanding what is required of you.

First, we'll quickly read the task description and look at some examples and how they were scored.

Review Create PT Submission Requirements and Scoring Guidelines

Students can find links for all these activities in Code Studio. Here is what they can see:

 

AP CSP Performance Task Directions for Students - Resource

 

Create PT - Scoring Guidelines 2019 - College Board Doc

 

Prompt: Read the "Submission Requirements" section on pages 9-11, and (2) the scoring guidelines. For the scoring guidelines you can focus only on the first 3 columns for now: "Reporting Category", "Task", "Scoring Criteria". We'll dive into the decision rules later. Just get familiar with these documents.

I'm sure that right now you have a lot of questions about what this task will look like and how it will be scored. Before we answer them, let's look at some examples first.

Review Scoring Guidelines and Sample Tasks

Student Samples

The student samples used in this activity come directly from the AP Central website which shows in separate documents: student samples, scoring guidelines, and scoring notes. You can direct students there to find the samples, or look at others if you like.

Later in the activity we provide "annotated" versions that merge all three of these things together into one side-by-side view.

Create PT Sample Response C

Prompt: This is a raw student submission - exactly what the student uploaded for their computational artifact and written responses.

Remarks

Sample C actually received a 7/8 score. Let's look at the student response side-by-side with the scoring guidelines and the actual AP scorer's notes to see why.

The CB Create PT - Sample C (7/8) (links available on student page).

Prompt: 

What characteristics of this response made it score well?

Why specifically did this submission not earn Row 6?

What questions do you still have about the Scoring Guidelines or Task description?

 

Create PT Annotated Samples F 2018 (5/8), I 2018 (3/8), and J 2018 (1/8)

 

Remarks

Let's now take a look at some other samples.

 

Review Grumpy Cat Exemplar Create PT

Review: The Code.org curriculum team felt students could benefit from seeing an exemplar Create PT project in which they could see and even edit the entirety of the program code. The links below are to an exemplar Create PT submission and program code we believe would earn full credit on the 2018 Create Performance Task.

 

Review Submissions of last year’s AP CSP Students

 

For the Students

Summarizer:

Mr. PC will review each day what each student accomplished and the focus of tomorrow.

Assessment for/of learning:

Students are to be assessed on today’s review of the Create Performance Task and class participation.

Ticket to Leave:

In order to prepare you for your next AP CSP college-board performance task we need to get use to reflecting on our daily work and experiences. This is a skill that will prove to be useful when you go on to college, enter the workforce, and even in every aspect of your everyday life.  Every day at the end of class you should save your work, open up your journal, put down today’s date, and provide the following information.

1.   Provide at least on new thing that you learned today – Refer to today’s Objectives

2.   What did you accomplish today?

3.   Indicate any problems or obstacles you experienced

4.   How did you solve the problems or obstacles that you experienced?

Feel free to provide screen shots of your daily work in order to illustrate your day’s activities. Windows provides a Snipping Tool within its provided Accessories that may be used for this purpose.

 

Homework:

 

Ø  In order to begin preparation for the next task to be submitted to the college-board, Please click on the following link and review the requirements for the Create Performance Task. Feel free to review the sample task submissions and the comments on how the performance task received its score.

Create Performance Task Rubric

Ø  Students should begin their research and definition of what their Create Performance Task will be and how it will meet the criteria setforth within the CP Task Rubric above.

Ø  Complete your ticket to leave journal entry.

 

 

Wednesday – 1-9-19

Lesson 9: Looping and Random Numbers

 

Standards Alignment

CSTA K-12 Computer Science Standards

CL - Collaboration

CPP - Computing Practice & Programming

CT - Computational Thinking

Computer Science Principles

 

4.1 - Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages.

5.1 - Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).

5.3 - Programming is facilitated by appropriate abstractions.

5.4 - Programs are developed, maintained, and used by people for different purposes.

 

Objectives

Students will be able to:

Activator: Open up your Engineering Journal and review what you entered last class. Review the Standards, Objectives, above, for today’s lesson. Click on https://studio.code.org/ and log in. Locate the Unit 3: The ‘Intro to Programming’ tile and click ‘View course’.

Direct Instruction:

Vocabulary

Purpose

Loops are a relatively straightforward idea in programming - you want a certain chunk of code to run repeatedly - but it takes a little practice to get good at controlling loops and recognizing how and where in your programs to use them. The for loop in JavaScript (and many other programming languages) is designed to be used for both simple and sophisticated programming tasks, thus it has a lot of syntax to it that will be explained in the future. In this lesson, the block-based form of the for loop exposed to students is effectively a simple repeat loop - it only lets them change a number that dictates how many times the loop repeats.

Random numbers are also used more (much more) in this lesson as an effective way to experiment with loops. Creating some randomly-generated output with each iteration of the loop is good visual feedback that the loop is running the way you expect. It also helps you explore the ranges of possible outputs, which tells you more about what your program can and cannot do.

 

Tutorial - Loops - Video (download)

 

Guided Instruction:

As we have developed as programmers, we have focused on the process of breaking down large tasks into smaller pieces and assigning each piece a function.

When we break down a large task, often we will find that some portion of the task needs to be repeated many times. As programmers, we would simply call the same function many times. This might work if we need to call the same function five times, but if that function needs to be run 1,000,000 times, we’ll need a better solution.

Today we’ll be exploring how a programming construct called a loop solves this problem by allowing us to repeat a set of commands many times.

We’ll also practice looping through commands many times with random input, therefore giving us many instances of random output.

Just as we saw yesterday, this will be both useful for testing our code and also for developing more variety in our drawings.

 

 

1)   Log into code.org and go to Unit 3: Lesson 9.

2)   Complete all of the programming challenges. Make sure to read all documentation for the given API before attempting to use. When you have successfully completed a challenge take a screen shot using the Snipping tool, and add to your Engineering Notebook.

3)   Complete the practice written response in order to begin preparing for the Create Performance Task

4)   Complete the lesson assessment

 

When to use Functions versus Loops

 

While you can get code to function similarly with a function or a loop the general rule of thumb is:

Summarizer:

Mr. PC will review each day what each student accomplished and the focus of tomorrow.

Assessment for/of learning:

Students are to be assessed on the completion of Lesson 9 challenges and assessment exercises. All information should be completed online within code.org.  Thanks

Ticket to Leave:

In order to prepare you for your two AP CSP college-board performance tasks we need to get use to reflecting on our daily work and experiences. This is a skill that will prove to be useful when you go on to college, enter the workforce, and even in every aspect of your everyday life.  Every day at the end of class you should save your work, open up your journal, put down today’s date, and provide the following information.

1.   Provide at least on new thing that you learned today – Refer to today’s Objectives

2.   What did you accomplish today?

3.   Indicate any problems or obstacles you experienced

4.   How did you solve the problems or obstacles that you experienced?

Feel free to provide screen shots of your daily work in order to illustrate your day’s activities. Windows provides a Snipping Tool within its provided Accessories that may be used for this purpose.

Homework: 

 

Ø  In order to begin preparation for the next task to be submitted to the college-board, Please click on the following link and review the requirements for the Create Performance Task. Feel free to review the sample task submissions and the comments on how the performance task received its score.

Create Performance Task Rubric

Ø  Students should begin their research and definition of what their Create Performance Task will be and how it will meet the criteria setforth within the CP Task Rubric above.

Ø  Complete your ticket to leave journal entry.

 

 

 

Thursday Day G - 2-8-18 and Friday Day H – 2-9-18

 

Lesson 10: Practice PT - Design a Digital Scene

 

 

Standards Alignment

CSTA K-12 Computer Science Standards

CL - Collaboration

CL.L2:3 - Collaborate with peers, experts and others using collaborative practices such as pair programming, working in project teams and participating in-group active learning activities.

CPP - Computing Practice & Programming

CPP.L2:5 - Implement problem solutions using a programming language, including: looping behavior, conditional statements, logic, expressions, variables and functions.

CPP.L3A:3 - Use various debugging and testing methods to ensure program correctness (e.g., test cases, unit testing, white box, black box, integration testing)

CPP.L3A:4 - Apply analysis, design, and implementation techniques to solve problems (e.g., use one or more software lifecycle models).

CT - Computational Thinking

CT.L2:6 - Describe and analyze a sequence of instructions being followed (e.g., describe a character's behavior in a video game as driven by rules and algorithms).

CT.L3A:1 - Use predefined functions and parameters, classes and methods to divide a complex problem into simpler parts.

CT.L3A:3 - Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.

CT.L3B:4 - Evaluate algorithms by their efficiency, correctness, and clarity

Computer Science Principles

2.2 - Multiple levels of abstraction are used to write programs or create other computational artifacts

2.2.1 - Develop an abstraction when writing a program or creating other computational artifacts. [P2]

2.2.2 - Use multiple levels of abstraction to write programs. [P3]

2.2.3 - Identify multiple levels of abstractions that are used when writing programs. [P3]

4.1 - Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages.

4.1.1 - Develop an algorithm for implementation in a program. [P2]

5.1 - Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).

5.1.2 - Develop a correct program to solve problems. [P2]

5.1.3 - Collaborate to develop a program. [P6]

5.3 - Programming is facilitated by appropriate abstractions.

5.3.1 - Use abstraction to manage complexity in programs. [P3]

5.4 - Programs are developed, maintained, and used by people for different purposes.

5.4.1 - Evaluate the correctness of a program. [P4]


Objectives

Students will be able to:

Activator: Open up your Engineering Journal and review what you entered last class. Review the Standards, Objectives, above, for today’s lesson. Click on https://studio.code.org/ and log in. Locate the Unit 3: The ‘Intro to Programming’ tile and click ‘View course’.

Direct Instruction:

Abstraction is an important tool in programming, not only because it allows individual programmers to break down complex problems, but because it enables effective forms of collaboration. Once a problem has been broken down into its component parts, teams of programmers (sometimes dozens or more) can attack individual components of that problem in parallel. This style of programming requires clear communication and a shared understanding of the high-level requirements of the software. If implemented carefully, however, it can be an effective strategy for rapidly producing large and complex pieces of software.

Guided Instruction:

1.   Log into code studio, Go to Unit 3 and Lesson 10 and proceed through today’s exercises.

 

Sharing your code:

After students create a program which contains their own functions they’ll need to get the code to their classmates and vice versa so that they can copy their partners’ functions into their own projects.

Students will need some way of recombining their code. Possible solutions are:

These are the bullet points - a more complete How-To guide viewable for students is in code studio.

Share Code

Retrieve code from Shared Project

 

Summarizer:

Mr. PC will review each day what each student accomplished and the focus of tomorrow.

Assessment for/of learning:

Students are to be assessed on today’s lesson in the introduction to Programming, Unit 3, Lesson 10.

Ticket to Leave:

In order to prepare you for your next AP CSP college-board performance task we need to get use to reflecting on our daily work and experiences. This is a skill that will prove to be useful when you go on to college, enter the workforce, and even in every aspect of your everyday life.  Every day at the end of class you should save your work, open up your journal, put down today’s date, and provide the following information.

1.   Provide at least on new thing that you learned today – Refer to today’s Objectives

2.   What did you accomplish today?

3.   Indicate any problems or obstacles you experienced

4.   How did you solve the problems or obstacles that you experienced?

Feel free to provide screen shots of your daily work in order to illustrate your day’s activities. Windows provides a Snipping Tool within its provided Accessories that may be used for this purpose.

 

Homework:

 

Ø  In order to begin preparation for the next task to be submitted to the college-board, Please click on the following link and review the requirements for the Create Performance Task. Feel free to review the sample task submissions and the comments on how the performance task received its score.

Create Performance Task Rubric

Ø  Students should begin their research and definition of what their Create Performance Task will be and how it will meet the criteria setforth within the CP Task Rubric above.

Ø  Complete your ticket to leave journal entry.

 

Thanks for a great week!

Mr. PC 

 

 

Preparation of your AP CSP Digital Portfolios: Click on the link below.

Student Digital Portfolio Guide – Save a copy of the Student Digital Portfolio Guide to your Google Drive

Ø  Please review the Student Digital Portfolio Guide and follow the directions for setting up your digital portfolio for your AP CSP course. Thanks.

 

 

Online Explore Performance Task Resources:

AP CSP Performance Task Directions for Students - College Board Student Handout

 

 

Explore Performance Task Rubric

More Resources for finding computing innovations:

http://www.ted.com/talks

 

www.digg.com

 

http://www.teachersdomain.org

 

http://www.pbslearningmedia.org/

 

 

Tools for building computing artifacts:

 

https://sites.google.com/view/cool-tools-for-schools/home

 

 

 

To Do: Create Digital Portfolios for Performance Tasks Submissions. Our goal is to complete our Explore Performance Task before the end of 2018.

 

 

UNIT 1 Overview: The Internet:

This unit explores the technical challenges and questions that arise from the need to represent digital information in computers and transfer it between people and computational devices. The unit then explores the structure and design of the internet and the implications of those design decisions.

In this unit students learn how computers represent all kinds of information and how the Internet allows that information to be shared with millions of people.

The first chapter explores the challenges and questions that arise when representing information in a computer or sending it from one computer to another. It begins by investigating why on-off signals, also known as binary signals, are used to represent information in a computer. It then introduces the way common information types like text and numbers are represented using these binary signals. Finally, it illustrates the importance of establishing shared communication rules, or protocols, for successfully sending and receiving information.

In the second chapter, students learn how the design of the internet allows information to be shared across billions of people and devices. Making frequent use of the Internet Simulator, they explore the problems the original designers of the internet had to solve and then students “invent” solutions. To conclude the unit, students research a modern social dilemma driven by the ubiquity of internet and the way it works.

 

Chapter 1: Representing and Transmitting Information

Big Questions

 

Enduring Understandings

·         2.1 A variety of abstractions built upon binary sequences can be used to represent all digital data.

·         3.3 There are trade-offs when representing information as digital data.

·         6.2 Characteristics of the Internet influence the systems built on it.

7.2 Computing enables innovation in nearly every field.

 

Unit 1 Vocabulary

 

Vocabulary

Unit 1: Chapter 2: Inventing the Internet

Big Questions

 

Enduring Understandings

·         2.1 A variety of abstractions built upon binary sequences can be used to represent all digital data.

·         6.1 The Internet is a network of autonomous systems.

·         6.2 Characteristics of the Internet influence the systems built on it.

·         7.3 Computing has a global affect -- both beneficial and harmful -- on people and society.

Introduction to UNIT 2: Digital Information:

This unit further explores the ways that digital information is encoded, represented and manipulated. Being able to digitally manipulate data, visualize it, and identify patterns, trends and possible meanings are important practical skills that computer scientists do every day. Understanding where data comes from, having intuitions about what could be learned or extracted from it, and being able to use computational tools to manipulate data and communicate about it are the primary skills addressed in the unit.

This unit explores the way large and complex pieces of digital information are stored in computers and the associated challenges. Through a mix of online research and interactive widgets, students learn about foundational topics like compression, image representation, and the advantages and disadvantages of different file formats. To conclude the unit, students research the history and characteristics of a real-world file format.

Chapter 1: Digital Information

 

Big Questions

 

 

 

Enduring Understandings

 

 

Vocabulary

Unit 3 - Intro to Programming

In Unit 3, students explore the fundamental topics of programming, algorithms, and abstraction as they learn to programmatically draw pictures in App Lab. An unplugged sequence at the beginning of the unit highlights the need for programming languages as well as the creativity involved in designing algorithms. Students then begin working in App Lab where they use simple commands to draw shapes and images using a virtual “turtle.” As they’re introduced to more complex commands and programming constructs, students learn to break down programming problems into manageable chunks. The unit ends with a collaborative project to design a digital scene.

Chapter 1: Intro to Programming

Big Questions

Enduring Understandings

 

Unit 3 Vocabulary

 

Vocabulary

Unit 4 - Big Data and Privacy

In this unit students explore the technical, legal, and ethical questions that arise from computers enabling the collection and analysis of enormous amounts of data. In the first half of the unit, students learn about both the technological innovations enabled by data and the privacy and security concerns that arise from collecting it. In the second half of the unit, students learn how cryptography can be used to help protect private information in the digital age.

Chapter 1: Big Data and Privacy

Big Questions

 

Enduring Understandings

 

 

Unit 4 Vocabulary

 

Vocabulary

 

AP CSP Syllabus

AP CSP Week 1 Agenda  

AP CSP Week 2 Agenda

AP CSP Week 3 Agenda

AP CSP Week 4 Agenda  

AP CSP Week 5 Agenda

AP CSP Week 6 Agenda  

AP CSP Week 7 Agenda

AP CSP Week 8 Agenda  

AP CSP Week 9 Agenda

AP CSP Week 10 Agenda  

AP CSP Week 11 Agenda

AP CSP Week 12 Agenda  

AP CSP Week 13 Agenda

AP CSP Week 14 Agenda  

AP CSP Week 15 Agenda

AP CSP Week 16 Agenda

AP CSP Week 17 Agenda

AP CSP Week 18 Agenda