Course Syllabus

Link to syllabus

AP Computer Science Principles Syllabus

        Ms. Boyce              Room 201             email: laura.debell@ucps.k12.nc.us

Course Overview

AP 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. With a unique focus on creative problem solving and real-world applications, AP Computer Science Principles prepares students for college and career.

This course focuses on seven Big Ideas that students will be tested on for the AP exam in May:

  1. Creativity
  2. Algorithms
  3. Programming
  4. Abstraction
  5. Data and Information
  6. The Internet
  7. Global Impact

Required Materials

  • Wired headphones or earbuds
  • Student issued chromebook & charger
  • Wireless or wired mouse (recommended)

Resources

  • Beauty and Joy of Computing curriculum (bjc.edc.org)
  • Snap! (snap.berkeley.edu/run

Grading

Students will be graded on a combination of lesson activities, homework, projects, quizzes and tests. 

The formula for grades: Points Earned/Points Possible = Grade

A= 90-100   B= 80-89   C= 70-79   D= 60-69   F= 0-59

There are two components that make up students’ grade on the AP Exam. One performance task and a multiple choice exam.

  • Create applications from ideas performance task (30%)
  • 74 question multiple choice exam (70%)

*A student’s AP score does not count toward their final grade in this course. 

Online Learning

Canvas

(1) Your Canvas page is broken down by modules. You may have multiple weeks in one module. Become familiar with your Canvas page. All assignments and lessons for the week will be posted by Monday morning (with a few exceptions) for your review. (2) Read the Weekly Overviews. This will alleviate many of your questions and will let you know the expectations for each day. (3) Utilize the question forums for clarification.

Virtual Class Meetings

It is very important that you attend virtual class meetings. For this class, we will use Canvas Conference until communicated otherwise. Be logged into our scheduled class meeting within the first five minutes of class. Content and duration of meeting will vary. Additional assignments may be made available to you only during our livestreams. Watch for Announcements in Canvas for virtual meeting updates.

Tests & Exams

An access code will be required for tests and exams. There may also be a limited window of time these assessments are available. 

Absences and Missed Work

Since the entirety of this class is posted in Canvas, missed work due to absences is not a thing. All assignments are posted in Canvas and due dates are communicated in both written and verbal form way in advance of the due date.

Late Work

Due dates are attached to every assignment in Canvas. I typically have “bulk” due dates where activities are all due at the end of the week. Extensions and late penalties are at my discretion, however,  the student must communicate this to me in advance of the due date. No work will be accepted after we finish with the coinciding unit (see above for missed work policy).

Class Policies

Phones 

There are a few assignments that require phone use, such instances will be clearly communicated to the student. Otherwise, phones should be put away in a book bag or purse before the bell rings. Phones should NEVER be on the table or in your lap. Students not adhering to this policy will have their phone confiscated and returned at the end of class for the first offense. Please reference the student handbook if you have any questions. 

Laptops

Use of the computer lab is a privilege. Students are expected to handle laptops and other equipment with care.  

Food and Drink

Food and beverages are NOT permitted in the computer lab. Water may be had and placed on the floor with a secure lid. No liquid of any kind should be placed on the tables or near the computers.

Course Outline: 

Unit 1: Introduction to Programming 

Students develop an interactive game they can install on their phones, generate a conversation between animated characters, create abstract art, and explore storytelling animation through sprite interaction (AAP); and in doing so, they learn to use pair programming and to create program documentation. (CRD) Students also investigate legal and ethical issues that arise in computing—especially with regard to data collection and privacy (IOC). 

Unit 2: Abstraction 

Students implement an algorithm for a guessing game using local and global variables; use abstract data types and list traversal to build a quiz app; create predicates to filter lists in order to solve a crossword puzzle; and use the modulus function and a higher order function to code mathematical functions (AAP). Students also investigate the history, purpose, laws, evolution, and enforcement of copyright (IOC). 

Unit 3: Data Structures 

Students explore complexity in a variety of contexts (maze navigation, fractal art, tic-tac- toe); use nested abstract data types and data I/O to develop a contact list app; and consider the beneficial and harmful impacts of robots and AI (CRD, AAP, IOC). 

Practice AP Create Task 

Students create a project of their own choosing as practice for the AP Create Task. They select and use a development process, plan and code their program, test their program for errors, write about their development process, and acknowledge any code developed by other people (CRD). 

Unit 4: How the Internet Works 

Students learn about how the Internet works, the benefits and vulnerabilities of fault- tolerant systems; cybersecurity practices such as public key encryption and individual level practices and software to keep data safe; digital data representation including binary representation; compression algorithms (CSN, IOC, DAT). They also consider the impact of the Internet on human communication and the workplace (CRD, IOC). 

Unit 5: Algorithms and Simulations 

Students learn about program efficiency through exploration of the binary and linear search algorithms; learn about sequential, parallel, and distributed computing and determine the contexts in which each are most useful; consider the contexts in which simulation is useful and implement a simple simulation; use Snap! data tools to generate knowledge from data (AAP, CSN, DAT). 

AP Create Task 

Students complete the AP Create Task (12 hours in class). Note: Units 1-5, the Practice Create Task, and the Create Task cover the CSP curriculum framework. Units 6-8 contain additional material that’s important to BJC including the abstraction hierarchy of how computers work, recursion and functional programming. 

Unit 6: How Computers Work 

Building on their understanding of abstraction and the way computers store data, students learn about the computer system abstraction hierarchy, with application software on top and transistors at the bottom. 

Unit 7: Fractals and Recursion 

Students deepen their experience with recursion and functional programming through drawing projects that use recursive commands, mainly fractals. 

Unit 8: Recursive Functions 

Students extend their understanding of abstraction and recursion through exploration of recursive functions: sorting lists (both selection sort and partition sort), Pascal's triangle, converting numbers to and from binary, finding the subsets of a set, and building several higher order functions from scratch. 

Course Summary:

Date Details Due