Welcome to
AP Computer Science Principles
Great
job on your Practice Explore Performance Task!
This week we are going to be working on the following:
Unit
2: Digital Information – Completion
Introduction
to Unit 3: Intro to Programming
Unit
6: Explore Performance Task - Ongoing
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: Explore
Performance Task: 8 hours
To
Be Completed by December 22, 2017
This
Week’s Agenda:
Complete
Unit 2: Digital Information
And
Introduction
to Unit 3: Into to Programming
Introduction to UNIT 3: Algorithms
and Programming:
This
unit introduces the foundational concepts of computer programming, which unlocks
the ability to make rich, interactive apps. This course uses JavaScript as the
programming language, and App Lab as the programming environment to build apps,
but the concepts learned in these lessons span all programming languages and
tools.
Chapter
1: Programming Languages and Algorithms
Big
Questions
Enduring
Understandings
Week 10: Monday Day F -
11-6-17 – Thursday Day A – 11-9-2017
Period 7
Complete Explore Performance Task Presentations
Make sure to create College Board Digital Portfolio Account
Lesson 9: Check Your Assumptions
CT - Computational Thinking
2.1 -
A variety of abstractions built upon binary sequences can be used to represent
all digital data.
2.1.1 -
Describe the variety of abstractions used to represent data. [P3]
2.1.2 -
Explain how binary sequences are used to represent digital data. [P5]
3.3 - There are trade offs when representing information as digital
data.
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 2: and click ‘View course’.
Direct Instruction and
Guided Instruction:
1)
Complete presentation of new tools for creating computing
artifacts.
Key
Point: We can only succeed through class participation and collaboration.
2)
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.
THEN DO THE FOLLOWING:
Lesson
9: Check Your Assumptions
CT - Computational Thinking
3.1 - People use computer programs to process information to gain
insight and knowledge.
3.1.1 - Use computers to process information, find patterns, and test
hypotheses about digitally processed information to gain insight and knowledge.
[P4]
3.1.2 - Collaborate when processing information to gain insight and
knowledge. [P6]
3.2 - Computing facilitates exploration and the discovery of
connections in information.
3.2.1 - Extract information from data to discover and explain
connections, patterns, or trends.
7.4 - Computing innovations influence and are influenced by the
economic, social, and cultural contexts in which they are designed and used.
7.4.1 - Explain the connections between computing and
economic, social, and cultural contexts. [P1]
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 2: The ‘Digital Information’ tile and click
‘View course’.
Direct Instruction and
Guided Instruction:
In this lesson we look deeper into why we separate the what from
the why when looking at data. The main purpose here is to raise
awareness of the assumptions that we (all people) make when looking at data and
try to call them out. Some of these assumptions lie hidden beneath the surface
and we want to shed some light on them by looking at some examples from the
news. This is a useful mode of reflection that will serve students well when
doing reflective writing on the performance tasks.
Analyzing and interpreting data will typically require some
assumptions to be made about the accuracy of the data and the cause of the
relationships observed within it. When decisions are made based on a collection
of data, they will often rest just as much on that set of assumptions about the
data as the data itself. Identifying and validating (or disproving) assumptions
is therefore an important part of data analysis. Furthermore, clear
communication about how data was interpreted should also include an account of
the assumptions made along the way.
Thinking Prompt and
Class Discussion:
What are the potential
beneficial effects of using a tool like Google Flu Trends?
Assign articles to
students to read:
Thinking
Prompt:
“Why did Google Flu Trends eventually fail? What assumptions
did they make about their data or their model that ultimately proved not to be
true?“
Activity:
Digital Divide and Checking Assumptions - Activity Guide
This activity guide begins with a link to a report from Pew
Research which examines the “digital divide.” Students should look through
the visualizations in this report and record responses to the questions found in
the activity guide.
Discuss:
In small groups or as a class, students should discuss the
answers they have recorded in their activity guides.
Students should complete the second half of the activity guide.
They are presented a set of scenarios in which data was used to make a decision.
Students will be asked to examine and critique the assumptions used to make
these decisions. Then they will suggest additional data they would like to
collect or other ways their decision could be made more reliably.
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 Lesson 9 Activity Guide and
classroom discussion.
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:
Preparation for College Board Explore Performance Task:
Ř
Look
for a computing innovation that will allow you to meet all requirements of the
Explore Performance Task. Begin thinking about the digital tools you will use to
create your innovation artifact.
Ř
Complete
your ticket to leave journal entry.
Period 6 and Period 7
Lesson
10: Good and Bad Data Visualizations
CT - Computational Thinking
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 2: The ‘Digital Information’ tile and click
‘View course’.
Direct Instruction and
Guided Instruction:
An important skill is the ability to critically evaluate
information. As our world is increasingly filled with data, more and more the
information from that data is conveyed through visualizations. Visualization is
useful for both discovery of connections and trends and also communication-
both are potentially aspects of the Explore Performance Task. In this lesson we
will focus on the communication aspects of visualization.
Interpreting data visualizations is not typically thought of as a
core computer science skill, but it is certainly an important one in an age of
digital data. Computing has enabled massive amounts of information to be
automatically collected, aggregated, analyzed, and visualized. Visualizations
are useful in helping humans understand large amounts of data quickly, and they
are useful communication tools when presenting findings about a collection of
data. Not all visualizations are created equal, however, and in many cases the
type of visualization used may distract or even mislead the reader.
As both creators and consumers of data visualizations, students
need to be on the lookout for these common pitfalls. This will allow them to be
savvier readers of data visualizations, and more effective communicators when
creating visualizations of their own.
Activity:
Making even a small visualization may have been surprisingly
challenging and varied.
In fact, even
experienced data analysts can end up obscuring their message when they make data
visualizations.
To better understand
some of the skills we just read about, we are going to evaluate a collection of
data visualizations to determine how well they communicate their message.
Review
and Rate Data Visualizations
Pair: Partner
students who will work through the worksheet together.
Assign: There
are two different collections of data visualizations. Each pair of students
should be assigned to evaluate one of either:
or
Links
to the separate collections can be found in Code Studio
Worksheet - Data Visualization
Scorecard - Worksheet
Transition
to Good and Bad Visualizations on Code Studio
The
worksheet asks pairs of students to collaborate in reviewing the data
visualizations:
Share:
After completing the worksheet, have each group share the best
and worst image from their set with another group. Groups should focus on how
they would fix the worst visualization they chose. Share and exchange ideas
about different ways to visualize the data.
Debrief: What makes a
good/bad data visualization? Group share!
We’re going to be making some of our own visualizations of data
very soon. To help us do that, we’re going to look at some helpful tips for
effectively communicating with data visualization.
Data Visualization 101: How to design charts and graphs - Link.
Students should read the first 4 pages of this document.
Discuss: What are the key take-aways from this guide?
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 Lesson 10 Activity Guide and
classroom discussion.
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:
Preparation for College Board Explore Performance Task:
Ř
Look
for a computing innovation that will allow you to meet all requirements of the
Explore Performance Task. Begin thinking about the digital tools you will use to
create your innovation artifact.
Ř
Complete
your ticket to leave journal entry.
Period 6 and Period 7
Lesson 1: The Need for Programming Languages
CT - Computational Thinking
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.
4.1.2 -
Express an algorithm in a language. [P5]
5.2 -
People write programs to execute algorithms.
5.2.1 -
Explain how programs implement algorithms. [P3]
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 and
Guided Instruction:
When you formalize language or commands that describe actions you
are making a kind of code. This is also necessary for computers, which are
simply machines that can perform a number of different tasks. In order to write
instructions for them to do something you must agree on the “code” and each
action must have a precise, unambiguous meaning. This is a programming
language. Novices might think that a programming language looks like an archaic,
impenetrable mass of abstract word groupings, but all programming languages are
derived from the human need to concisely give instructions to a
machine.
You Should Learn to Program: Christian Genco at TEDxSMU -
Video
Activity
Preparation:
Lesson
1: Open the LEGO Instructions - Activity Guide
·
Students can record their instructions on a plain sheet of paper,
poster paper, piece of construction paper, etc.
·
Students are encouraged to work in groups of 2
·
Each group should be given 5-6 LEGO® blocks.
Below are the steps students are asked to complete in the
activity guide.
Create a simple LEGO arrangement (and record it)
Groups should create an arrangement of their blocks in accordance
with the following rules:
Write
instructions for building your arrangement
On a separate sheet of paper, each group should write out a set
of instructions that another group could use to create the same arrangement. A
couple of guidelines are below:
Trade
instructions and attempt to follow them
Groups should disassemble their arrangements, place their
instructions next to the pieces, and hide their image or drawing of the
arrangement somewhere it cannot be seen. Have groups move around the room to
other groups’ instructions and try to follow them to build the desired
arrangements. Have the original group check whether the solutions are correct or
let groups check their solutions themselves by looking at the recorded image of
the arrangement afterwards. Allow groups an opportunity to try a few of their
classmates’ instructions before reconvening.
Answer
the following within your engineering notebooks:
·
"Were you always able to create the intended arrangement?
Were your instructions as clear as you thought?"
·
"Why do you think we are running into these
miscommunications? Is it really the fault of your classmates or is something
else going on?"
Final
Remarks
Today we saw how human language may not always be precise enough
to express algorithms, even for something as simple as building a small LEGO
arrangement. The improvements you have suggested actually create a new kind of
language for expressing algorithms, which we as computer scientists call a
programming language. In the coming unit we are going to learn a lot more about
how we can use programming languages to express our ideas as algorithms, build
new things, and solve problems.
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 this Lesson 1
activity.
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:
Preparation for College Board Explore Performance Task:
Ř
Look
for a computing innovation that will allow you to meet all requirements of the
Explore Performance Task. Begin thinking about the digital tools you will use to
create your innovation artifact.
Ř
Complete
your ticket to leave journal entry.
Period 6
Lesson
4: Using Simple Commands
CL -
Collaboration
CPP -
Computing Practice & Programming
CT -
Computational Thinking
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.2 -
People write programs to execute algorithms.
5.2.1 -
Explain how programs implement algorithms. [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:
On
to programming! How we will learn.
In this course, and in
computer science in general, all of the complexity we see on a computer is
actually just the composition (the combining and recombining) of a few simple
elements.
We
start this journey today.
Guided
Instruction:
App Lab is the programming environment we’re going to use for
the rest of the course to write programs and apps. App Lab is embedded into Code
Studio for many lessons and usually presents you with a series of problems to
solve to learn the basic concepts. As you get better and better at coding, App
Lab will show you more and more things you can do. But to start, we’re going
to keep things simple and build up the complexity.
1)
Log
into code.org and go to Unit 3: Lesson 4.
2)
Complete
all of the programming challenges. When you have successfully completed a
challenge take a screen shot using the Snipping tool, and add to your
Engineering Notebook.
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 4
challenges.
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:
Preparation for College Board Explore Performance Task:
Ř
Look
for a computing innovation that will allow you to meet all requirements of the
Explore Performance Task. Begin thinking about the digital tools you will use to
create your innovation artifact.
Ř
Complete
your ticket to leave journal entry.
Thanks for a great
week!
Mr. PC
An Introduction
to Programming with the MIT App Inventor
Vocabulary:
Software Development
Environment (SDE)
Computer Programming Environment (CPE)
Programming
Language
Components
Software
Objects
Instructions
Processes
Program
Project
Built in Functions
Recursive
Commands
Repeat
Syntax
Test
Procedures
Debug
Functions
Software Bugs (Errors)
Arguments
Run or Execute
Variables
Problem Solving
Logical Thinking
Direct Instruction: Introduction to Cell Phone App Design
Setting up the APP Inventor and Emulator for Testing
You can set up App Inventor and start building apps in minutes.
The Designer and Blocks Editor now run completely in the browser (aka
the cloud). To see your app on a device while you build it (also called
"Live Testing"), you'll need to follow the steps below.
If you are using an Android device and you have
a wireless internet connection, you can
start building apps without downloading any software to your computer. You will
need to install the App Inventor Companion App for your device. Choose Option
One below. This
option is STRONGLY RECOMMENDED
For Class Use this Option: If you do not have an Android
device,
you'll need to install software on your computer so that you can use the
on-screen Android emulator. Choose Option Two below.
If you do not have a wireless internet
connection, you'll need to install software on your computer so that you
can connect to your Android device over USB. Choose Option
Three below. The
USB Connection option can be tricky, especially on Windows. Use this as a last
resort.
If you have
a computer, an Android device, and a WiFi connection, this is the easiest way to
test your apps.
If you don’t have an Android phone or tablet handy, you can
still use App Inventor. Have a class of 30 students? Have them work primarily on
emulators and share a few devices.
Note: Internet Explorer is not supported. We recommend Chrome or Firefox.
2)Check out the Designer and Blocks Editor Overview
3)Setup Review the
following Beginner Tutorials
4)Click on the Beginner Tutorial link above and follow the directions and watch the
video tutorial for the TalkToMe app.
Develop the APP and test using your cell phone Emulator.
5)Click on the Beginner Tutorial link above and follow the directions and watch the
video tutorial for the Extended TalkToMe
Shake app. Develop the APP and test
using your cell phone Emulator.
6)Click
on the Beginner Tutorials link above
and follow the directions and watch the video tutorial for the BallBounce Game app. Develop the APP and test using your cell phone
Emulator.
7)Click
on the Beginner Tutorials link above
and follow the directions and watch the video tutorial for the Digital Doodle app. Develop the APP and test using your cell phone
Emulator.
8)Click
on the Tutorial below and follow the
directions to change your TalkToText
App to the Magic 8 Ball app. Develop
the APP and test using your cell phone Emulator.
Click Here to Access Your Development Environment
Explore
Performance Task Rubric
More Resources for
finding computing innovations:
http://www.pbslearningmedia.org/
Tools
for building computing artifacts:
http://cooltoolsforschools.wikispaces.com/
To Do: Create Digital
Portfolios for Performance Tasks Submissions. Our goal is to complete our
Explore Performance Task before the end of 2017.
·
Begin
preparing for the May 11th Exam with practice exam questions from AP training
google drive and the career board. Use online student response system for class
review and discussion.
Chapter 1: Representing and Transmitting Information
Big Questions
·
Why do computers use binary to represent
digital information?
·
How does data physically get from one
computer to another?
·
Are the ways data is represented and
transmitted with computers laws of nature or laws of man?
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.
Chapter 2: Inventing the Internet
·
Who and what is “in charge” of the
Internet and how it functions?
·
How is information transmitted from one
computer to the other when they are not directly connected?
·
How can the Internet keep growing? How
does that work?
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.
Chapter
1: Encoding and Compressing Complex Information
Big
Questions
·
Are the ways in which digital information
is encoded more laws of nature or man made?
·
What kinds of limitations does the binary
encoding of information impose on what can be represented inside a computer?
·
How accurately can human experience and
perception be captured or reflected in digital information?
Enduring
Understandings
·
1.1 Creative development can be an
essential process for creating computational artifacts.
·
1.3 Computing can extend traditional forms
of human expression and experience.
·
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.
Chapter 2: Manipulating and Visualizing Data
Big Questions
Enduring Understandings
UNIT 6: AP Performance Tasks
·
This unit contains lessons to help students with
preparation and execution of the AP® Performance Tasks: Create and Explore
·
The lessons in this unit are meant to be taken
piecemeal rather than as a typical unit sequence. Instead of a sequence of
connected lessons, these represent a more modular breakdown of the things you
need to do to:
1) Understand the AP Performance Tasks
2) Make a plan for completing the tasks in the
time allotted and
3) Actually doing the tasks and submitting
Online Explore Performance Task Resources:
AP CSP Course and
Exam Description
Explore
PT Prep: Reviewing the Task
Explore
Performance Task Rubric