Intro. to Computer Science

About this course

Instructor: Dr. Williams
Contact: jwilliams@belmontschools.net

Introduction to Computer Science is a course for beginner coders interested in solving problems computationally. There are basics for us to learn, but there really is no ceiling if you become interested in more challenging projects.

While we begin in the context of web coding, this really is a jumping off point for us. Our primary language this year will be JavaScript, given its practicality, versatility, and the abundance of resources available for beginner computer scientists.

Grades for this course are determined by performance, particularly on projects and quizzes.

Course Outline

Our year is broken into quarters:

Our work is mostly the projects that become increasingly sophisticated throughout the year. In quarter 4, after developing some computer science skills and interests, you will propose a final project. After review, feedback, and revision, your work on this project will span all of quarter 4, including mid-quarter and final presentations.

Course Server

We maintain a course server named Willow which students will connect to through a secure shell (SSH). Putty is installed on all of the computer lab machines, but you can connect to the server with any SSH client within the school network.

Willow runs a lightweight version of Ubuntu Linux, and every computer science student has an account on Willow. We will cover the small amount of command line knowledge you will need to remotely navigate Linux through a terminal and edit files over SSH.

Each student will maintain their own web space on the course server, and this is where most of our work will be completed during quarter 1.

Our server is a repository for student work and should be used respectfully. Do not try to damage files or use it inappropriately.

Grading

Every graded assignment is worth a certain number of points, and the total points earned at the end of a quarter divided by the total points available will determine the quarter grade. While there is no category weighting used in this class, not all assignments will be worth the same number of points.

Make-up policies are described in the Student Handbook (p. 14). In the event that a student is unable to complete an assignment on time for any reason, that student needs to contact their teacher promptly about making up work. Extensions will be handled on a case-by-case basis.

If a student scores below a 70 percent on a test, that student may promptly reach out to their teacher about the possibility of a retake. When retakes are approved, they can earn up to a 70 percent score of the original test points.

Getting Help and Support

I encourage you to support one another and ask each other for help. It can be tricky, at first, to navigate asking others for help while avoiding getting the work done for you. If there is ever any doubt, ask!

Some rules of thumb to navigate getting help:

That last bit might sound tricky. How do you get help with code without looking at code? You can open up a new file and write code examples to demonstrate concepts, but remember to share understanding, not answers.

I will do my best to answer all questions during class. I am available nearly every day before and after school. You can always email.

Academic Integrity

Academic integrity is paramount. Never misrepresent your work or submit work that is not yours as if it were yours. Do not share project code. The expectation is that all of the work you submit is your work.

Examples of plagiarism in computer science include:

This is an introductory course and your education depends on your engagement, particularly in developing your understanding of fundamental concepts. Learning is in the process, and shortcuts undermine your learning.

Resources

Playgrounds

Tutorials Reference