Upper School
US Curriculum

Computer Science

In Hackley’s Upper School, all academic areas use technology, from guided research to subject-specific applications, to enhance the curriculum.
In addition, students are offered a variety of introductory, intermediate and advanced technology electives. At all levels, these courses emphasize coding and problem solving.

Computer Science Courses

List of 8 items.

  • Intro to Computer Science

    3 meetings per seven-day cycle/2 credits

    Open to all students. No previous experience with computer science is needed.

    This project-based course delves into the basic principles of computer science. Students will explore the history of computers, learn about hardware, operating systems, and software, and be introduced to fundamental programming concepts. A visual programming language will be used to create apps for the Android operating system that enable novice programmers to take advantage of features such as GPS, texting, and sensors. 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, analysis of algorithms, the influence computer science has on economic, social, and cultural innovation, and an introduction to syntax-based programming language.
  • Programming, Simulations & Design

    3 meetings per seven-day cycle/2 credits
    Prerequisite: Intro to Comp Science 710 or special permission of the department head. This course is a prerequisite for AP Computer Science 723.

    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, an IDE (Integrated Development Environment), and the Java programming language to build on the concepts learned in the prerequisite Intro to Computer Science 710 course. You will use object oriented concepts to structure syntactically valid programming statements in a logical manner to develop games and simulations.

    Programming concepts include: objects, primitive data types, classes, inheritance, conditional statements, iteration and introduction to arrays. You will learn strategies to assist with planning, designing and implementing programs.
  • Design Thinking, Applied Programming and Fabrication

    3 meetings per seven-day cycle/2 credits
    Prerequisite: Intro to Computer 710 Science or special permission of the department head

    Working in the Hackley Makerspace and applying the processes of design thinking and problem solving, students will engage in projects that result in the creation of a physical object. After skill building in the tools of the maker lab, (i.e., 3D printers, Raspberry Pi, power tools), students will discuss project scope and materials, and will implement their ideas through the use of 3D design software, such as Tinkercad and Sketchup. Prototyping with construction materials and tools in a "maker lab," students will test designs for viability. Construction project materials will include items such as LEGO, plastics for 3D printing, and recycled materials. Some projects, including robotics and circuit boards, will allow for computer programming of constructed objects.
  • Web Programming

    3 meetings per seven-day cycle/2 credits
    Prerequisite: Intro to Computer Science 710 or special permission of the department head

    This course is for students wishing to learn to create simple to moderately complex websites using HTML and CSS programming languages. Students will learn to use a planning process to plan the structure of a web page, and will demonstrate the fundamentals of web page design and site preparation when developing their sites. Students will have the opportunity to incorporate advanced interactivity into their pages with PHP, JavaScript, and jQuery.
  • Fundamentals of Artificial Intelligence

    3 meetings per seven-day cycle/2credits
    Prerequisite: Intro to Computer Science 710

    This course explores the technical methods and ethical questions related to artificial intelligence in the modern era. This course is recommended for students with a desire to learn what artificial intelligence really means, to discover how current systems work, and to discuss the future direction it should take. Students in this course will use the Python programming language for projects. Students will also take part in debates, perform some research, and test contemporary systems. Topics will include working with personal assistant technology i.e. Siri and Alexa, machine learned artificial neural networks, the relevance of the Turing test for artificial intelligence, and others.
  • Advanced Computer Science

    6 meetings per seven-day cycle/3 credits
    Prerequisite: Programming, Simulations, and Design 725

    This course is recommended for students who can construct syntactically valid programming statements and understand flow of control, variables, methods, classes, IDEs and APIs.

    Expanding upon the concepts learned in the prerequisite Programming, Simulations, and Design 725, students will develop correlations as they transition from an educational programming environment to the JAVA programming language. Projects include algorithm analysis, using built-in and programmer-defined classes, performing basic input and output operations, working with advanced data structures and creating programs that are adaptable to solve a problem.
  • AP Computer Science

    6 meetings per seven-day cycle/3 credits
    Prerequisite: Programming, Simulations and Design 725 and recommendation of current computer science teacher. Special permission of the department head may be granted in lieu of prerequisites.

    This course is recommended for students who are can construct syntactically valid programming statements and understand flow of control, variables, methods, classes, IDE's and APIs.

    This rigorous course 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 an introductory Computer Science course offered at a university. Topics include: algorithm analysis and development, advanced data structures, program implementation, analysis and computing in context.
  • Post-AP Mobile App Development

    (Minor course - 3 meetings per seven-day cycle/2 credits)
    (Major course - 6 meetings per seven-day cycle/3 credits)

    Prerequisite: AP Computer Science 723

    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 which 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 (iOS/Android). Students are required to meet deadlines towards a proposed project.

Electronic Publishing Courses

List of 5 items.

  • Electronic Publishing I

    3 meetings per seven-day cycle/2 credits
    Open to all students.

    This course is a prerequisite for 732a. Electronic Publishing II: Dial and 732b. Electronic Publishing II: Hilltop

    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 student publications, students will explore all aspects of the journalistic process, including writing and presenting content using electronic publishing applications for print and online delivery. Students will learn the basics of journalistic writing, including composing interesting leads and nut grafs, and organizing facts using an inverted pyramid style. Students will also develop proficiency in the use of a variety of commercially available software packages for electronic publishing, video production, color printers, digital cameras, and scanners to layout and publish their work. The course will include extensive hands-on practice.
  • Electronic Publishing II: Dial

    3 meetings per seven-day cycle/2 credits
    Prerequisite: Electronic Publishing I or special permission of the department head

    Required of all members of Dial Staff.

    This course continues building on the skills learned in Electronic Publishing I. This is an advanced course which continues to explore 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 as well as digital formats. Students will enhance their skills in journalistic writing begun in Electronic Publishing I; however, the emphasis is on the elements of production including scheduling, assignments, design, layout and graphics. Students will use computers, a variety of commercially available software packages for desktop publishing and multimedia creation, color printers, digital cameras, and scanners to layout and publish their work. 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.
  • Electronic Publishing II: Hilltop (Yearbook)

    3 meetings per seven-day cycle/2 credits
    Prerequisite: Electronic Publishing I or special permission of the department head

    This course is designed for those who are interested in working on the yearbook. Having already learned Adobe InDesign and journalistic writing in Electronic Publishing I, students will apply their skills in copy editing, caption writing and design concept. 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. Some knowledge in Photoshop is helpful but not required.
  • Advanced Electronic Publishing II: Dial Editors

    5 meetings per seven-day cycle/3 credits
    Open to Dial Editors

    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 in an efficient and timely manner. Students are responsible for all elements of production—scheduling, assignments, mentoring, design, layout, and graphics. For example, students will develop proficiency in using commercially available software packages for desktop publishing, color printers, digital cameras and scanners.
  • The Vision: Multiple Views, Rich Media

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

    Enrollment in the course is by application only. Enrollment will be limited to 11 students. Students who join in 10th or 11th grade have priority for senior leadership roles in senior year. Leadership positions include editors-in-chief, managing editors, literary editors, art editors, social media editors, and more. 

    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. Applications are available in the U. S. office and are due in Ms. Akin’s mailbox by April 18th, decisions to be made by May 1st.

    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 a new on-line 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. Students 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 on-line 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.