AP Computer Science Principles
Assignments by date
This is where each week's assignments in AP CS Principles are posted. Please let me know if you have any questions!
Week 36: Monday, May 13th – Friday, May 17th
Welcome to the last week of high school before exams! Your AP Computer Science Principles exam is on Wednesday, May 15th at 12:00pm. Make sure you bring your fully charged school-issued Chromebook since you'll be taking the exam in the Bluebook app. Good luck!
It was a pleasure having you in class this year! Seniors, good luck with all of your future endeavors, CONGRATULATIONS, and please keep in touch! Juniors, I hope you'll consider taking AP Computer Science A with me next year. If not, stop by to say hi any time. Have a great summer, everyone!
Week 35: Monday, May 6th – Friday, May 10th
One more week until your AP exam! Keep studying, and please let me know if you have any questions. I hope you have an excellent week!
Week 34: Monday, April 29th – Friday, May 3rd
We've finally made it to May! This week is more of the same – study for the exam or work on earning a coding certification. Don't forget that Friday, May 3rd is the #RHSE3 Celebration – seniors, wear your Employment, Enlistment or Enrollment gear! Have a great week, and please let me know if you have any questions.
Week 33: Monday, April 22nd – Friday, April 26th
Welcome to the last full week of April! We're almost done with state testing, so please make note of our last day of the late arrival schedule on Monday. We're going to continue preparing for the AP exam or working on certifications. Make sure you finish those practice exams on AP Classroom.
Have a great week! Hang in there – we're almost done.
Week 32: Monday, April 15th – Friday, April 19th
Welcome to another wacky week at Roosevelt High School! This week, you'll have a "late arrival" schedule due to state testing:
Same plan as last week - keep prepping for the AP exam or working on earning a certification. I hope you're able to sleep in this week! As always, please let me know if you have any questions.
Week 31: Tuesday, April 9th – Friday, April 12th
Hello again! I hope you survived the solar eclipse and enjoyed your bonus 3-day weekend. We're going to continue with the plan to prepare for the AP exam or work on certifications so that you don't have to do any of that at home. Let me know if you have any questions!
Week 30: Tuesday, April 2nd – Friday, April 5th
Welcome back! I hope you had a fun and relaxing Spring Break and are fully recharged and ready to prepare for the AP Exam in May.
The plan for the remaining time in class is to prepare for the multiple choice portion of the AP CS Principles exam by completing practice questions on AP Classroom and reviewing vocabulary individually and as a class. I'm also encouraging everyone to pursue a professional certification based on their personal interests (e.g., PCEP and PCAP for Python, CPE for C++, etc.), so it would be great to use class time for that as well.
On Monday, April 8th, the Great American Eclipse will take place as a rare total solar eclipse goes across North America, including most of Ohio. Here's some useful information about the timing of the eclipse:
1:59:28 pm: Partial eclipse begins - the moment the edge of the Moon touches the edge of the Sun is called "first contact"
3:14:30 pm: Totality begins 😱 - the moment the edge of the Moon covers all of the Sun is called "second contact"
3:15:54 pm: Maximum eclipse‼️ - this is the deepest point of the eclipse, with the Sun at its most hidden
3:17:17 pm: Totality ends 😭 - the moment the edge of the Moon exposes the Sun is called "third contact"
4:29:17 pm: Partial eclipse ends - the moment the edge of the Moon leaves the edge of the Sun is called "fourth contact"
There's also a really cool interactive map of the eclipse path, and you can find out all about the many, many eclipse-related events happening this weekend in Kent at the Kent Total Eclipse 2024 website. Make sure to build a pinhole projector out of cardboard and aluminum foil ahead of time – they're really cool and easy to make!
I hope you have a great week back from Spring Break! As always, please let me know if you have any questions.
Week 29: Monday, March 18th – Friday, March 22nd
We've made it to Spring Break! 4th Quarter has begun and we can spend the rest of our time preparing for the AP CS Principles exam in May. Here's what we're doing for the first week of Spring:
complete and upload Create Performance Task code and video to AP Digital Portfolio
complete Personalized Project Reference on AP Digital Portfolio
complete multiple choice questions on the Practice Exam
I hope you have an awesome Spring Break and get lots of rest and relaxation! I'll see you next month. 😎
Week 28: Monday, March 11th – Friday, March 15th
Welcome to the end of 3rd Quarter! I hope you survived the time change over the weekend and you're ready to finish strong. Here's what we're doing for this last week of Winter as we wrap up Unit 6: Innovative Technologies:
6.10 Distributed Computing
6.11 Internet of Things
6.12 Ethics of Autonomous Technology
Unit 6: Quiz 2
Unit 6 Exam 🦈
END OF 3rd QUARTER
Seniors, you're 15/16ths done with high school. 😱 I hope you have a great week, and please let me know if you have any questions!
Week 27: Monday, March 4th – Friday, March 8th
Here's the plan for this week as we continue our work in Unit 6: Innovative Technologies:
6.6 Internet Protocols
6.7 Encryption
Big Picture: Net Neutrality
6.8 Cybersecurity
6.9 World Wide Web
We only have two weeks left in 3rd Quarter, so make sure you're getting all of your work completed and turned in. Let me know if you have any questions, and have a wonderful week!
Week 26: Monday, February 26th – Friday, March 1st
Welcome to the end of February! To wrap up Black History Month, I'd like to tell you about John Henry Thompson (b. 1959), the creator of the influential Lingo programming language. The son of Jamaican immigrants, Mr. Thompson got his first opportunity to work with a computer as a 10th grader at the Bronx High School of Science when his geometry teacher, Ms. Strauss, gave him early access to the math department's computer lab and helped him get his first job as a computer operator in the New York State Psychiatric Institute. After graduation, he earned his Bachelor's degree in Computer Science and Visual Studies from MIT in 1983 and continued on as a technical instructor, developed an early color pre-press design system for the Visible Language Workshop, which is now part of the MIT Media Lab. Mr. Thompson then became a project lead at Lucasfilm on the EditDroid project, an early nonlinear editing system that was a precursor to Final Cut, the industry standard in video editing. In 1987 he joined Macromedia (now part of Adobe), where he contributed to the development of a number of products, including Macromedia Director, and he invented the Lingo programming language and XObjects, which made it easier to create interactive multimedia content like Flash, Shockwave and graphics-based CD-ROMs. If you've ever played an interactive game in a web browser, his work helped make that possible! For the past two decades, Mr. Thompson has continued teaching in New York City, Philadelphia, Jamaica, and online, and he has since become an outspoken critic of social media companies such as Facebook for how they use personal data and what he describes as their negative impacts on society.
Here's the plan for this week as we continue our work in Unit 6: Innovative Technologies:
6.3 Cloud Computing
Big Picture: The Digital Divide
6.4 Internet in Action
6.5 Communication Protocols
Unit 6: Quiz 1 🧺
Good luck to the Juniors taking the ACT on Tuesday! Remember, no school for Sophomores and Seniors. As always, please let me know if you have any questions. Have a great week!
Week 25: Tuesday, February 20th – Friday, February 23rd
Welcome back from your extended weekend! This week I'd like to tell you about Dr. Clarence "Skip" Ellis (1943-2014), the first Black person to earn a PhD in computer science. Dr. Ellis grew up in Chicago and graduated from Parker High School while also working as a part-time night shift security guard for the Dover Corporation. While at Dover, he watched over the company's mainframe computers and became fascinated by them, so he read over the manuals during his shift and learned how to operate and repair the vacuum-tube-based machines. He earned degrees in mathematics and physics from Beloit College in Wisconsin, and while at Beloit, he was one of 10 North American college students to attend a computer science program at the University of Illinois, Urbana-Champaign. Based on his experiences there, he earned his PhD in computer science from Urbana-Champaign in 1969, making him the first Black person to ever do so. Dr. Ellis worked at Bell Labs, IBM, and Xerox, and from 1976–1984, he worked at the Palo Alto Research Center, where he led the team that created Officetalk, the first program to use icons and the Internet to allow for long-distance collaboration. This means that every icon-based app or operating system you've ever used was directly influenced by Skip Ellis. You could say he's "iconic"! (Sorry.)
Here's the plan for this short week as we start Unit 6: Innovative Technologies:
Unit 5 Exam ▭
start Unit 6: Innovative Technologies
Big Picture: Defining a Computing Innovation
6.1 Global Impact
6.2 Impact of Internet Access
This is our last unit in the course, which means that we'll have plenty of time to prepare for the exam and explore other CS interests, including possible earning a certification or two. Enjoy your abbreviated week, and as always, please let me know if you have any questions!
Week 24: Monday, February 12th – Thursday, February 15th
Hello again! This week I'd like to tell you about Dr. Timnit Gebru, a Black computer scientist who studies artificial intelligence (AI), algorithmic bias and data mining. Dr. Gebru was born in Ethiopia and fled the Eritrean–Ethiopian War when she was 15, eventually receiving political asylum in the Unites States. She earned her bachelor's and master's degrees as well as her PhD from Stanford University. While at Stanford, she worked as an intern at Apple making audio circuitry and later developed signal processing algorithms for the first iPad. After brief stint at Microsoft where she investigated racial bias in facial recognition software, she joined Google in 2018 to co-lead a team the ethics of artificial intelligence. However, in late 2020, her employment at Google was terminated when she refused to withdraw a research paper about the serious risks of large language model AI systems (Dr. Gebru claims that she was fired, while Google has refused to say whether she resigned or was terminated). Since leaving Google, Dr. Gebru has co-founded Black in AI, a community of Black researchers working in AI, and the Distributed Artificial Intelligence Research Institute (DAIR), a "space for independent, community-rooted AI research, free from Big Tech's pervasive influence". She has earned numerous accolades, including being named one of the world's 50 greatest leaders by Fortune Magazine in 2021 and one of Time Magazine's most influential people of 2022.
Here's the plan for this week as we (ironically!) wrap up Unit 5: Big Data:
Big Picture: Data Breaches
5.7 Data Mining
5.8 Models and Simulations
Unit 5: Quiz 2
Enjoy your looong weekend, and please let me know if you have any questions!
Week 23: Monday, February 5th – Friday, February 9th
Happy Black History Month! Before I list this week's activities, I'd like to tell you about Dorothy J. Vaughan (1910–2008), the first African-American female supervisor of the National Advisory Committee for Aeronautics (NACA) who became an expert in digital computers and their applications in NASA programs. Ms. Vaughan graduated from Wilberforce University in Ohio with a degree in mathematics and started out as a math teacher. In 1943, to support our country's efforts in World War II, she joined NACA as a human "computer" who did complex calculations for engineers and scientists. She worked with computers Vera Huckel and Sara Bullock to create an algebraic methods handbook for mechanical calculating machines, and when NACA became NASA, she joined its new Analysis and Computation Division and became an expert FORTRAN programmer. Ms. Vaughan and her countless calculations supported NACA and NASA accomplishments and helped to achieve our country’s aerospace goals. Very impressive!
Here's the plan for this week as we continue Unit 5: Big Data:
5.5 Data Storage and Persistence
Unit 5: Quiz 1☎️
Big Picture: Wisdom of the Crowd
5.6 Statistical Analysis
This is our last full week of school for a while, because next week we'll only have three and a half school days before having a four-and-a-half day weekend, and then we'll have other interruptions like the ACT. I hope you have a great week, and as always, let me know if you have any questions!
Week 22: Monday, January 29th – Friday, February 2nd
Welcome to the end of January! This month has really flown by, although I'm sure that having Winter Break, MLK Jr. Day and three calamity days all helped with that. Here's the plan for this week as we start Unit 5: Big Data:
start Unit 5: Big Data
5.1 Introduction to Big Data
5.2 Usability and Usefulness of Data
5.3 Collection
5.4 Extraction
With any luck, we'll be able to get through a full week without any interruptions as we move into February and one month closer to the end of the school year. Please let me know if you have any questions!
Week 21: Monday, January 22nd – Friday, January 26th
Hello again! Last week was certainly an interesting series of events. I hope you took advantage of your bonus three-day weekend and got some rest and relaxation! This week, we're going to finish working on our Create Performance Task by completing the Personalized Project Reference and recording your video so you can upload it to AP Digital Portfolio. Once you're done, we can move on to Unit 5: Big Data.
The weather this week looks to be much warmer and rainy, so I'm hoping we'll be able to get through all five days without any interruptions. Have a great week, and let me know if you have any questions!
Week 20: Tuesday, January 16th – Friday, January 19th
I hope you enjoyed your three day weekend! This week, we'll continue working on our Create Performance Task. It would be great to get the programming finished by the end of the week so that you can complete your documentation and record your video next week. As always, please let me know if you have any questions!
Week 19: Monday, January 8th – Friday, January 12th
Happy New Year, and welcome back from Winter Break! I hope you were able to take some time to rest, relax and recharge before we get right back into the thick of things. Here's the plan for our first school week of 2024 as we start our work on the Create Performance Task:
review 1st Semester Exam
start Create Performance Task
The Create Performance Task is your chance to write a program that's interesting to you, and it's worth 30% of your exam score, so we'll take the next two weeks in class to work on it, including the documentation and short video that you'll need to produce. I hope you have a great first week back! Let me know if you have any questions.
Week 18: Monday, December 18th – Friday, December 22nd
We finally made it to the end of 1st Semester! Your exam will be on Thursday, December 20th at 7:30am in Room 211, so make sure you're there on time. The 1st Semester Exam will be on AP Classroom and will include 68 multiple choice questions from all four units so far. You'll need your school Chromebook to take the exam, so make sure it's charged! The exam will look a lot like your quizzes, tests and the practice exam on AP Classroom. Here's the schedule for the week:
Mon. 12/18
Unit 4 Exam 🎃
1st Semester Exam prep
HW: work on 1st Semester Practice Exam on AP Classroom
Tue. 12/19
1st Semester Exam prep
HW: work on 1st Semester Practice Exam on AP Classroom
Wed. 12/20
1st, 2nd & 6/7 or 7/8th period exams
HW: finish 1st Semester Practice Exam on AP Classroom
Thu. 12/21
1st Semester Exam @7:30–9:00am
Fri. 12/22
ALL WORK DUE FOR 1st SEMESTER
In case you didn't get it last week, the entire exam schedule is available here. I hope all of your exams go smoothly and you have a restful Winter Break. Have a Happy New Year, and I'll see you in 2024!
Week 17: Monday, December 11th – Friday, December 15th
Welcome back! Here's the plan for the last full week of 1st Semester as we wrap up Unit 4: Digital Media Processing:
4.13 Audio Compression
Unit 4: Quiz 2 🍫
Image Filter Project
Unit 4 Exam 🎃 (please complete by Tuesday 12/19)
Your 1st Semester Exam will be on Thursday, December 21st at 7:30am and covers Units 1-4 of the course with 68 multiple choice questions that you'll take online on AP Classroom. I've prepared a practice exam that is very similar to your semester exam that's available now on AP Classroom; I've also linked to it from Google Classroom to make it a little easier to access. The entire exam schedule is available here. I strongly recommend taking notes while doing the practice exam and doing it as far in advance as possible so that you can ask me questions if you need help with anything. Have a great week!
Week 16: Monday, December 4th – Friday, December 8th
Hello again! We're going to continue our work on Unit 4: Digital Media Processing so we have all the tools we need to complete the Image Filter Project next week. Here's the plan for the first full week of December:
4.8 Image Manipulation
4.9 Encoding Schemes
4.10 Digital Manipulation
4.11 Audio Manipulation
4.12 Audio Processing
Next week, after we complete the Image Filter Project, you'll have time to complete the practice exam and study for the 1st Semester Exam, which is all multiple choice and should be very straightforward. As always, let me know if you have any questions. Have a wonderful week!
Week 15: Monday, November 27th – Friday, December 1st
Welcome back from Thanksgiving Break! I hope you were able to rest and recharge so we can make it through the next four weeks before we go on Winter Break. Here's the plan for the last week of November:
4.4 Iteration Structures
4.5 Data Abstraction
4.6 Procedural Abstraction
Unit 4: Quiz 1 🐈
4.7 RGB Color
I hope your first week back goes well! As always, let me know if you have any questions.
PS: Make sure you plug in your Chromebook to charge overnight!
Week 14: Monday, November 13th – Friday, November 17th
We finally made it to Thanksgiving Break! 🦃 Here's the plan as we start Unit 4: Digital Media Processing with python programming:
start Unit 4: Digital Media Processing
4.1 Introduction to Python
4.2 Python Basics
4.3 Selection Structures
4.4 Iteration Structures
I hope you have a restful and relaxing break! Please let me know if you have any questions about anything you're working on.
Week 13: Monday, November 6th – Friday, November 10th
Hello again! Here's the plan for the first week of November as we wrap up Unit 3: Data Representation with the Unintend’o Project:
Unintend’o Project - Overview
Unintend’o: Milestone 1
Unintend’o: Milestone 2
Unintend’o: Milestone 3
Unintend’o: Milestones 4a + 4b
Unintend’o: Final Project Submission
Unit 3 Exam 🔺
Let me know if you have any questions, and have a great week!
Week 12: Monday, October 30th – Friday, November 3rd
It's the last week of October, and it's finally starting to feel like Fall! 🎃 I hope you got out and enjoyed the last bits of nice weather. Here's the plan for this week as we continue our work in Unit 3: Data Representation:
3.7 Making a List
3.8 Processing a List
3.9 Sorting a List
3.10 Lists in Pseudocode
Unit 3 Quiz 2 🪖
As always, please let me know if you have any questions. Stay warm!
Week 11: Monday, October 23rd – Friday, October 27th
Welcome to 2nd Quarter! Now that you've had a chance to catch your breath, we're going to get back on track with Unit 3:
BEGIN 2nd QUARTER
3.5 Digitization
Tuesday 10/24: Security Summit Field Trip to I-X Center (meet at the cafeteria entrance at 8:45am! bring a bag lunch or money just in case they don't feed us)
Wednesday 10/25: Capture the Flag Competition! (in class)
3.6 Analog vs. Digital Data
Big Picture: Reselling Digital Music
Unit 3: Quiz 1 👑
END OF 1st QUARTER
As always, please let me know if you have any questions. Have a great week, and get out and enjoy the nice weather while it lasts!
Week 10: Monday, October 16th – Friday, October 20th
Welcome back from your 3-day weekend! Here's what we're doing for the last week of 1st Quarter as we continue our work in Unit 3:
3.4 Programming Binary
3.5 Digitization
3.6 Analog vs. Digital Data
Big Picture: Reselling Digital Music
Unit 3: Quiz 1 👑
END OF 1st QUARTER
Friday is the end of 1st Quarter, so make sure you have everything turned in by then. You can also go back and retake any quizzes or exams for which you'd like to try to earn a higher grade. Let me know if you have any questions. Have a great week!
Week 9: Monday, October 9th – Thursday, October 12th
I hope you had a great weekend! This week, we'll wrap up Unit 2 and take a break from Scratch so we can start Unit 3. Here's the plan for this abbreviated week:
Unit 2 Exam
start Unit 3: Data Representation
3.1 Binary
3.2 Base Conversions
3.3 ASCII vs. Unicode
We'll also have these important events this week:
Monday 10/9: Parent-Teacher Conferences @5-8pm – sign up here!
Tuesday 10/10: Passport to IT Careers field trip (8:15am-2:00pm)
Thursday 10/12: Early Release Day
Friday 10/13: Teacher PD Day – NO SCHOOL
Enjoy your three-and-a-half-day weekend! Please let me know if you have any questions.
Week 8: Monday, October 2nd – Friday, October 6th
Welcome to the first week of October! This week will be dedicated to the Password Generator Project, where you'll be writing a program in Scratch to create a password based on user input. Make sure you follow the directions and pay special attention to the goal for each milestone in the assignment. As always, let me know if you have any questions. Have a great week!
Week 7: Monday, September 25th – Friday, September 29th
Hi there! For the first week of autumn 🍂, we're going to wrap up Unit 2: Programming in preparation for next week's Password Generator Project. Here's the plan:
2.8 Procedures
2.9 Solvability & Performance
Big Picture: Moore’s Law
Logic Gates and Hardware
Unit 2: Quiz 2 🏪
I hope you have a great week! Please let me know if you have any questions.
Week 6: Monday, September 18th – Friday, September 22nd
Welcome to the last week of summer! This week, we'll continue working on Unit 2: Programming with selection and iteration. Here's the plan:
2.4 Unit 2: Quiz 1
2.5 Applying Selection
2.6 Defining Iteration
2.7 Applying Iteration
As always, please let me know if you have any questions!
Week 5: Monday, September 11th – Friday, September 15th
Welcome back! I hope you had a great Homecoming weekend. This week, we're starting Unit 2: Programming, which will help you understand the basic structures behind every computer program or app you've ever used. Here are the topics we'll be working on:
2.1 Defining Sequencing
2.2 Applying Sequencing
2.3 Pseudocode
2.4 Defining Selection
Pseudocoding can seem like a silly waste of time, but it's actually an incredibly useful tool for organizing your thoughts when you're developing a program. Let me know if you have any questions, and have a great week!
Week 4: Tuesday, September 5th – Friday, September 8th
I hope you enjoyed your 3-day weekend! We're wrapping up Unit 1 this week just in time for our first exam! Here's the plan for this hot, hot week:
finish 1.8 Defining Variables
1.9 Applying Variables
Unit 1 Quiz 2
Unit 1 Review
Unit 1 Exam
As always, please let me know if you have any questions or need help with anything at all. Stay cool!
Week 3: Monday, August 28th – Friday, September 1st
I hope you enjoyed your unexpected 3-day weekend! Here's what we're doing in class for the last week of August:
Big Picture: Collaboration
Unit 1: Quiz 1
1.5 Getting Started in Scratch
1.6 Programming with Blocks
1.7 User Input and Storage
start 1.8 Defining Variables
Keep up the great work, and as always, please let me know if you have any questions!
Week 2: Monday, August 21st – Friday, August 25th
Welcome to the first full week of the 2023-2024 school year! Now that we've had a few days to get to know each other and get everyone logged in to ProjectSTEM, we can get to work! Here's what we're doing in class this week:
1.1 The Iterative Development Process
1.2 Algorithms
1.3 Languages
I've also included a link to a weekly schedule of all of the assignments for the year.
I hope you had a great first week and that you were able to get some rest this weekend before we attempt to go to school for five full days without strange bell schedules or burning birds. Let me know you have any questions!