Welcome to AP Computer Science Principles




Good job on your work with Unit 1 – The Internet!

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

Unit 1: The Internet – Chapter 2 Assessment

Unit 2: Digital Information

Introduction 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:

Introduction to Unit 2: Digital Information

And

Introduction to Programming – Cell Phone App Development

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

 

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  

 

 

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

 

Week 6: Tuesday Day C - 10-10-17 – Friday Day F – 10-13-2017

 

Monday Day – No School – Holiday

 

Tuesday Day C - 10-10-17 and Wednesday Day D – 10-11-17

 

Period 6 and Period 7

1)   Locate the Unit 1: The Internet tile and click ‘View course’. Take the Unit 1, Chapter 2 Assessment. You may use any resources you can find to help you to answer the questions.

2)   When you are done with the assessment make sure to ‘Submit’.

3)   When done go onto today’s lesson

 

Then through Wednesday complete the following:

Unit 2: Lesson 1 – Bytes and File Sizes

 

Standards Alignment

CSTA K-12 Computer Science Standards

CT - Computational Thinking

Computer Science Principles

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: 

 

As we embark on a new unit about Data and Digital Information we need to get familiar with terminology about data and different types of data files.

Terminology - Byte

Recall that a single character of ASCII text requires 8 bits. The technical term for 8 bits of data is a Byte.

A byte is the standard fundamental unit (or “chunk size”) underlying most computing systems today. You may have heard “megabyte”, “kilobyte”, “gigabyte”, etc. which are all different amounts of a bytes. We’re going to learn more about them today.

Compare sizes of plain text v. MS Word doc

Introduction:

Recall In a previous lesson (Unit 1 - Sending Formatted Text) we learned that in addition to the actual text of a document, it is usually necessary to store the formatting information that allows the text to be displayed correctly. We might wonder just how much extra information, i.e. how many extra bytes, we need to store when we include all of this formatting. Let’s find out!

If a single ASCII character is one byte then if we were to store the word “hello” in a plain ASCII text file in a computer, we would expect it to require 5 bytes (or 40 bits) of memory.

What about a Microsoft Word document that contains the single word “hello”?

 

Predict: “How many more bytes will a Word document require to store the word “hello” than a plain text document?”

 

Guided Instruction:

 

1)   Log into code.org and go to Lesson 1. Click on the activity Guide.

2)   In pairs research and provide answers to the worksheet within your Engineering Notebook

Assessment for/of learning: Completion of today’s class assignment.

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

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.

·         Now that you have more artifact tools go to www.ted.com/talks and choose a Computing Innovation which we have not discussed thus far. Explore the computing innovation according to the requirements of the Explore Performance Task. Using a new tool(s) to build your computing artifact, create your artifact and be prepared to present to the rest of the class in two weeks.

·         NOTE: This will be the last practice Explore Performance Task prior to completing this task for the college-board in December.

·         Make sure that you meet all requirements found in the Explore Performance Task and provide all information requested within your written responses.

·         This practice is important in order to do well on your college board task that we will be submitting prior to the end of the year so please do a good job, and remember if you find a computing innovation that will work well for the task you need to submit, take notes and put it on your back burner. And as always have fun!

Unit 2: Lesson 2 – Text Compression 

 

Standards Alignment

CSTA K-12 Computer Science Standards

 

CL - Collaboration

CPP - Computing Practice & Programming

CT - Computational Thinking

Computer Science Principles

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

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

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

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

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

4.2.1 - Explain the difference between algorithms that run in a reasonable time and those that do not run in a reasonable time. [P1]

4.2.3 - Explain the existence of undecidable problems in computer science. [P1]

4.2.4 - Evaluate algorithms analytically and empirically for efficiency, correctness, and clarity. [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 2: and click ‘View course’.

 

Direct Instruction: 

 

Guided Instruction:

 

1)   Now you’re going to get to try your hand at compressing some things on your own.

