HANNAH DURANKO
MATHEMATICS AND COMPUTER SCIENCE TEACHER
LANDER VALLEY HIGH SCHOOL
AP COMPUTER SCIENCE PRINCIPLES
Explore a variety of engaging projects and lessons that highlight my teaching methods and classroom activities. Each one showcases unique skills and creativity in AP CSP.

INTRO TO NETWORKING
Rather than simply telling students how computers communicate, I give them the opportunity to experience it firsthand. Students begin by building their own network using pieces of string. Their challenge is to send a message from a designated starting point to an endpoint, with communication only possible between students connected by a string.
After several rounds, I introduce a new challenge by cutting selected strings to represent failed network connections. Students must then problem-solve ways to redesign their network to make it “fault tolerant,” ensuring messages can still travel from start to end even when connections are disrupted. This hands-on activity encourages collaboration, critical thinking, and a deeper understanding of how real-world computer networks function.
COMPRESSION ACTIVITY
This activity gives students a firsthand experience with how digital files can be compressed and the trade-offs that come with reducing file size. Students begin by recreating an image on progressively smaller grids, forcing them to decide which visual details to keep and which to remove. As the grid size decreases, students observe how the image becomes less detailed and eventually unrecognizable, illustrating the concept of lossy compression and how information is permanently lost when data is removed.
After exploring lossy compression, students shift their focus to lossless compression by analyzing the lyrics of "Don't Stop Believin'" and finding ways to represent the text using less data. Through identifying repeated words and patterns, students discover how computers can reduce file size without losing any information. This hands-on investigation helps students compare lossy and lossless compression, understand when each method is appropriate, and develop a deeper appreciation for how computers efficiently store and transmit digital media.

DIGITAL PORTFOLIOS
Students also create digital portfolios to document and showcase their learning throughout the course. These portfolios allow students to reflect on their growth, organize completed projects, and demonstrate both technical and problem-solving skills.
As students complete activities and projects, they add artifacts such as screenshots, written reflections, presentations, and coding examples to their portfolios. This process encourages students to take ownership of their learning while building communication and self-assessment skills. By the end of the course, students have a professional collection of work that highlights their progress, creativity, and understanding of key computer science concepts.

MATH USING JAVA
Before diving into graphics and visual programming, students build a strong foundation in problem-solving by creating a Java program that solves quadratic equations. Students design a program that accepts user input, performs mathematical calculations, and produces meaningful output based on the values entered. Through this process, they practice essential programming concepts such as variables, data types, user input, mathematical operators, and conditional statements.
As students test different equations, they discover how a single program can produce different outcomes depending on the data it receives. They learn to analyze problems, break them into manageable steps, and develop algorithms that make decisions based on specific conditions. This project provides an authentic application of computational thinking while strengthening the coding skills students will rely on as they transition into creating graphics, animations, and more complex interactive programs later in the course.

WEB OF TRUST ACTIVITY
Rather than simply explaining how websites establish trust online, I give students the opportunity to experience the process through a hands-on simulation of digital certificates. Students take on the roles of a browser, a website, a certificate authority, and a hacker to model how secure connections are verified on the internet.
As the activity unfolds, students see how a trusted certificate authority can validate a website's identity by providing a unique signature. When a hacker attempts to impersonate the website, students must determine whether the certificate can be trusted by checking for the correct signature. Through this interactive experience, students develop a deeper understanding of digital certification, website authentication, and how modern browsers protect users from spoofed or fraudulent websites. The activity transforms an abstract cybersecurity concept into a memorable and engaging learning experience while reinforcing critical thinking and problem-solving skills.

OBJECTED ORIENTED PROGRAMS
Once students have developed confidence with fundamental programming concepts, they apply those skills in a graphical environment by creating an interactive program that allows a user-controlled circle to move around the screen. Using keyboard input, students program the circle to respond to user actions while implementing collision detection to prevent movement through designated obstacles.
As students build and refine their programs, they encounter many of the same challenges faced by game developers and software engineers. They must carefully manage object positions, detect interactions between graphical elements, and use conditional logic to control behavior. This project helps students connect abstract coding concepts to visual outcomes, providing immediate feedback on their work while reinforcing problem-solving, debugging, and algorithmic thinking. By combining user interaction with graphics, students gain a deeper understanding of event-driven programming and the foundational principles that support more complex simulations and games.