Upper School
US Curriculum

Computer Science

Computer Science Courses

List of 9 items.

  • Digital Design & Fabrication

    3 meetings per eight-day cycle/2 credits

    Students will develop foundational fluency in problem solving, prototyping, project management, communicating with clarity and using the tools and materials in the Hackery, our makerspace. They will learn 2-dimensional design to create projects that can be laser cut in various materials, move on to learning 3-dimensional design and parametric modeling, and use 3-D printing to create prototypes or products. Students will also discuss the various principles and practices of object design throughout the course.
  • Intro to Computer Science

    3 meetings per eight-day cycle/2 credits
    Open to all students; no previous experience with computer science is needed

    This course delves into the basic principles of computer science. Students will explore fundamental programming concepts, learn how the internet works and delve into cybersecurity. We will explore a variety of coding environments that use both block- and text-based programming. Emphasis will be placed on problem solving and the need to structure and develop solutions in a logical manner. Other topics include creativity and conceptualization, physical computing, analysis of algorithms and the influence computer science has on economic, social and cultural innovation.
  • Programming, Simulations & Design

    3 meetings per eight-day cycle/2 credits
    Prerequisite: Intro to Comp Science 710 or placement exam

    This course is recommended for students who are comfortable moving into syntax-based programming and have a basic understanding of loops, selection statements, variables and logical thought. The course will use visual programming and an IDE (Integrated Development Environment) to build on prerequisite concepts. Students will use object-oriented design concepts to structure syntactically valid programming statements in a logical manner to develop games and simulations and to learn strategies to assist with planning, designing and implementing programs. Programming concepts include objects, primitive data types, classes, inheritance, conditional statements, iteration and introduction to arrays.

    This course is a prerequisite for AP Computer Science 723.
  • Design Thinking, Applied Programming and Fabrication

    3 meetings per seven-day cycle/2 credits

    Students will develop foundational fluency in computational thinking, design thinking, complex problem solving, prototyping, project management, communicating with clarity, working collaboratively, and in using the tools and materials in the Hackery, our makerspace. Skill-building projects will focus on 3D modeling and printing using software like Tinkercad, Beetleblocks, Adobe Fusion 360; 2D digital design using software like Adobe Illustrator; physical computing by programming microcontrollers, sensors, actuators and building simple robots; using hand tools and power tools, and sewing. The final project will introduce students to the principles and practices of Interaction, Product, and Human-centered Design, and students will create a physical and/or computational artifact to address a problem that is of interest to them. The course will also include ongoing discussions about the ethical and environmental impacts of one’s design decisions.
  • Machine Learning with Music and Art

    3 meetings per eight-day cycle/2 credits
    Prerequisite: Intro to Computer Science 710 or placement exam

    This course is recommended for students who are comfortable moving into syntax-based programming and have a basic understanding of loops, selection statements, variables and logical thought.

    Does building a new digital musical instrument that responds to your gestures sound like an interesting project? How about creating an interactive visual art installation that reacts to movement? Students in this course will learn about the fundamentals of machine learning and apply those skills to controlling sound, music and visual imagery with human gestures and real-time data.

    In this course, students will use the Processing programming environment, machine learning modeling software, output software to create sound and such input devices as cameras, computer mice, hardware sensors and game controllers to create their multimedia projects. The course focuses on learning the software, hardware and algorithms used in machine learning environments and employing creativity and best practices in creating new real-time interactive systems in the arts.
  • Game Design and Programming

    Offered as both a major and a minor
    • 5 meetings per eight-day cycle/3 credits
    • 3 meetings per eight-day cycle/2 credits
    Prerequisite: Programming, Simulations, and Design 725; Machine Learning with Music and Art 711; or placement exam

    This course is recommended for students who have an intermediate understanding of programming concepts. Correlations to topics learned in the prerequisite will be created while students develop a variety of interactive games via hands-on projects using a gaming environment and language. Students must be able to navigate an API, debug code and construct syntactically valid programming statements. Understanding of control flow, variables, objects, functions and inheritance are necessary. By class’s end, students will have programmed several of their own games and gained a thorough understanding of the basics of game design and development.
  • AP Computer Science

    5 meetings per eight-day cycle/3 credits
    Prerequisite: "A" in Programming, Simulations, and Design 725; Machine Learning with Music and Art 711 alongside teacher recommendation; or placement exam

    This course is recommended for students who can construct syntactically valid programming statements and understand flow of control, variables, methods, classes, IDEs and APIs. It will prepare students for the AP Computer Science examination in the Java programming language. Fundamental skills are necessary in order to design and implement computer programs that are understandable, adaptable, reusable and solve a problem. The goals of this course are comparable to those found in many introductory Computer Science courses offered by universities. Topics include algorithm analysis and development, advanced data structures, program implementation, analysis and computing in context.
  • Post-AP Comp Sci: Mobile App Development

    Offered as both a major and a minor
    • 5 meetings per eight-day cycle/3 credits
    • 3 meetings per eight-day cycle/2 credits
    Prerequisite: “B+” or above in AP Computer Science 723 or permission of Department Chair

    This course is recommended for self-motivated students who can construct syntactically valid programming statements with an understanding of object-oriented programming concepts, including encapsulation, abstraction, inheritance, interfaces, flow of control, method decomposition and construction.

    This project-based course examines the principles of mobile application design and development. Students specify and clearly define a project that produces a quality mobile app pursued throughout the course. Course work will include project conception, design, implementation and pilot testing through mobile phone applications on a predetermined platform. Students are required to provide demos, participate in informal discussions and meet deadlines toward completing a proposed project.
  • Post-AP Comp Sci: Data Analytics & Visualization

    Offered as both a major and a minor
    • 5 meetings per eight-day cycle/3 credits
    • 3 meetings per eight-day cycle/2 credits
    Prerequisite: “A-” or above in AP Computer Science 723 or permission of Department Chair

    This course is recommended for self-motivated students who can successfully implement programs with object-oriented concepts and who have an interest in utilizing programming knowledge in a statistics setting. This course will utilize Python to explore different types of datasets. Students will learn how to prepare data for analysis, perform simple statistical analysis, create meaningful data visualizations, predict future trends and more!

    Topics covered:
    1. Importing Datasets
    2. Cleaning the Data
    3. Data Frame Manipulation
    4. Summarizing the Data
    5. Building Machine Learning Regression Models
    6. Building Data Pipeline

