Noble and Greenough School is a rigorous academic community dedicated to inspiring leadership for the public good. Through mentoring relationships, we motivate students to achieve their highest potential and to lead lives characterized by service to others.

Computer Science

The mission of the Computer Science department is to promote intellectual growth and the creative exploration of technology through rigorous and inventive courses. By offering a wide range of tecnhology-based classes from programming to the use of media tools for effective digital communication, we provide learning opportunities in computer science that are both accessible and inclusive.

Digital Media and 3D Modeling | Fall Only
Full Credit
Open to: I, II, III, IV

Students will plan and create individual and collaborative multimedia projects using a variety of animation and visual programming tools. This very hands-on class will start with the use of Photoshop to design custom avatars, then moving those personal images into Fablevision's Animation-ish and Apple iMovie to introduce the concept of time based imagery. Using 3D modeling software, such as Sketchup, AutoCAD and PTC Creo, students will design and fabricate both individual and collaborative artifacts. The class will culminate in student project presentations.


Intro. to Programming | Fall or Spring
Full Credit
Open to: I, II, III, IV

Programming courses almost always use the study of one language in depth to help students understand the basic principles of computer science. Unlike those courses, this is a survey course which will explore a number of different programming languages - while still giving students a grounding in many of those same basic principles of computer science. The course will start with a brief history of computer programming leading up to the evolution of the technology rich world that we live in today. This class will expose the students to Python, JavaScript, JAVA, PHP and HTML5 as well as other languages based on student interest. Students will strengthen and demonstrate their learning through the creation of individual and collaborative projects.

Interaction with professional computer programmers will allow the class to get a feel for how programming is applied in multiple areas of commerce.  Exposure to a local technology company will give the students hands on experience with some of the leading software applications as well as a chance to speak directly to and ask questions of software developers.

This course provides a good foundation for other computer science classes, such as Robotics and both of the AP classes.

Advanced Placement Computer Science Principles | Full Year
Full Credit
Open to: Class I, II, III
Prerequisites: Intro. to Programming Recommended or permission of department

This course is unique in its focus on fostering students to be creative in a computer science environment.  Students are encouraged to apply creative processes when developing computational artifacts and to think creatively while using simulations to explore questions that interest them.  Rather than teaching a particular programming language or tool, the course focuses on using technology and programming as a means to solve computational problems and create exciting and personally relevant artifacts.  Student design and implement innovative solutions using an iterative process similar to what artists, writers, computer scientists and engineers use to bring ideas to life. This course is intended to prepare students for the AP Exam in Computer Science Principles.

Web Development | Spring Only
Full Credit
Open to: I, II, III
Prerequisites: Intro. to Programming or permission of the department

This hands on programming course provides students with the knowledge necessary to design and develop dynamic, database-driven web pages using PHP. This course introduces the framework and syntax of web development, and covers in depth the most important techniques used to build dynamic web sites. Students learn how to connect to any ODBC-compliant database, and perform hands on practice with a MySQL database to create database-driven HTML forms and reports. As the students develop their skills it will lead them confidently into building their own responsive websites using more advanced technologies such as JQuery Mobile.

Robotics | Fall or Spring
Full Credit
Open to: I, II, III

The goal of this course is to teach students how to think and create like engineers. We begin the term by studying how to analyze problems in a logical manner and create algorithms that can solve these problems, including computer programming techniques in C++. Building upon this abstract foundation, students learn how to apply this mode of thinking to concrete situations involving circuits and sensors. A culminating project (a competition against other students in class) places the student in the role of lead engineer. Students come up with an idea, develop algorithms, test their idea, and execute the design. Through extensive laboratory work, students utilize their computer programming techniques and an understanding of electronic circuits to implement their engineering projects.

Electronics Design and Engineering | Spring Only
Full Credit
Open to: I, II

This advanced course teaches students how to use flourishing technologies, such as Computer-Aided Design (CAD), 3-D Printing, GPS, 3-D accelerometers, and sensors, to design and create sophisticated solutions to real-world problems.  It is especially suited for students interested in engineering who have already taken Robotics, or have prior programming experience.  Through a number of projects, students will expand their existing skills in computer design, programming, embedded chip analysis and coding, and the engineering design process.  In the second half of the semester, students work together to initiate and complete significant research projects.  Self-motivation and an eagerness to solve problems will be important for success in this course.

Advanced Placement Computer Science | Full Year
Full Credit
Open to: Class I, II
Prerequisites: AP Computer Science Principles or permission of department

This course is intended to prepare students for the A-level AP Exam in Computer Science, currently given in the Java programming language. This course presents a project-based approach to learning object-oriented programming. By working in collaborative groups, students will experience the process of defining a problem, breaking it up into manageable sections, and designing compact, portable code that will solve the problem in a structured and efficient manner.Topics covered will include object-oriented software design and programming, how to code using good style and documentation, implementation of algorithms using conditional statements and loops, common searching and sorting algorithms, and Java library packages and classes within the scope of the AP/AComputer Science subset. 

Noble and Greenough Community Login



Parents, click here if you've forgotten your password.

Other community members, please contact ISS.