Computer Science


Requirements for Graduation: Two years of computer science electives are required for graduation. Electives: Web Design and HTML, Computer Repair and Networking, Advanced Computer Repair and Net- working, Business Applications, Introduction to Programming, Photoshop 1 and 2, Video Games: The Art of Storytelling, Software for Engineering I and II, Engineering/robotics I and II.

Students will learn to create websites. They will begin with HTML, and work their way through CSS, scripts, and third party design applications. Other topics covered include domain names, hosting, managing websites, backend applications, and multimedia.

Students will learn the inner workings of computers, networks, printers and related equipment and the fundamentals of maintaining technology. Topics covered include hardware components, operating systems, network devices, TCP/IP, network security, data protection, helpdesks and ticketing systems, and users and groups. The text for this class is Michael Meyers’ A+ Certification Exam Guide.

This class is designed for students with advanced knowledge in computer/network structure and maintenance. Topics covered will vary based on the student interest, but may include Linux, systems integration and defending against attacks. Students will also be asked to perform real-world repairs and maintenance tasks.

Students in this class will learn advanced uses of word processors, spreadsheets, graphics manipulation, desktop publishing and presentation software. Some covered topics include mail merges, file formats, indexes, and multi-application projects. This class will cover both desktop and cloud-based applications. This course also covers avoiding scams and technology related business practices such as workflow and submitting trouble tickets.

Students will learn the concepts of programming. Topics covered include loops, variables, data types, arrays, conditionals, objects, algorithms, math and debugging techniques. Students will start with JavaScript and move on to Python, and possibly other languages.

Digital Imaging and Design 1 is a year-long introductory course in the theory and practice of digital image- making and photography. This course will familiarize the student with the fundamentals of light, photographic equipment, software programs (with an emphasis on Adobe Photoshop), materials, methods, and processes often used in modern digital imaging and design.

Digital Imaging and Design 2 builds on the skills learned in Digital Imaging and Design 1. Projects and assignments are tailored to the individual student’s tastes and interests. Students are expected to demonstrate a higher level of sophistication, both technically and conceptually.

The Art of Storytelling explores innovative ways to design and create interactive and immersive stories through leading-edge media. During the first semester, students will learn about the historical development of narrative storytelling through multimedia, while creating short exploratory studies. The second semester will involve building an individual portfolio, a final project and presentation. Students will choose from a variety of presentation programs and game-creation software such as RPG Maker, Portal Map Maker, Source SDK/Hammer Engine, PowerPoint, etc. to develop, program, code, create and design short-form, playable interactive stories and video games. Class meets twice per week and is open to all upper school students.

This course will introduce students to various programming based utilities used extensively in college and academia, especially in the field of engineering. Students will learn LATEX, OpenSCAD and Sagemath. LATEX is a typesetting language used for creating professional documents and presentations and is the standard format required for most academic journals. OpenSCAD is a programming based 3-D Modeling program useful for creating complex mechanical objects. SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Students can access their combined power through a common, Python-based language or directly via interfaces or wrappers.

*Also counts towards Math department requirements

This course covers advanced topics in numerical analysis and modeling of real world systems. GNU/Linux and free software is central to the study and simulation of modern physics. Programming languages such as C++ and Python will be used to program simulations of complex physical phenomena. LATEX will be used throughout the course for documentation and presentation of results. Projects will be chosen based on topics of student interest.

*Also counts towards Math department requirement

This hands-on course will focus on the eight steps of the design process from beginning to end. Students will identify a problem, brainstorm solutions, design a prototype and then refine, refine, refine. During this process students will learn principles of electronics, mechanics, CAD (Computer Aided Design) and programming. Students will program machines to read data from various inputs, make decisions based on this input, and act accordingly.

*Also counts towards Science department requirements