Welcome to AP Computer Science Principles




Last Week of Semester 1!

Mr. PC will be back on Thursday 1-18-18

Thanks for doing a great job during my absence!

 

This week we are going to be working on the following:

Continue Unit 4: Big Data and Privacy

Unit 6: Complete Explore Performance Task

Continue Unit 3: Algorithms and Programming

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 3, 2017 Study Session – Auburn HS

Begin Preparation for Create Performance Task – Completed by April 29, 2018

 

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

 

 

Vocabulary

Lesson 2: The Need for Algorithms

Lesson 3: Creativity in Algorithms

Lesson 4: Using Simple Commands

Lesson 5: Creating Functions

Lesson 6: Functions and Top-Down Design

Lesson 7: APIs and Using Functions with Parameters

Lesson 8: Creating Functions with Parameters

Lesson 9: Looping and Random Numbers

This Week’s Agenda:

Make sure to have the assignments as seen under Tuesday and Wednesday completed before I get back on Thursday

Complete Unit 4: Big Data and Privacy

And

Complete Explore Performance Task

And

Continue Unit 3: Algorithms and Programming

 

Week 19: Tuesday Day F - 1-16-18 – Friday Day A – 1-19-18

 

 

Tuesday Day F - 1-16-18 – Wednesday Day G – 1-17-18

 

NOTE:   During my absence it is essential that you provide a detailed entry within your Engineering Notebooks for every class, answering the questions found within the Ticket To Leave section below in order to receive a grade.

Thanks and see you on Thursday!

 

 

Complete and Submit your College Board Explore Performance Task

 

If you have not completed the EPT and submitted to the College Board this should be your FIRST Priority!

Student Digital Portfolio Guide

digitalportfolio.collegeboard.orgTask description and written response template can be found here. Task requirements are also submitted here. Make sure you submit while meeting all submission requirements!

 

Explore Performance Task Rubric

Explore PT Survival Guide

AP CSP Course and Exam Description 

Explore PT Prep: Reviewing the Task

http://cooltoolsforschools.wikispaces.com/

Assessment Overview and Performance Task Directions for Students.

 

 

Lesson 5: Simple Encryption

 

 

Standards Alignment

CSTA K-12 Computer Science Standards

CI - Community, Global, and Ethical Impacts

CL – Collaboration

CPP - Computing Practice & Programming

CT - Computational Thinking

 

Computer Science Principles

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

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

6.3 - Cybersecurity is an important concern for the Internet and the systems built on it.

7.3 - Computing has a global affect -- both beneficial and harmful -- on people and 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 Unit 4: The ‘Big Data and Privacy’ tile and click ‘View course’.

Direct Instruction:

The critical role of encryption in everyday life

"In your daily life what things do you or other people rely on keeping a secret? Who are these secrets being kept from? How are these things kept secret?"

Secrecy is a critical part of our lives, in ways big and small. As our lives increasingly are conducted on the Internet, we want to be sure we can maintain the privacy of our information and control who has access to privileged information.

Digital commerce, business, government operations, and even social networks all rely on our ability to keep information from falling into the wrong hands.

Recall: As we saw with our activities on the Internet Simulator the internet is NOT secure

Classic Encryption - The Caesar Cipher

Many of the ideas we use to keep secrets in the digital age are far older than the Internet. The process of encoding a plain text message in some secret way is called Encryption

For example in Roman times Julius Caesar is reported to have encrypted messages to his soldiers and generals by using a simple alphabetic shift - every character was encrypted by substituting it with a character that was some fixed number of letters away in the alphabet.

As a result an alphabetic shift is often referred to as the Caesar Cipher.

Prompt:

serr cvmmn va gur pnsrgrevn

HINT:

With this simple encryption technique it only took a few minutes to decode a small message. What if the message were longer BUT you had a computational tool to help you?!

Guided Instruction:

1)   Log into code.org and go to Unit 4: Lesson 5.

