Upper School Curriculum Guide
The world continues to be more and more reliant on computers and computing innovations to function. Our daily reliance on our smartphones and the Internet are just two small examples. Fields as disparate as biology, fashion, agriculture, and finance are impacted daily by computer innovations, and to function in this cyber-connected economy, students must be literate in the field of computer science.
The Computer Science Department offers courses in both computer programming as well as design and engineering. Our programming courses teach students how to code and how computers work. They also discuss how computing innovations can impact our society, economy and culture. The design and engineering courses teach students about the ways in which design and technology intersect, and offer hands-on applications so that students might learn about the many applications of computing in the physical world.
Beginning with the class of 2023, all students are required to pass one half unit course in Computer Science before graduation. Those courses that meet this requirement are indicated in the course descriptions. Students may choose the course that best suits their interests and comfort with Computer Science in order to meet this requirement. We encourage students to speak with members of the Computer Science department in order to choose the appropriate course.
COURSE SELECTION GUIDELINES
The Computer Science course offerings are all electives. Most students will begin with Introduction to Computer Science, Computational Biology, or Introduction to Robotics. If a student has previous experience in programming, or has taken other computer science or programming courses, they should explore the curricular sequence for computer science and see Ms. O'Shaughnessey to discuss placement options.
For AP and Advanced courses in computer science, please watch RCDS News for the online sign up forms and direct specific questions to Ms. O’Shaughnessey.
AP HOMEWORK GUIDELINES
AP Computer Science A: Students spend an average of 30 - 45 minutes each night on homework. Students have a summer requirement to complete online.
AP Computer Science Principles: Students spend an average of 20 - 30 minutes each night on homework. There are two large projects to submit to the College Board, which include writing.
DEPARTMENTAL POLICIES REGARDING ENTRY INTO AP COURSES
AP Computer Science Principles focuses broadly on programming in multiple languages, creatively expressing and writing about the impact of computer science on our world, and would be equivalent to a college level introductory computer science course for non-majors. If planning to take both AP courses, AP Computer Science Principles is the recommended first course, but they may be taken in either order.
AP Computer Science A focuses entirely on programming, particularly in Java, and would be equivalent to a college level introductory computer science course for computer science majors. Students must receive approval of the department, earn an A- or better in Introduction to Computer Science, or complete AP Computer Science Principles before enrolling in this rigorous course.
Beginning with the class of 2023, all students are required to pass one semester of a Computer Science course in order to graduate. Students may choose many different paths in Computer Science. Below you will see a visual overview of our curriculum, with the arrows representing some of the paths that students may choose to take. Many of the department's offerings require no prior experience. These courses are designed to be accessible to every student, and to give students opportunities to learn about a variety of topics for which they have a passion or interest. There are also many intermediate classes that have Introduction to Computer Science or Computational Biology as a prerequisite, including the two AP courses. Finally, there are post Advanced Placement options for the most advanced students in this discipline. Advanced Topics 2 is a project-based course and may be taken multiple times.
One of the joys of computer science is learning to make things move, and interacting with them on the screen. Capitalizing on this wonderful, “Aha!” moment, this course explores the basic principles of Computer Science using the highly visual and interactive language of Processing. Students in this course write their first interactive programs, while learning object-oriented design and the fundamental tools of programming. Projects invite students to program or design interactive games. This course (or equivalent experience) is required to take Advanced Placement Computer Science. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, fall or spring, grades 9, 10, 11, 12; prerequisite: none)
Have you ever wondered how biologists were able to sequence the human genome, create accurate models of the brain, or model biological systems? Would you love to better understand how biologists use big data and programming to solve human problems? Then, this course is for you! Students will be taught the power of pairing computational thinking with answering biological questions. Students will use the programming language Python to implement, test, and debug algorithms for solving simple problems. For example, students will use programming to analyze and compare DNA sequences from different species, and to discover variability within the genome. This course will provide appropriate challenge for both the experienced and the novice programmer. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, fall, grades 10, 11, 12, prerequisite: B+ or better in Biology)
Students in this course will explore modern technical theatre. New techniques in theater require the integration of complex electronics, physical sets, and sound and lighting design. Students will have the opportunity to research and learn about new and innovative approaches currently being used in the theatre, while simultaneously learning foundational concepts of sound and lighting and foundational concepts of coding. Students will collaborate with students in the drama department, building the design for scenes they are learning. Interdisciplinary with Dance and Drama department. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, spring, grades 9, 10, 11, 12, no prerequisite, grants ½ Arts credit, not offered 2020-2021)
This course introduces students to the fundamentals of robotics using the VEX platform. Students learn to design and build robots, to program autonomous behaviors, and to use sensors to improve their robots’ abilities to interact with their environment. This course uses the VEX code programming language, and serves as an introduction to aspects of computer programming such as program design and control, looping, and Boolean logic. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, spring, grades 9, 10, 11, 12; prerequisite: none)
Students in this course will examine the nature, features, design, and implementation of programming languages. Students will be exposed to a wide variety of programming languages through programming exercises, which will teach students effective ways to quickly learn new tools and languages in this ever-evolving discipline. This course will culminate in a final web project, in which students will learn and use the same tools that web developers use for business. By the end of the course, each student will have created a fully functional and thoughtfully designed website and be knowledgeable in version control, web accessibility and responsive design. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, spring, grades 9, 10, 11, 12; prerequisite: Introduction to Computer Science, Computational Biology, or permission of the department)
Successful games require a synthesis of strong programming technique, meaningful and interesting content, and thoughtful organization. This course will teach students to recognize various game genres, identify their important components, apply advanced programming and graphics techniques, and code for complex user interaction. Students will create efficient, reusable code elements that will challenge their skills and that can be applied to any game program. The semester will be summarized by a capstone project where they create a game of their own original design. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, grades 10, 11, 12; prerequisite: Introduction to Computer Science, or permission of the department, not offered 2020-2021)
This course will build students' fundamental skills in designing, constructing and programming robots. Students will learn principles of electrical and mechanical engineering including building and programming sensors and motors. Students will have hands-on experience constructing their own robot both individually and in teams. Throughout the course students will compete in robotics challenges. Students in this course may attend the VEX Robotics Competitions with the Robotics Club. This course does not currently fulfill the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, spring & fall, grades 10,11, 12; prerequisite: Introduction to Robotics or approval by instructor)
Want to solve real life problems? Enjoy designing and making? This course will introduce students to various fields of engineering through interdisciplinary problem solving and the completion of student-designed projects. Engineers apply the principles of design, mathematics, science, and computer science to solve real-world problems. Students will plan, design, build, analyze, and stress test a variety of projects of their own designs. Have an interest in designing buildings, ships, or bridges? How about rockets, cars, or playground equipment? Robots, alarms, or digital maps? Renewable energy technologies? If so, Civil, Mechanical, Electrical, Computer, or Chemical Engineering may be in your future! Students will complete several such projects, including a capstone design. This course does not currently fulfill the Computer Science requirement in place for the classes of 2023 and beyond. (1/2 unit, spring, grades 10, 11, 12; prerequisite: none)
This course is an introduction to working in and becoming ambassadors/leaders for the RCDS Makerspace. Through this course, students will have the opportunity to be at the forefront of 21st Century advanced technology by receiving training to develop their skills of rapid prototyping, problem-solving, and invention. This course provides students the know-how to operate and use the equipment, fortify their confidence while removing some of their fear, and allow more time for creativity and exploration. Students will work with teachers to develop innovative projects that support the teachers’ curricula, help students with projects and tools, and teach about the technology in the Makerspace. This apprenticeship will also provide students with time to collaborate with each other on advanced projects. This course is pass/fail. (¼ credit per semester; Grades 9 - 12, prerequisite none, 3 meetings per cycle)
- AP COMPUTER SCIENCE PRINCIPLES
- AP COMPUTER SCIENCE A
- ADVANCED TOPICS IN COMPUTER SCIENCE: Data Structures and Algorithms
- ADVANCED TOPICS IN COMPUTER SCIENCE 2: Coding for a Cause
AP Computer Science Principles challenges students to learn how to creatively address real-world issues while using the same tools and processes that artists, writers, computer scientists, and engineers use to bring ideas to life. This course teaches the fundamentals of computing, including problem solving, working with data, understanding the Internet, cybersecurity, and programming. In addition to instilling the ideas and practices of computational thinking, the curriculum invites students to understand how computing changes the world. Students will work through the Beauty and Joy of Computing curriculum from Berkeley alongside coding projects in p5.js using the OpenProcessing IDE. Projects assigned aim to offer students choice and creativity in their solutions. In addition to learning coding basics in p5.js, students will learn how to create interactive websites with HTML, CSS, and p5.js. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1 unit; grades 10, 11, 12; prerequisite: Introduction to Computer Science, Computational Biology, or permission of the department)
Familiarity with computing has become one of the most essential 21st century skills. The AP Computer Science A course thoroughly explores computer science fundamentals through the Java programming language. Students will learn different algorithms, data structures, and approaches to the design of programs. Students will complete several programming projects that cover the breadth of computer programming skills. Students will also take the AP Computer Science A examination at the end of the year. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1 unit; grades 10, 11, 12; prerequisite: A- or better in Introduction to Computer Science or Computational Biology, AP Computer Science Principles, or permission of the department)
Designed to follow AP Computer Science A for those highly motivated and engaged computer science students, this course will explore both the practical and the theoretical pieces of computer science. On the practical side, students in this course will write programs in the Python programming language which implement more advanced data structures such as stacks, lists, queues, hash tables, and trees. On the theoretical side, students will begin to explore the theory of computation, which at its core, answers the question of what can be efficiently automated using an algorithm. Students will learn how to build efficient and elegant algorithms, and how to more effectively analyze their algorithms in terms of run time and computational complexity. The course will feature a variety of problem sets designed to explore this diverse and fascinating science. This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1 unit; grades 11, 12; prerequisite: Advanced Placement Computer Science A or permission of the department)
In this course, students will use a variety of tools to design and implement applications that students believe will have a positive impact on their community. Based loosely on the work done by the non-profit Random Hacks of Kindness, this course serves a dual purpose: to teach students the development cycle of applications, as well as to partner with community organizations. Students will research user needs and design and develop their application to serve those needs. Students will be exposed to real-world projects with organizations that partner with Rye Country Day School, and their work will have a positive impact on others.This course fulfills the Computer Science requirement in place for the classes of 2023 and beyond. (1 unit, 11, 12; prerequisite or concurrent with: Advanced Topics in Computer Science 1: Data Structures and Algorithms)