Electronic Publishing Courses

List of 5 items.

  • Electronic Publishing I: Intro to the Dial

    3 meetings per eight-day cycle/2 credits

    This course is a prerequisite for Electronic Publishing II: The Dial (732a)

    This course combines the study of print and digital media with an emphasis on creating multimedia stories. As the course is designed to give structure to the creation and maintenance of the student newspaper, the Dial, students will explore all aspects of the journalistic process, including writing and presenting content using electronic publishing applications for both print and online publications. Students will learn the basics of journalistic writing, including composing interesting leads and nut grafs, and organizing facts and supporting quotations.

    Students will engage in hands-on practice to develop proficiency in publishing content on the Dial website and in preparing layouts for the Dial’s print publication.
  • Electronic Publishing II: The Dial

    3 meetings per seven-day cycle/2 credits
    Prerequisite: Electronic Publishing I: Intro to the Dial or permission of the Department Chair

    This course continues building on the skills learned in Electronic Publishing I. This is an advanced course that explores all aspects of the journalistic process begun in Electronic Publishing I and is designed to give structure to the creation and maintenance of the student newspaper, the Dial, in both its print and digital formats.

    Students will enhance their skills in journalistic writing begun in Electronic Publishing I; however, the emphasis in this course is on the elements of production, including scheduling, assignments, design, layout and graphics. Students will use computers and a variety of commercially available software packages for desktop and web publishing and multimedia creation. The course will center around hands-on practice. Requirements center around the timely completion and publication of the print and digital formats of the student newspaper.
  • Advanced Electronic Publishing II: Dial Editors

    4 meetings per eight-day cycle/3 credits
    Prerequisite: Electronic Publishing II: The Dial

    This course continues to build on the skills learned in Electronic Publishing II and to explore all aspects of the journalistic process in the electronic publishing track. The course focuses on the creation and maintenance of Hackley’s award-winning student newspaper, the Dial.

    In addition to practicing advanced skills in journalistic writing, layout, design and graphics, students will develop the collaborative leadership roles needed to complete each issue of the Dial in an efficient and timely manner. Students are responsible for all elements of production—scheduling, assignments, mentoring, design, layout and graphics. Students also will develop proficiency in using commercially available software packages for desktop and web publishing, color printers, digital cameras and scanners.
  • Yearbook Production: Hilltop

    3 meetings per eight-day cycle/2 credits

    This course is designed for those who are interested in working on the yearbook. Upon joining this course, each student will be assigned to be the editor for a specific section of the yearbook. Through the completion of the yearbook pages, students will build and strengthen their organization skills and learn how best to manage yearbook page deadlines.
  • The Vision: Multiple Views, Rich Media

    3 meetings per eight-day cycle/2 credits
    Open to grades 10-12

    Enrollment in the course is by application only. Enrollment will be limited to 12 students, including two editors-in-chief, three managing editors (to be selected from current sophomores for a two-year commitment in junior and senior year, when they will serve as editors-in-chief), two literary editors, two art editors, one web editor and one media/sound editor. When applying, students should indicate for which role or roles they feel they are best suited. Past experience with InDesign or a similar graphics program is a plus, though not a requirement, and students should mention what relevant experience they have in their applications. A Google Form application can be found on HOL. Interested students should complete the form and submit it no later than April 28 (the deadline for course selection).  Decisions will be made by May 12.

    This course will involve students creating a year-long presentation of Hackley creative writing and visual arts through print, web and digital media. Students will begin by soliciting, evaluating and editing literature and artwork for inclusion in the online literary and art magazine. They will help create and manage a basic online posting system on the Hackley website, and they will work as editors to support the online presence of these materials—both for internal and external audiences—with regular bi-weekly postings. 

    Students will select the best of the art and literature gathered for online presentation and will include this work in the printed publication. They will learn to use the InDesign graphics program to develop and manage visual layouts. They will design the printed publication and see it through all phases of editing, proofing and print production. They will also have to work within a budget, which will necessitate creative decision making as they bring their vision (pun intended) into reality. And they will be required to support and meet frequent deadlines for various components and phases of the project, culminating with delivery in the spring of The Vision publication. 

    In addition, The Vision will offer published students the opportunity to read their work (or have it read) for an audio CD that will accompany the printed magazine. Students working on the publication will help support the recording process and oversee the creation of the CD. Throughout the process of presenting both online and print versions of The Vision, students will learn to combine and manipulate different types of media, such as text, audio and graphics. They will employ microphones, scanners and other input devices to gather information. 

    While students will be enrolled based on application for specific roles in the editorial structure, where they will hold primary responsibility, students will participate in and learn all aspects of the project.