2)   Complete all the challenges provided in this lesson and enter your work into your engineering notebooks.

3)   Complete the Assessment for this Lesson within Code.org

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 all tasks associated with this Lesson. All work should be provided within your engineering notebook in order to receive credit.

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: 

 

Ø  Complete your ticket to leave journal entry within your engineering notebook.

 

Lesson 6: Encryption with Keys and Passwords

 

Standards Alignment

CSTA K-12 Computer Science Standards

CPP - Computing Practice & Programming

 

CT - Computational Thinking

 

Computer Science Principles

2.3 - Models and simulations use abstraction to generate new understanding and knowledge.

3.1 - People use computer programs to process information to gain insight and knowledge.

4.2 - Algorithms can solve many but not all computational problems.

6.3 - Cybersecurity is an important concern for the Internet and the systems built on it.

 

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 4: The ‘Big Data and Privacy’ tile and click ‘View course’.

Direct Instruction:

In the previous lesson you saw how relatively easy it was to crack a substitution cipher with a computational tool.

Today we’ll try to crack a different code to see what it’s like. Beforehand, however, we should consider why someone might want to crack a cipher in the first place.

"Are there ethical reasons to try to crack secret codes?"

Today, we will attempt to crack codes, paying particular attention to the processes and algorithms that we use to do so.

So, before starting today we want to make sure that we distinguish between an encryption algorithm and an encryption key

For example:

So, There is a difference between the algorithm (how to execute the encryption and decryption) and key (the secret piece of information).

Today we’ll learn a little more about it and about keys and their relationship to passwords you use every day.

Guided Instruction:

1)   Log into code.org and go to Unit 4: Lesson 6.

2)   Complete all the challenges provided in this lesson and enter your work into your engineering notebooks.

3)   Complete the Assessment for this Lesson within Code.org

 

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 all tasks associated with this Lesson.

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: 

 

 

Ø Complete your ticket to leave journal entry within your engineering notebook.

Thursday Day H - 1-18-18 – Friday Day A – 1-19-18

Review of Programming completed prior to Create Performance Task

Lesson 6: Functions and Top-Down Design

 

Standards Alignment

CSTA K-12 Computer Science Standards

CL - Collaboration

CPP - Computing Practice & Programming

CT - Computational Thinking

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]

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:

Purpose

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.

 

What Does Efficiency Mean?

 

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)   Mr. PC will come around to make sure everyone understands the concepts of abstraction and Top Down Design. Remember! For both programming challenges 2 and 3 you should be able to call one function which completes the programming tasks. There should be no stand alone commands.  Very important prior to moving on and preparing for our Create Performance Task!

7)   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:  None

 

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

Note: Internet Explorer is not supported. We recommend Chrome or Firefox.

 

Guided Instruction: Continue from where you left off last week!

 

1)Setup your emulator by following these Instructions

2)Check out the Designer and Blocks Editor Overview

Designer and Blocks Editor Overview: Gives a tour of the App Inventor environment.

 

3)Setup Review the following Beginner Tutorials

 

Beginner Tutorials: Highly recommended as the best way to get started programming in App Inventor.

 

 

Click Here to Access Your Development Environment

 

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/

 

www.paper.li

 

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

Objectives

Students will be able to:

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

Big Questions

·        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.

Vocabulary

Vocabulary

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.

Vocabulary

 

Chapter 2: Manipulating and Visualizing Data

 

Big Questions

 

 

Enduring Understandings

 

 

Vocabulary

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

 

 

Vocabulary

Lesson 1: What is Big Data?

Lesson 2: Rapid Research - Data Innovations

Lesson 5: Simple Encryption

Lesson 6: Encryption with Keys and Passwords

Lesson 7: Public Key Cryptography

Public Key Encryption: Used prevalently on the web, it allows for secure messages to be sent between parties without having to agree on, or share, a secret key. It uses an asymmetric encryption scheme in which the encryption key is made public, but the decryption key is kept private.

 

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

 

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