All boys. All boarding. Grades 9-12.

Curriculum Detail

Select a Department

Computer Science

Course availability subject to enrollment requests and staffing. 
Students interested in alternate computer science pursuits should speak with Mr. Keating.
  • Intro to Computing Pathways

    Introduction to Computing Pathways

    Textbooks: No texbooks are required for this course

    This exploratory course introduces students with no prior experience to the breadth of computer science. Over five hands-on units, students will sample foundational topics: programming, cybersecurity, mobile app development, robotics, artificial intelligence, and system design. Each unit emphasizes creativity, problem-solving, and ethical reflection, allowing students to see how computing powers the world around them. By the end of the course, students will better understand which area of computer science excites them most and be prepared to pursue deeper study in a focused course. 
  • Data & Web

    Data & Web (Pre-requisite: Introduction to Computing Pathways)

    Textbooks: No textbooks are required for this course

    Course description coming soon.
  • Robotics and Physical Computing

    Robotics and Physical Computer (Pre-requisite: Introduction to Computing Pathways)

    Textbooks: No textbooks are required for this course

    This course blends computer science with engineering as students learn to design, build, and program robots and interactive devices. The course introduces physical computing using software to control hardware like sensors, motors, and microcontrollers allowing students to see their code come to life in tangible projects. Through hands-on construction and iteration, students develop skills in mechanical design, electronics, and programming logic. Teamwork and the engineering design process are emphasized, reflecting how real-world robotics projects are done. By the end of the term, students will have built multiple small robots or gadgets and a more complex final project, gaining confidence in both building and coding.
  • Mobile App Development

    Mobile App Development (Pre-requisite: Introduction to Computing Pathways)

    Textbooks: No textbooks are required for this course

    This course focuses on designing and building applications for mobile devices (smartphones/tablets), giving students a practical introduction to software engineering in the mobile context. Students will learn the fundamentals of mobile app architecture, user interface (UI) design, and the unique constraints of mobile platforms (such as touch input and limited screen size). By course end, students will have developed several working apps and a capstone project app, gaining experience with the complete app development lifecycle (from idea and design to implementation and testing).
  • Cybersecurity

    Cybersecurity (Pre-requisite: Introduction to Computing Pathways)

    Textbooks: No textbooks are required for this course

    This course introduces students to fundamental cybersecurity concepts and hands-on practices. Students will learn about common cyber threats and vulnerabilities, and how to protect computers and networks against them. The course emphasizes ethical computing and safe online behavior. By the end, students should be able to analyze security risks, understand basic encryption and network defense, and apply strategies in practical scenarios.
  • System Design

    System Design (Pre-requisite: Introduction to Computing Pathways)

    Textbooks: No textbooks are required for this course

    This course introduces students to the architecture behind modern software systems. From small apps to large-scale platforms like YouTube or Amazon, students will learn how different components, databases, servers, APIs, and more, work together to create reliable, scalable, and efficient systems. The course emphasizes real-world thinking, teaching students how to translate user needs into system architecture, make design trade-offs, and communicate their ideas clearly using diagrams and documentation. Hands-on design challenges help students apply concepts and prepare for future study in software engineering or backend development.
  • Intro to Python I

    Introduction to Python 1 

    Textbooks: No textbooks are required for this course.

    A trimester course open to 4th, 5th, and 6th formers. This course will take a very introductory dive into the Python programming language. Students will begin by learning the history and terminology of programming languages. Students will then be introduced to various data types, such as integers, floating point numbers, booleans, and characters. We will also explore basic control structures, such as conditional statements and loops, and basic algorithms. Students will also learn the language of logic, and should be able to outline their programs before writing them. Students will, in the first week, create their own development environment and write their first program. By the end of the semester, students will be able to write their own basic programs to solve a problem of their choosing, with an emphasis on efficiency of the program. The goal of this class is to introduce the students to the Python language, as well as the power that it has, to both prepare students for future classes and/or inspire students to study CS further and to be critical about its place in our society.
  • Honors Python II - Data Science

    Honors Python II (Prerequisites Python 1)

    Textbooks: No textbooks are required for this course

    Course Description coming soon.

  • Honors Python III: Advanced AI and Neural Networks

    Python III: Advanced AI and Neural Networks (Honors) (Prerequisites: Python I and Python II)


    Textbooks: No textbooks are required for this course

    This advanced course delves into artificial intelligence, with a focus on machine learning and neural networks. It is designed for students who want to go beyond basic programming and explore how computers can learn from data. Students will study how neural networks — the core technology behind deep learning — are structured and how they can recognize patterns (such as images or text) after being trained. The course balances theory with hands-on experimentation: students will use existing AI frameworks to train simple models, and also discuss the math and logic that make those models work.
  • Honors Advanced Computer Science

    Advanced Computer Science (Honors) - (2 or 3 trimesters) - Instructor Approval

    Textbook
    None required for this course.


    Students interested in this course should speak with Mr. Keating. An advanced exploration of computer science topics beyond the fundamentals of Object-Oriented Programming. Eligible students will have completed Honors Java or Topics in Python in good standing and/or have approval. Course content to be driven by student interest and determined in coordination with the instructor. The course is modular, and can be taken for any number of trimesters, depending on the student's needs. These students are expected to primarily work independently, with guidance from Mr. Tucker and Mr. Keating.

Our Faculty

  • Mourad Fahim
    Mathematics, Computer Science
    2026
  • Photo of Matthew Keating
    Matthew Keating
    Mathematics, Computer Science
    (540) 672-3900 Ext. 8636
    University of Connecticut - BS
    Teachers College, Columbia University - MA
    2000
    Bio
Woodberry Forest admits students of any race, color, sexual orientation, disability, religious belief, and national or ethnic origin to all of the rights, privileges, programs, and activities generally accorded or made available to students at the school. It does not discriminate on the basis of race, color, sexual orientation, disability, religious belief, or national or ethnic origin in the administration of its educational policies, admissions policies, scholarship and loan programs, and athletic or other school-administered programs. The school is authorized under federal law to enroll nonimmigrant students.