Computer Science Principles

Chapel Field Christian Schools


This course is taught by Mr. Olinda, Chapel Field's Director of Technology. It is intended to give students a foundation in computer science. Members of the class are encouraged to participate in Free Geek Hudson Valley for additional STEM experience.

This is a project-based course, although there will be periods where I will give direct instruction. The majority of your grade will come from projects that you will complete individually or together. STEM courses are graded using the percentage system, meaning that each category of assignments is worth a certain percentage of your grade. Each category is graded independently and then that category's value is averaged into your overall grade.

Whenever you finish working on the assigned lessons, you are expected to complete any optional checkpoints. Once those are complete, you are free to work on your stretch projects. However all students must earn a certain number of points per quarter through stretch projects. You can track your stretch projects on Trello.


  1. Don't touch anyone else's computer.
  2. Get to class on time.
  3. Have headphones, pens, pencils, and a binder with you.
  4. Respect your teacher and peers.
  5. Read the instructions.

Unit 0: The Basics

Unit 0 is due 2018-10-26 at 3:00pm.

  1. Taking Screenshots
  2. Using Your Operating System
  3. Touch Typing
  4. Computer Hardware

Unit 1: Introduction

Unit 1 is due 2018-10-26 at 3:00pm.

  1. Setup
  2. Using the Command Line
  3. Using Git and GitHub
  4. Using Nano
  5. Using Vim
  6. Writing in Markdown

Unit 2: Right Thinking

Unit 2, Lessons 1-3 are due 2019-10-19 at 3:00pm.

  1. Alternative Bases (2018-10-30 to 2018-11-06)
  2. Representing Information
  3. Algorithms (2019-01-10 to 2019-01-19)
  4. Logic

Unit 3: Arduino

Completing this unit requires the purchase of an Arduino kit.

  1. Arduino IDE
  2. Blink
  3. Serial
  4. Fade
  5. Calculate

Unit 4: Python

It is unlikely we will complete this unit in the 2018-19 session of Computer Science Principles. However, if this is something you are interested in, you may pursue projects in Python.
  1. Install Python
  2. Print All the Things
  4. Basic Math
  5. Variables
  6. Strings
  7. Prompting the User