Computer Science

Computer science education means far more than learning how to use a computer, building a spreadsheet or even creating a webpage. It’s about problem solving, computational thinking and abstract reasoning across a broad range of subjects. A fundamental understanding of computer science enables students to be not just educated users of technology, but the innovators capable of using computers to improve the quality of life for everyone.

The first aim of the Department of Computer Science is to assist students in learning logical reasoning, algorithmic thinking, design and structured problem solving – all concepts and skills that are valuable well beyond the computer science classroom.
The second aim of the department is to encourage students to move beyond the fundamentals and hence, all students are required to take one term of computer science, in the 10th, 11th or 12th grade, with the opportunity to pursue further computer science courses in which they learn effective programming methods, design skills and advanced use of various software applications.

The department also supports students in developing the computer-based skills that will allow them to enhance their learning, thinking and articulation of ideas. For many students, this means working in a networked environment with mostly web-based tools and standard applications such as email, word processing and spreadsheets. Therefore, students in the 9th grade may take Introduction to Computer Science (term-long course), which covers fundamental concepts and skills. More importantly, these courses reflect the school’s belief that as students acquire computer literacy, they should also become fluent in the resources, techniques and ethics of 21st century internet research and usage.

Courses in this department for 2017-2018:

Introduction to Programming with Alice

This one-term course provides students with a general understanding of what computer programming is all about. Students learn essential programming/analysis skills to break a problem down into discrete steps and use various programming constructs to solve the problem by addressing those individual steps. The 3D interactive programming environment, Alice, is used in this course. For the most part, students learn to program not by listening to a teacher or watching the instructor do examples, but by doing programming themselves. This course is very hands on and students are programming in class regularly. Topics include problem solving, programming languages, storyboarding, pseudocode, functions, expressions, control structures and object-oriented design and programming. Upon completing the course, students will have a good basis for further study of computer programming and better general problem-solving skills.
Course length: One term

Website Design and Development

This course provides students with a basic introduction to website design and development using HTML, PHP and SQL for data storage and retrieval. Students will learn fundamentals of HTML and commercial web-creation software packages; scanners and digital video cameras; and use of digital resource creation-and-manipulation programs. In addition to basic web design and coding, students will also learn basic database design principles while creating simple interactive websites.
Course length: One term

Introduction to Python Programming

Introduction to Python programming is an introductory-level course for students brand new to programming and computer science. The material emphasizes computational thinking and helps develop the ability to solve complex problems. This term-long course covers the basic building blocks of programming along with other central elements of computer science. It gives a foundation in the tools used in computer science and prepares students for further study in computer science, including AP Computer Science Principles and AP Computer Science A courses.
Course length: One term

Introduction to Java Programming (Pre-AP course)

This course aims to introduce students to the fundamentals of computer programming like data storage principles and the main control structures of procedural programming languages. Students are expected to develop and improve their skills and problem-solving techniques. The course uses Java to help students prepare for more advanced programming courses such as the AP Computer Science course.
Course length: One term

AP Computer Science

This course is based on AP Computer Science A which is equivalent to the first semester of a college level computer science course. The course develops the skills to write programs or part of programs to correctly solve specific problems. It also emphasizes the design issues that make programs understandable, adaptable and when appropriate, reusable. At the same time, the development of useful computer programs and classes is used as a context for introducing other important concepts in computer science, including the development and analysis of algorithms, the development and use of fundamental data structures and the study of standard algorithms and typical applications. In addition, an understanding of the basic hardware and software components of computer systems and the responsible use of these systems are integral parts of the course. The course uses Java as a tool to teach the methodology of object-oriented programming and problem-solving techniques through the development and usage of algorithms.
Course length: One year
Prerequisite: Introduction to Programming or its equivalent and department consent

AP Computer Science Principles

AP Computer Science Principles introduces students to the central ideas of computer science, instilling the ideas and practices of computational thinking and inviting students to understand how computing changes the world. The rigorous course promotes deep learning of computational content, develops computational thinking skills, and engages students in the creative aspects of the field. The course is unique in its focus on fostering creativity in students. 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. Students 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 prepares students for the AP Exam as well as the assessment that asks students to explore the implications of computing innovations and create a computer application.
Course length: One year
Prerequisites: No prior computer science knowledge or experience is necessary

Last updated
April 24, 2017