Intro to Computer Science

For a printer-friendly version of the course syllabus, click on this Course Syllabus document.
To view the announcement of this course, see the Course Announcement page.

This course is an introduction to computer science and software engineering for all students interested in developing software applications, not just using them. Through a project-oriented approach, students will explore a variety of programming systems and languages to create interactive applications and systems. By collaborating in a hands-on environment, students will learn problem solving, software design, debugging strategies, and the foundations of computer science (data structures, procedures, and algorithms). Students will work on projects (both individual and team) in the areas of graphics and games, animation and art, electronics systems, and interactive fashion, all using open-source software tools such as Scratch, Arduino, Processing, and Python.

WHAT

This course will give you the knowledge and skills to understand the fundamental principles and practices of computer programming. There are no prerequisites other than a basic familiarity with computer software, a curious spirit, and a willingness to experiment and learn.

WHY

In today’s digital society, we are all users of computers, networks, and software. In this course, students will get a chance to go beyond being a consumer of software products and to become a producer of them. This knowledge could lead directly to a career path in computing, an interest in studying the field more in college, or just a better understanding of how computers work. It also should be lots of fun along the way!

HOW

Understanding computational thinking (problem solving with computers) is at the heart of the practice of computer science and software engineering. You will explore this discipline by designing programs, systems, and games, using the tools of computational thinking – processes and algorithms. This approach, known as “constructivism,” emphasizes learning by designing and making things.

Through a combination of classwork, assignments, quizzes/tests, and project work, you will learn the fundamentals of computer science and designing software systems. A series of exercises and assignments lead up to a final project, for which you will design an interactive software system, with the possibility to work in small teams. There will be flexibility in the topic for the final project, allowing you to explore subjects that interest you.

TOPICS

Unit Topics Duration
Computational Thinking Problem Solving
System Design
Algorithms
1 week
Elements of Programming Control Flow
Iteration
Variables
Events
Conditionals
Messages
Timers
Arrays
4 weeks
Computer Science Fundamentals Data Types
Control Structures
Operators
Functions
Libraries
3 weeks
Software Engineering Software Design
Programming Tools
Debugging
Documentation
4 weeks
Final Project Concept & Proposal
Design Documentation
Project Plan
Prototype
Implementation
User Testing
Communication
6 weeks

GRADES

Grades will be based on the components as shown below.

Homework 50%
Classwork 20%
Final Project 15%
Quizzes/Tests 15%

There will be opportunities to earn extra credit for optional reading, writing, design, or presentation projects of relevance to the course subject matter. Credit for professionalism will be earned by a variety of leadership, collaboration, and participation activities.

LATE WORK

This course is structured so that you can accomplish most of the required work during class sessions, because much of it requires software and supplies that are in our lab. But things always come up, from absences to illness to just needing extra time. Late work will be accepted, without regard to cause, because I would rather have you do the work and learn the material we cover than not.

However, to be fair and to encourage you to keep up with the work, late assignments will be marked down 10%. And you can submit late work not more than two weeks past the due date, without extenuating circumstances.

MATERIALS

Please be sure to have a composition book for the class (as well as writing instruments, of course), as you will need it for notes and keeping a journal. If you intend to work on your projects outside of school, you will need a flash drive to transport digital files back and forth.