Welcome to
AP Computer Science Principles
Great
job on your Introduction to Programming!
This week we are going to be working on the following:
Unit
3: Programming Continued
Unit
4: Big Data and Privacy
Unit
6: Explore Performance Task – Beginning December
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
Saturday
February 3, 2017 Study Session – Auburn HS
This
Week’s Agenda:
Unit
3: Programming and Algorithms
And
Unit
4: Big Data and Privacy
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
Introduction to UNIT 4: Big
Data and Privacy:
The
data rich world we live in also introduces many complex questions related to
public policy, law, ethics and societal impact. In many ways this unit acts as a
unit on current events. It is highly likely that there will be something related
to big data, privacy and security going on in the news at any point in time. The
major goals of the unit are:
1)
for students to develop a well-rounded and balanced view about data in the world
around them and both the positive and negative effects of it and
2)
to understand the basics of how and why modern encryption works.
Chapter
1: The World of Big Data and Encryption
Big
Questions
Enduring
Understandings
Week
12: Monday Day F -
11-20-17 – Wednesday Day H – 11-22-17
Lesson
6: Functions and Top-Down Design
CL -
Collaboration
CPP -
Computing Practice & Programming
CT -
Computational Thinking
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]
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]
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:
A technique for deciding what functions you should write is to
look at the problem with a "top-down design" perspective. The process
of creating software begins long before the first lines of code are written.
Breaking a problem down into layers of sub-tasks, and writing well-named
functions that solve those tasks is a creative act of abstraction. It also leads
to good code that is more efficient, easier to read, and therefore easier to
debug when problems arise.
In professional settings, teams of people first identify the
problems and sub-problems the particular software will be addressing and how it
will be used. This approach to designing software is critical when facing
large-scale programming tasks. Once the problem is well understood, it can be
broken into parts that teams or individual programmers can begin to work on
solving at the same time. Full software systems take advantage of the power of
abstraction; each programmer in a team can write code, assuming the sub-problems
will be solved and written by other teammates.
Recall:
In the previous lesson we wrote a program that used layers of
functions (functions that called other functions) to get the turtle to draw a
diamond-shaped figure.
Prompt:
"Imagine that you have two programs that drew the
diamond-shaped figure. One program uses functions as we did in the previous
lesson. The other doesn’t use functions; it’s just a long sequence of the
turtle’s primitive commands. Which program is more efficient? Make an argument
for why one is more efficient than the other."
Discuss:
Have students briefly share their arguments for one program over
the other:
Transition: Efficiency
is an interesting thing to think about, but functions also introduce the ability
to leverage the power of abstraction: when we write a function, it solves a
small piece of a bigger problem. Having the small problem solved allows us to
ignore its details and focus on bigger problems or tasks.
Today we’ll get more practice with thinking about how to break
problems down into useful functions.
Review
this Explanation of Top-Down Design
Guided
Instruction:
1)
Log
into code.org and go to Unit 3: Lesson 6.
2)
Open
the Top-Down
Design - Worksheet
a.
Students
should work in pairs.
b.
Read
the first page of the worksheet that describes the top-down problem solving
process.
c.
Design
a solution to the problem on the second page by writing down the functions they
would write to solve the problem.
d.
After
a pair has come up with a solution on paper, compare with another group to see
similarities and differences.
3)
Go
into Code Studio for Lesson 6
4)
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.
5)
Complete
the AP Practice Response exercise after you have completed your programming
challenges.
6)
Complete
the lesson assessment
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 6
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:
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
Assessment Overview and Performance Task Directions for Students.
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