Carpenter - AP Computer Science Principles (Section Tues 6)

Instructor
Anne Carpenter
Department
Technology
Terms
2019-2020 School Year


Assignment Calendar

Course Description

 

Class Title:

AP Computer Science Principles

Code:

HCS500

Text:

Code.org

Rating:

5

Prerequisite:

Computer Skills, Intro to Computer Science or permission of the instructor

Grade:

9­-12

Fees:

Approx $94 for the AP Exam

Max:

15

Can be repeated? No

Meets 2x/Week

 

Description: The curriculum for this course follows the criteria required from the Advanced Placement College Board Program. AP Computer Science Principles will utilize code.org’s curriculum through independent and group work in class and at home to learn about computer science. Students must have regular access to a computer and reliable internet to successfully complete this course. Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. More than a traditional introduction to programming, it is a rigorous, engaging, and approachable course that explores many of the foundational ideas of computing so all students understand how these concepts are transforming the world we live in. This course is an entry level AP course and is appropriate for all high school students. Summer homework may be required.

Posts

Week of November 4, 2019: AP Computer Science Principles

What We Did:

  • This week we did a lot of catch-up and organization work 
  • We went through past papers, got our binders organized, and looked at any work that was missing
  • This class is a very manageable class if we met every day, but meeting once a week means a lot of organization and staying on top of papers
  • Students grades reflect the work that I have turned in right now- I expect these grades to go up once all work is turned in 
  • They know they can keep turning in work (and are expected to turn in all of their missings) and their grade will adjust

What to Work On:

  • Missing work
  • Code.Org reflections
  • Khan Academy to review 

What We Plan to Do Next Week:

Starting Unit 3: Intro to Programming 

  • 3.1- The Need for Programming Languages 
  • 3.2- The Need for Algorithms
  • 3.3- Creativity in Algorithms

Week of October 28: AP Computer Science Principles

What We Did:

  • 2.4: Encoding Color Images 
    • Use the Pixelation Tool to encode small color images with varying bits-per-pixel settings.
    • Explain the color encoding scheme for digital images.
    • Use the Pixelation Tool to encode an image of the student’s design.
    • Explain the benefits of using hexadecimal numbers for representing long streams of bits.
  • 2.5: Lossy vs. Lossless Compression 
    • Explain the difference between lossy and lossless compression.
    • Explain the relative benefits or drawbacks of different file formats, particularly in terms of how they compress information.
    • Identify reliable sources of information when doing research
    • Explain the difference between open source and licensed software.

What to Work On:

  • 2.6: Rapid Research- homework 
    • Identify reliable sources of information when doing research
    • Synthesize information taken from multiple online sources
    • Create an artifact (video, image, slide, poster, etc.) to communicate information about a computing topic.
  • Any unfinished work 

What We Plan to Do Next Week:

** Please bring your binder and all papers you have for class**

We are going to organize and work through previous Code.Org reflections. Students should be keeping up to date with Code.Org reflections from our lessons in class, but it looks like we need to catch up some.  I’d also like to touch base with each student on work they still need to turn in and where they are in class. There will also be time to review work in Khan Academy.

Week of October 14 and 21: AP Computer Science Principles

What We Did:

  • Performance Task: Explore- FINISH  
  • 2.1: Bytes and File Sizes
    • Use appropriate terminology when describing the size of digital files.
    • Identify and compare the size of familiar digital media.
    • Solve small word problems that require reasoning about file sizes.
  • 2.2: Text Compression
    • Collaborate with a peer to find a solution to a text compression problem using the Text Compression Widget (lossless compression scheme).
    • Explain why the optimal amount of compression is impossible or “hard” to identify.
    • Explain some factors that make compression challenging.
    • Develop a strategy (heuristic algorithm) for compressing text.
    • Describe the purpose and rationale for lossless compression.
  • Homework: 2.3: Encoding B&W Images
    • Explain how images are encoded with pixel data.
    • Describe a pixel as an element of a digital image.
    • Encode a B&W image in binary representing both the pixel data (intensity) and metadata (width, height).
    • Create the necessary metadata to represent the width and height of a digital image, using a computational tool.
    • Explain why image width and height are metadata for a digital image.

What to Work On:

  • Unfinished work 

What We Plan to Do Next Week:

  • 2.4: Encoding Color Images
  • 2.5: Lossy vs. Lossless Compression 
  • Homework: 2.6: Rapid Research: Format Showdown 

Week of October 7: AP Computer Science Principles

