Curriculum Detail

View Our Curriculum

Computer Science

The computer science department supports the school’s mission to prepare Xaverian graduates for the challenges of higher education and lifelong learning. The department strives to educate students to be successful, ethical, and effective problem solvers, as well as lifelong learners who use technology to contribute positively to society. The curriculum provides a strong foundation in computational reasoning for all students. Additional elective courses allow students to develop advanced programming skills while still in high school.
  • AP Computer Science A

    AP COMPUTER SCIENCE A
    Grades 11 and 12
    #940 Advanced Placement
    Full Year

    Prerequisites
    : Department Chair Approval
     
    Description: AP Computer Science A is a challenging presentation of the computer programming language, widely used by computer professionals and taught at most colleges. This course is intended for students possessing strong logical thinking skills; no prior knowledge of programming is required.  The course focuses on problem solving through the development of computer programs that correctly solve a given problem. The course also emphasizes a structured approach with the design issues that make programs understandable, adaptable, and reusable.  Topics include the control structures sequence, decisions, repetition, algorithm design, objects, and classes.  Also, arrays, inheritance, recursion and data structures.  Students are required to take the Advanced Placement Examination associated with this course.
  • AP Computer Science Principles

    AP COMPUTER SCIENCE PRINCIPLES
    Grade 10-12
    (Fulfills .5 Computer Science Requirement)
    #920 Advanced Placement
    Full Year

    Prerequisites: Departmental approval
     
    Description: AP Computer Science Principles is an introductory college-level computing course that introduces students to the breadth of the field of computer science. Students learn to design and evaluate solutions and to apply computer science to solve problems through the development of algorithms and programs. They incorporate abstraction into programs and use data to discover new knowledge. Students also explain how computing innovations and computing systems—including the internet—work, explore their potential impacts, and contribute to a computing culture that is collaborative and ethical. Students should consider taking this course to gain a broader appreciation of computer science and society, not just because it's an AP course. While it does offer a rigorous introduction to computer science, it is accessible to students of all ages and abilities.
  • Computer Science 7

    COMPUTER SCIENCE 7
    Grade 7
    #FX972

    Computer Science 7 is an exciting introduction to programming. Students first learn the programming basics of sequence, decisions, and repetition. After these basics, students learn program design, nested decisions, nested repetition, error detection, and documentation. The course is project based where students create games enhanced with graphics. The programming platform used is M.I.T.'s Scratch. This course will help students as they transition to programming in Python and Java in later grades. 
  • Computer Science 8

    COMPUTER SCIENCE 8
    Grade 8
    #FX982

    Computer Science 8 expands on the program creation and algorithmic design covered in CS7. In addition to reviewing these core concepts, in this class students are exposed to more advanced programming techniques including modular programming and top-down design. Students will also be introduced to the Python programming language and new programming tools and development environments.
  • Computer-Based Des-A

    COMPUTER-BASED DESIGN
    (Fulfills .5 Fine Arts Requirement)

    Grades 10, 11, 12
    #943 Accelerated
    One Semester

    Prerequisites
    : Introduction to Programming

    DescriptionIn Computer Based Design, students create meaningful visual communications with professional software. By focusing on the intellectual and creative processes of graphic design; students not only learn how to use the computer as a more effective tool for communication, but become more discriminating consumers of advertising and other media. The software used in this course will be Blender.
  • Intro to DIY & Programming-A

    INTRODUCTION TO DIY & PROGRAMMING-A
    Grade 9-12
    (Fulfills .5 Computer Science AND .5 Fine Arts Requirement)
    #935 Accelerated
    Full Year

    Prerequisites: None

    Description: DIY & Programming is a full-year class that gives students equal exposure to programming microcontrollers and making art that can be controlled by the microcontroller. This course gives students the opportunity to learn both algorithmic and artistic modes of thinking as well as how to combine them. Over the course of this class, students will create hands-on projects using techniques such as laser cutting, 3D printing, and CNC routing--with tools for these techniques available in the Xploration Center. Take this class if you want to get Making experience and to learn how to think creatively in multiple disciplines at once.
  • Intro to Game Design-A

    INTRODUCTION TO GAME DESIGN-A
    (Fulfills .5 Computer Science Requirement)
    Grade 9-12
    #933 Accelerated
    One Semester

    Prerequisites: None

    Description: Introduction to Game Design presents the essential concepts of Algorithmic Design through the lens of creating the programs for video games. No prior knowledge of programming is required but students will work with professional game development platforms like the Unity Game Engine or the Unreal Engine to write code utilizing sequence, conditional branching, repetition, functional decomposition, list processing, and event-driven programming. This course is a good fit for students who would like to begin learning about video game development and who would consider taking courses like Game Design or Computer Based Design in the future. Don't take this course just because you like playing video games.
  • Intro to Microcontroller Programming-A

    INTRODUCTION TO MICROCONTROLLER PROGRAMMING-A
    Grade 9-12
    (Fulfills .5 Computer Science Requirement)
    #934 Accelerated
    One Semester

    Prerequisites: None

    Description:
    Introduction to Microcontroller Programming presents essential computer science concepts by teaching students how to program their own microcontrollers such as an Arduino or a Raspberry Pi. In addition to covering the essential CS content as all introductory classes, this course will also give you an introduction to microcontroller computing hardware and the different techniques used to make projects with simple electronics (LEDs, Resistors, and transistors), motors, such as DC or stepper motors, and sensors. This course is a good fit for students who want to learn microcontroller programming but aren't able to take DIY & Programming to learn maker techniques like laser cutting, CAD, and CNC routing.
  • Intro to Programming in Python Hybrid-A

    INTRODUCTION TO PROGRAMMING IN PYTHON - HYBRID
    (Fulfills .5 Computer Science Requirement)
    Grades 10-11
    #931 Accelerated
    Full Year

    Prerequisites: This course is only for students who are simultaneously enrolled in Chorus, Band, or Orchestra.

    Description: Introduction to Programming in Python presents the essential concepts of Algorithmic Design through teaching students the Python Programming language, one of the most powerful and versatile professional programming languages in widespread use today. This is a full-year hybrid online course, with in-person class sessions meeting during one block of their music ensemble per cycle. Note: although this option has a reduced day-to-day workload (due to spreading a 0.5 credit class across a full year), it does require students to engage with online instructional activities as well as to complete homework assignments. To register for this course, students must see their school counselor. 
  • Intro to Programming in Python-A

    INTRODUCTION TO PROGRAMMING IN PYTHON-A
    (Fulfills .5 Computer Science Requirement)
    Grade 9-12
    #932 Accelerated
    One Semester

    Prerequisites: None

    Description:
    Introduction to Programming in Python presents the essential concepts of Algorithmic Design through teaching students the Python Programming language, one of the most powerful and versatile professional programming languages in widespread use today. While all of the introductory classes satisfy the graduation requirement in computer science, this course provides the most well-rounded and generally applicable programming skills for use in later courses. Students who took CS8 will find that their exposure to Python Programming translates well to this course but students without that experience will not be at a disadvantage. This course is a good choice for those students who want to continue their education in computer science with further courses like Programming in Python or who just aren't sure which computer science course to take.
  • Post-AP Data Structures and Algorithms

    DATA STRUCTURES AND ALGORITHMS
    Grade 12
    #952
    Full Year

    Prerequisites: AP Computer Science A

    Description: This course covers the fundamentals of Data Structures for storing program data including arrays, array-based lists, linked lists, stacks, queues, hashing and lookup tables, trees, binary trees, graphs, heaps and priority queues. Students will not only learn the Java Collections framework for these structures, they will implement their own versions of them, use them in programs and be able to analyze the effects of using different data structures on algorithmic efficiency (both Big-O notation and actual timing data on specific examples).
  • Principles of Game Des-A

    PRINCIPLES OF GAME DESIGN
    Grades 10, 11, 12
    #949 Accelerated
    One Semester

    Prerequisites
    : Introduction to Programming
     
    Description: Students learn interactive storytelling and programming in the context of a game development environment. (Examples include Alice, Scratch and Unity).  Students will also have the opportunity to study and practice good game design and programming as they develop large scale projects.
  • Programming in Python-A

    PROGRAMMING IN PYTHON
    Grades 10-12
    #947 Accelerated
    Full Year

    Prerequisites: None
     
    Description: Programming in Python focuses on developing computer programs to solve practical problems. The course emphasizes a structured approach to design issues that make programs understandable, adaptable, and reusable.  Topics will include sequence, decision, branching, repetition, data structures and algorithmic design. Upon completing this course, students will be able to design and create their own programs and will be prepared for AP Computer Science.
     
  • Robotics-A

    ROBOTICS
    Grades 10, 11, 12
    #942 Accelerated
    One Semester

    Prerequisites
    : Introduction to Programming
     
    Description: Students will learn the programming languages JKarel and C to control a programmable robot.  Students will also investigate the principles of robot design and construction, with a focus on programming and simulation.  This course is a good complement to the Web Design and Computer Based Design courses.

Faculty

  • Photo of Christopher Roche
    Christopher Roche
    Dartmouth College - B.A.
    University of Pittsburgh Law School - J.D.
    Rhode Island School of Design - B.F.A.
    2020
    Bio
  • Photo of Grace Maakaroun
    Grace Maakaroun
    Antonin University - B.S.
    Lebanese American University - M.B.A.
    2022
    Bio
  • Photo of Stephen Weyl
    Stephen Weyl
    Stanford University - B.S.
    Stanford University - M.S.
    Harvard University - M.B.A.
    Iona College - M.S.
    2024
    Bio

Xaverian Brothers High School

Phone: 781-326-6392
Fax: 781-320-0458
Directions | Contact Us | Privacy Policy

EIN (Tax ID Number): 04-2314036 
Xaverian is a Catholic, college-preparatory school for boys in grades 7-12. As an inclusive community, we embrace diverse experiences and perspectives, welcoming students and families from all faiths and backgrounds. Through exceptional academics, athletics, the arts, faith formation, and service opportunities, we help young men discover their unique gifts and talents so they can share them with a world in need.