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
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.
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.
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.
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.
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?
Remarks
Let's now take a look at some other samples.
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.
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
CL -
Collaboration
CPP -
Computing Practice & Programming
CT -
Computational Thinking
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:
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
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
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.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
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
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
Unit
3 Vocabulary
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.
Unit
4 Vocabulary
AP CSP Week 1 Agenda AP CSP Week 3 Agenda AP CSP Week 6 Agenda AP CSP Week 8 Agenda AP CSP Week 10 Agenda AP CSP Week 12 Agenda AP CSP Week 14 Agenda AP CSP Week 16 Agenda