Computer Science

Middle School

Computer Science: Problem Solving Grade level: 7 (required)

This course is a highly interactive and collaborative introduction to the field of computer science, as framed within the broader pursuit of solving problems. Students develop and adopt a more formal, structured problem solving process by reflecting on problems they have encountered, both in the classroom and everyday life. By working through a diverse set of problems, such as logic puzzles, engineering challenges, and planning a trip, students learn to identify different classes of problems, decompose large problems, and develop their personal problem solving skills. The course concludes with students proposing an application that could be used to solve a problem they are passionate about.

Computer Science: Web Development Grade level: 8 (required)

In this course, students use computing as a form of self expression as they design and develop basic web pages. Throughout the course students are introduced to problem solving as it relates to programming, as they learn valuable skills such as debugging, commenting, and structure of language. Focusing on the tags, keywords, and syntax used to communicate instructions to the computer, students use HTML to structure the content of a web page. As students develop their pages and begin to see themselves as programmers, they are encouraged to think critically about the impact of sharing information online and how to be more critical content consumers. After covering the basics of HTML, students dive into improving their websites with CSS. They learn to use colors, fonts and margins to create a unique style of their own design. At the end of the course, students compile their work to create a personal website they can publish and share.


Upper School

Computer Science: App Development (1 Trimester) Grades: 9, 10, 11,12; Credit: 1

This course transitions students from thinking about computer science as a tool to solve their own problems towards considering the broader social impacts of computing. Students are introduced to a specific version of the problem solving process in which empathy for a user's needs is consistently integrated. Through a series of design challenges, students are asked to consider and understand the needs of others while developing a solution to a problem. Working in teams, students identify an issue that they care about and then design and prototype an app to address that issue. This is an opportunity for students to express themselves creatively, learn the basics of a program-based computer language, and apply their knowledge to create a meaningful app.

Computer Science: Web Development (1 Trimester) Grades 9, 10, 11, 12; Credit: 1

In this course, students are challenged to design and develop intermediate level web pages. Throughout the course students are exposed to a number of coding challenges, which push their ability to collaborate, tinker, test, and refine their skills. Students will learn the proper use of several basic HTML tags, such as header, paragraph, and images, and list tags, as well as how to layer CSS elements on top of their HTML knowledge. Diving into more complex topics, such as floats, hyperlinks, margins, classes, and IDs, students are challenged to move elements around their web page and create a multi-page website in groups. Some students take the course a step further, exploring the basics of javaScript, an object-oriented programming language commonly used to create interactive effects within websites. At the end of the course, students compile their work to create a personal website they can share.