follow comp9 announcements on Twitter

en47/comp9 - exploring computer science

Course number:EN47-CS2 and COMP9-01, Spring 2010
Lectures:Tue 1:30-2:45pm, in Halligan 108
Labs:Thu 1:30-2:45pm, in Halligan 116

Instructor:Sara Su
Office hours: TW 3-4pm, in Halligan E011
TAs:Ruth Agbaji
Lab hours: MW 12-1pm
 Sarah Nolet
Lab hours: TW 12-1pm
 Lee Tibbert
Lab hours: Sun 5-9pm, MT 6-9pm, F 12-3pm, and by appointment
Mailing list:comp9@eecs.tufts.edu

Our lives are becoming increasingly dependent upon computers, creating opportunities and challenges in disciplines as diverse as cognitive science, economics, and medicine. This half-credit course is a fast-paced introduction to the field of computer science. We will explore computer problem solving and programming techniques through lectures and labs using the C++ programming language. The weekly programming labs will build upon previous ones, employ important computer science algorithms, and lead to the construction of a class-wide project. No prior programming experience is required for this course, only a sincere interest in learning about computer science.

See the bottom of this page for textbooks, grading policy, and additional resources.

schedule

The schedule of lectures and assignments is subject to change. Please bookmark this page and check for updates frequently!

date topics readings assignments
21 Jan Introduction      
26 Jan Variables, Types, and Programs pp. 21-26, 34-44, 50-53    
28 Jan Lab 1: Computing the Size of a Grid pp. 9-20, 45-49   Lab 1 out
02 Feb Controlling Program Flow: Conditionals and Iteration pp. 80-103, 109    
04 Feb Lab 2: Sizes of Many Grids pp. 135-152 Lab 1 due Lab 2 out
09 Feb Abstraction: Functions and Constants pp. 185-201    
11 Feb Lab 3: Area Under a Line pp. 202-210 Lab 2 due Lab 3 out
16 Feb Variables and Functions pp. 211-213    
18 Feb No class (Substitute Monday's schedule)   Lab 3 due  
23 Feb Review / Special Topics      
25 Feb Lab 4: Areas of Irregular Quads     Lab 4 out
02 Mar Arrays pp. 239-243      
04 Mar Lab 5: Area of an n-sided Polygon   Lab 4 due Lab 5 out
09 Mar Searching and Sorting pp. 256-257    
11 Mar Lab 6: Searching and Sorting   Lab 5 due Lab 6 out
16 Mar Special Topics: Visualization      
18 Mar Recursion, Merge Sort, and Binary Search pp. 219-223 Lab 6 due  
23 Mar No class (Spring Recess)      
25 Mar No class (Spring Recess)      
30 Mar Review / Final Project Introduction      
01 Apr Project: Algorithm Design      
06 Apr Project: Algorithm Design   Algorithm checkpoint
08 Apr Project: Coding pp. 266-275    
13 Apr Project: Coding pp. 459-468    
15 Apr Project: Testing and Debugging      
20 Apr Project: Code Integration   Code checkpoint
22 Apr Project: Code Integration      
27 Apr Project: Prepare for Presentations      
29 Apr Final Presentations   Final code due

lecture notes

  1. Introduction
  2. Variables, Types, and Programs
  3. Controlling Program Flow: Conditionals and Iteration
  4. Abstraction: Functions and Constants
  5. Variables and Functions
  6. Review / Special Topics
  7. Arrays
  8. Searching and Sorting
  9. Special Topics: Visualization
  10. Recursion, Merge Sort, and Binary Search
  11. Review / Final Project Introduction

final project

Sudoku is a logic-based number placement puzzle, the objective of which is to fill a 9x9 grid so that each column, each row, and each of the nine 3x3 blocks (sub-grids) contains the digits from 1 to 9 exactly once each. The puzzle consists of a partially completed Sudoku grid. For the final project, the class will work together to write a Sudoku solver. See the project page for details.

course policies

textbook

Unless otherwise noted, readings listed on the schedule are from the following book:

This book is available through the Tufts bookstore, the publisher, and online retailers such as Amazon. Wiley also offers an E-Book version at a discount. The Horstmann book and other recommended texts are on course reserve at Tisch Library.

grading

Approximately:

All lab assignments will be turned in electronically and are expected to be completed by their due dates. Late assignments will be penalized at 10% per day. Any assignment turned in more than one week after its due date will receive a zero grade. This course follows the Tufts policies on academic integrity.

accommodations

Tufts is committed to providing support services and reasonable accommodations to all students with documented disabilities. To request an accommodation, you must register with the Disability Services Office at the beginning of the semester. To do so, call the Student Services Desk at (617) 627-2000 to arrange an appointment with Sandra Baer, Program Director of Disability Services.

Updated April 12, 2010