What We Did:

  • Performance Task: Explore 
  • Review the Task
  • Make a Plan 

What to Work On:

  • Unfinished work 
  • Review and revise your plan for the PT Task: Explore
    • In your Explore PT Survival Guide on page 6 do hours 1, 2, 3, and 4 

What We Plan to Do Next Week:

  • Class time to work on the Explore task
  • The task will take a total of 8 hours to complete

Week of September 30: AP Computer Science Principles

What We Did:

  • A new rubric was handed out-- after meeting and advice from seasoned AP CSP teachers in the district I have decided to rearrange a few of the units.  Not to worry, we will still learn everything we need to before the exam. But, we are trying to reorganize and balance our performance tasks over the year.  The new syllabus is available in the Google Drive folder now. 
  • Reviewed our new Google Drive folder for our class- ALL resources are available here (Parents- let me know if you want access.  All the students have access.)
  • 1.14: Practice PT- The Internet and Society
    • Research a global impact of the Internet.
    • Create and present a flash talk on a global impact of the Internet.
    • Analyze the relationship of an Internet technology to the impact.
  • Review Unit 1 on Code.Org and complete end of lesson questions and assessments

What to Work On:

  • Ongoing: Khan Academy- videos for AP CSP 
  • Complete any missing work- it is in your best interest not to get too far behind in your work 
  • Complete: 
    • 1.14 Practice PT- research, write up, video 
    • Unit 1 end of lesson questions and assessments 
  • Review AP rubric for Performance Task- Explore 

What We Plan to Do Next Week:

  • Performance Task: Explore
  • We are going to start our first performance task.  It will be introduced and planned in class, but work will need to be done at home in order to complete it for submission
  • Submission isn’t until April, but we want to get on performance task out of the way 

Week of September 24: AP Computer Science Principles

What We Did:

1.11: Packets and Making the Internet Reliable

  • Explain why protocols are necessary to overcome the underlying unreliability of the Internet.
  • Justify the need for acknowledgements and packet numbering in TCP.
  • Develop a protocol for reliable communication on the Internet.

1.12: The Need for DNS

  • Give a high level description of DNS as a name-to-IP-address mapping system used on the Internet
  • Give a few reasons why DNS is useful and necessary
  • Describe at least one vulnerability of DNS and how an attack on it works

What to Work On:

1.13: HTTP and Abstraction on the Internet 

What We Plan to Do Next Week:

  • 1.14: Practice PT: The Internet and Society 
  • Unit 1 Assessment (online and can be redone) 
  • Performance Task: Explore

Week of September 16: AP CSP- for next week

It said our last post was too long, so I couldn't fit this... 
 
Here's what we plan to do next week :) 
  • 1.11: Packets and Making a Reliable Internet
  • 1.12: The Needs for DNS
  • 1.13: HTTP and Abstraction on the Internet 
Also, I've been talking to the class and they know I'm probably going to rearrange some of our syllabus.  I'll keep them up to date and send home a new one when it's ready.

Week of September 16: AP CSP

What We Did:

  • Lesson 1.8: The Internet is for Everyone
    • Connect a personal experience to one challenge related to the idea that "The Internet is for Everyone".
    • Cite one example of how computing has a global affect -- both beneficial and harmful -- on people and society.
    • Explain that the Internet is a distributed global system that works on shared and open protocols.
  • Lesson 1.9: The Need for Addressing
    • Explain why messages need to contain addressing information (sender/recipient identification).
    • Invent an informal addressing protocol for use in the Battleship game.
    • Recall that browsing the Internet entails computers sending each other requests and sending back data to satisfy those requests.

What to Work On:

  • Video and notes from Lesson 1.9: https://www.youtube.com/watch?v=5o8CwafCxnU&feature=youtu.be
  • Lesson 1.10: Routers and Redundancy
    • Describe the redundancy of routing between two points on the Internet.
    • Evaluate the benefits and security concerns associated with the use of a routed system of sending packets.
    • Send messages using a numeric addressing protocol with the Internet Simulator.

Week of September 9: AP CSP

