Skip to main content

Upper School Computer Science

In an ever more interconnected world, our students emerge ahead of the curve, prepared as future-ready leaders.

A computer science classroom

Real-World Technology

Because computer science and the technologies it enables rest at the heart of our economy and way of life, we give students the opportunity to gain a clear understanding of its principles and practices, through hands-on, authentic, and relevant projects that test their ability to apply specific skills and knowledge to real-world problems.

Accordion

This introductory course is designed for all students who are new to the world of computer science and programming. This course provides a hands-on approach to learning the basics of coding through interactive platforms like SCRATCH and Code.org, where students can create their own games, animations, and interactive projects. In addition to learning programming concepts, students will explore how technology can be used to solve real-world problems. The course covers a wide range of topics, including robotics, web design, and problem-solving techniques, encouraging students to think creatively and critically.

This course combines introductions to mechanical and electrical engineering with design thinking, problem solving, and application to everyday problems — from health care to global nutrition, housing, clothing and more. Students are passionately curious about many things, and want opportunities to design working solutions to the questions and problems they see today and envision for the future. Adapting the former computer engineering course, students will get more hands-on opportunities to build and design projects like smart clothing and soft circuits, a farm/greenhouse auto-bot, design adaptive toys, build a poetry kiosk, and more.

The ubiquity and ease of use has made the 3D printer a common household appliance, yet many are afraid or unsure of where to begin. As the latest technology becomes more accessible and approachable, more students can see themselves using tools to create solutions. From designing in CAD and 3D printing objects, to advanced meshing and dogbone techniques for large model assemblies, students are limited by their imaginations. In addition to 3D additive technologies like FDM and Resin printing, students will also explore and create technology solutions in VR/AR space for virtual tours and training, aerial drones, and work with industrial designers on real project solutions like a surgical tool grip, a sailcart, or interactive virtual tour.

With nearly a million unfilled jobs in cybersecurity, our nation is in dire need of students with skills in networking and cybersecurity. Students design, build and protect networked servers, workstations, and switching equipment, exploring Internet and TCP/IP concepts, while trying to learn a little more about white hat hacking as a preventative tool.

AP Computer Science Principles is an introductory college-level computing course that introduces students to the breadth of the field of computer science. Students learn to design and evaluate solutions and to apply computer science to solve problems through the development of algorithms and programs. They incorporate abstraction into programs and use data to discover new knowledge. Students also explain how computing innovations and computing systems — including the internet — work, explore their potential impacts, and contribute to a computing culture that is collaborative and ethical.

AP Computer Science is both a course for potential computer science majors and a foundation course for students planning to study in other technical fields such as engineering, physics, chemistry, geology, and biology. The course emphasizes object-oriented program design and implementation using the Java programming language, procedural abstraction, and in-depth study of algorithms, data structures, and data abstractions. The course explores issues of real-world software development practices as well as the social, ethical and legal issues of computing systems. Instruction includes preparation for the AP Computer Science A exam, as well as exploration of industry topics such as collaboration on projects of scale and distribution of software. Access to, and regular practice with computing resources outside of the classroom is expected, as substantial time may be required to complete many of the larger assignments.

This course explores the design and application of topics in Computer Science beyond the AP Java Curriculum that would permit students to create scalable software solutions to real world problems. Of particular interest are those problems within communities that may include topics of equity, access, and fairness. While encouraging students to create, explore and build solutions to make their world better, (that may take them down paths of entrepreneurship and startup topics) the course is designed to ensure students consider all the corners of their world, and how their design choices may impact others. Topics will include software development and distribution, AI and ML (artificial intelligence and machine learning), computer vision, public policy (healthcare, predictive policing, etc.) and cybersecurity, and include implications of universal access, privacy, freedom of speech and movement. Drawing from works of computer scientists, academics, and several startups (both successful and not), we will combine programming coursework with case-study analysis to “hack for good.”