2)   Use the Text Compression Widget

3)   Mr. PC will assign teams of 2

4)   Each team will open both of the compression activity guides, complete the exercises, and fill in your responses within your Engineering Notebooks.

5)   Watch the following video: Video: Text Compression with Aloe Blacc - Video

6)  Make sure to complete the end of lesson assessments within code.org

Assessment for/of learning: Completion of today’s class assignment.

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

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.

·         Now that you have more artifact tools go to www.ted.com/talks and choose a Computing Innovation which we have not discussed thus far. Explore the computing innovation according to the requirements of the Explore Performance Task. Using a new tool(s) to build your computing artifact, create your artifact and be prepared to present to the rest of the class in two weeks.

·         NOTE: This will be the last practice Explore Performance Task prior to completing this task for the college-board in December.

·         Make sure that you meet all requirements found in the Explore Performance Task and provide all information requested within your written responses.

·         This practice is important in order to do well on your college board task that we will be submitting prior to the end of the year so please do a good job, and remember if you find a computing innovation that will work well for the task you need to submit, take notes and put it on your back burner. And as always have fun!

 

Thursday Day E – 10-12-17 and Friday Day F – 10-13-17

Introduction to Programming

MIT APP Inventor

 

OUTCOME: By the end of this unit, students will be able to distinguish between software and hardware and how they interact in a computer system to accomplish complex tasks.

 

Standard: Demonstrate the ability to use technology for research, critical thinking, problem solving, decision-making, communication, collaboration, creativity and innovation.

 

Topic: Research, Problem-Solving, and Communications Research

3.1 Devise and demonstrate strategies for efficiently collecting and organizing information from electronic sources.

Problem Solving

3.5 Explain and demonstrate how specialized technology tools can be used for problem solving, decision making, and creativity.

 

Objective:

 

Evaluate the importance of learning about computer systems in terms of relevant professions

Identify general computer systems/programming terms

Deduce the skills and knowledge about computer systems needed to be successful in an authentic project

Demonstrate the ability to enter and modify source code statements using editing capabilities

Demonstrate the ability to debug statements, distinguishing between syntax and semantic errors

Identify input, process, and output in a program

 

 

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: Introduction to Cell Phone App Design

Setting up the APP Inventor and Emulator for Testing

 

Setting Up App Inventor 2

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.


You have three options for setting up live testing while you build apps

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.

 

Option One - RECOMMENDED
Build apps with an Android device and WiFi Connection (preferred): 
Instructions

If you have a computer, an Android device, and a WiFi connection, this is the easiest way to test your apps.

********* Option Two – use these instructions for class! **********
Don’t have an Android device? Use the Emulator: Instructions

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.

 

System requirements

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

 

Guided Instruction:

 

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.

 

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.

 

Directions for the Magic 8 Ball App

 

 

Click Here to Access Your Development Environment

 

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 today’s app development setup and the installation of the App Companion for testing using cell phone emulation. Students will also be assessed on the completion of each App assignment and testing using either the cell phone emulator of an Android phone.

Homework:

·         Complete your ticket to leave journal entry.

·         Now that you have more artifact tools go to www.ted.com/talks and choose a Computing Innovation which we have not discussed thus far. Explore the computing innovation according to the requirements of the Explore Performance Task. Using a new tool(s) to build your computing artifact, create your artifact and be prepared to present to the rest of the class in two weeks.

·         NOTE: This will be the last practice Explore Performance Task prior to completing this task for the college-board in December.

·         Make sure that you meet all requirements found in the Explore Performance Task and provide all information requested within your written responses.

·         This practice is important in order to do well on your college board task that we will be submitting prior to the end of the year so please do a good job, and remember if you find a computing innovation that will work well for the task you need to submit, take notes and put it on your back burner. And as always have fun!

 

Thanks for a great week!

Mr. PC 

 

 

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

 

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