Students have begun to receive graded work back.  Each assignment will have a rubric or points for assignments.  They will be handed back for students to keep and entered into the gradebook.  I’ve been entering grades into Infinite Campus. Students always have the opportunity to resubmit work if they would like to earn more points.  Students are graded on the work they submit. I am looking for thorough work that answers all the questions and completes all of the assignment.  My goal is for students to learn what we are doing in class, so they are always welcome to resubmit work in order to learn more and earn more points.  We will have a hard deadline at the end of each semester, so I can finalize and submit grades. But other than that I’m fairly lenient on turning assignments back in to earn more points.  It is each student’s responsibility to resubmit if they would like to do so. I will be sure to give explicit feedback, so students know what they’ve done well and what they can keep improving on. Please let me know if you have any questions.  Thank you for your support at home! 


What We Did:

1.5: Binary Numbers 

  • Describe how to use bits to create a functioning number system
  • Understand the relationship between the powers of 2 and the number of bits needed to express a number of a certain magnitude. e.g. How many bits do I need to represent the number “15”, or “32”, or “1492”?
  • Determine, for a given number of bits, both the number of possible numbers that can be represented and also the range of those numbers

1.6: Sending Numbers 

  • Calculate the range of values that can be represented using binary numbers of a given size in bits.
  • Invent a simple communication protocol for sending a list of numbers that represent coordinates on a cartesian grid.
  • Use the Internet Simulator to send the list of points that make up the drawing to a friend.

What to Work On:

  • Homework: 1.7: Sending Text

What We Plan to Do Next Week:

  • 1.8: The Internet is for Everyone
  • 1.9: The Need for Addressing
  • 1.10: Routers and Redundancy 
 
My apologies for the delayed posting.  My plan is to have this information posted for the AP class after their class on Tuesday. 

Week of September 2: AP Computer Science Principles

What We Did:

Lesson 1.1: Personal Innovations

Objectives:

  • Communicate with classmates about computing innovations in their lives
  • Describe positive and negative effects of computing innovations

Vocabulary:

  • Innovation: a new or improved idea, device, product, etc., or the development thereof 

Lesson 1.2: Sending Binary Messages

Objectives: 

  • Create a device for sending a single bit of information- state A or state B- over a distance.
  • Analyze the possibilities and limitations that arise when sending binary messages.
  • Explain or demonstrate how to use a binary message sending device to send messages that have more than two states.

Vocabulary:

  • Binary: a way of representing information using only two options
  • Bit: a contraction of “binary digit”; the single unit of information in a computer, typically represented as a 0 or 1

Lesson 1.3: Sending Binary Messages with the Internet Simulator 

Objectives: 

  • Explain how synchronization and coordination enable the transmission of binary messages
  • Develop a protocol for exchanging binary messages in two directions 
  • Calculate the bit rate for a binary message exchange 
  • Provide a definition of “bit” and relate it to the binary messages they have seen so far 

Vocabulary:

  • Bandwith- transmission capacity to measure by bit rate
  • Bit- a contraction of “binary digit”; the single unit of information in a computer, typically represented as a 0 or 1
  • Bit rate- (sometimes written bitrate) the number of bits that are conveyed or processed per unit of time. E.g. 8 bits/sec.
  • Latency- Time it takes for a bit to travel from its sender to its receiver 
  • Protocol- a set of rules governing the exchange or transmission of data between devices

What to Work On:

** Students were given handouts and worksheets for the Lesson 1.4.  They must complete them at home this week and bring them to class next week completed.  I’m available via email should they have any questions. 

Lesson 1.4: Number Systems

Objectives:

  • Reason about patterns and symbols as arbitrary abstract concepts that can be used to represent numbers.
  • Invent their own “number system” with symbols and rules for getting from one pattern to the next.

What We Plan to Do Next Week:

  • 1.5: Binary Numbers
  • 1.6: Sending Numbers
  • 1.7: Sending Text

Week of August 26: AP Computer Science Principles

Welcome to the tech lab!  We had a great first week of school!  Each week I will send home a weekly newsletter.  It’ll be a bulleted list of what we’ve done during the week, what students can work on at home, and our plans for the following week.  Sometimes plans change, but this is largely what will be coming up in class. If you have any questions, please feel free to email me. I’m looking forward to a great year with the students in the tech lab! 

 

What We Did:

  • Intro to class
  • Getting to know you 
  • Class expectations
  • Logging in to Google Classroom, Code.Org, and College Board 
  • Overview of the course, exam, syllabus, exam dates, etc. 

What to Work On:

  • Read the outlines of the units in class
  • Show parents binder, dates of exams, and sign “permission slip” that shows you are committed to this course 

What We Plan to Do Next Week:

  • 1.1 Personal Innovations
  • 1.2 Sending Binary Messages
  • 1.3 Sending Binary Messages with Internet Simulator