en47/comp9 - exploring computer science

Course number:EN47-CS2 and COMP9-01, Fall 2009
Lectures:Tue 3:00-4:15pm, in Halligan 106
Labs:Thu 3:00-4:15pm, in Halligan 116

Instructor:Sara Su

Office hours: M 4:00-6:00pm, in Halligan E011
TAs:Mona Yousofshahi

Office hours: TR 2:00-3:00pm, in Halligan 107
 Lindsay Verola
Mailing list:

content

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.

course policies

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

announcements

schedule

The lecture schedule is subject to change. Please keep checking back over the course of the semester. Unless otherwise noted, readings are from the Downey book.

date topics readings assignments
08 Sep Introduction      
10 Sep Introduction to Linux     Lab 0 out
15 Sep Variables, Types, and Programs pp. 1-19    
17 Sep Beginning to Program   Lab 0 due Lab 1 out
22 Sep Controlling Program Flow: Conditionals and Iteration pp. 31-34, 53-58, 99-100    
24 Sep Controlling Program Flow   Lab 1 due Lab 2 out
29 Sep Abstraction: Functions and Constants pp. 21-30, 39-43    
01 Oct Functions   Lab 2 due Lab 3 out
06 Oct Variables and Functions      
08 Oct Variables and Functions   Lab 3 due Lab 4 out
13 Oct No class (Columbus Day - Monday schedule)      
15 Oct Review / Special Topics   Lab 4 due PSet 1 out
20 Oct Arrays      
22 Oct Arrays   PSet 1 due Lab 5 out
27 Oct Searching and Sorting      
29 Oct Searching and Sorting pp. 43-48 Lab 5 due Lab 6 out
03 Nov Recursion, Merge Sort, and Binary Search pp. 34-38, 48-52    
05 Nov Challenge Problems     Lab 7 out
10 Nov TBA      
12 Nov CS Colloquium: Capturing Hair Geometry and Appearance   Lab 6 due  
17 Nov Project Description: System design & algorithms   Lab 7 due  
19 Nov Project: Algorithms & coding      
24 Nov Project: Coding, testing, & debugging      
26 Nov No class (Thanksgiving)      
01 Dec Project: Coding integration, testing, & debugging      
03 Dec Project: Prepare for presentations      
08 Dec Project Presentations      
10 Dec Special Topics      

lecture notes

Lecture notes and handouts will be posted here.

  1. Introduction
  2. Introduction to Linux
    handout: Brief summary of Linux and Emacs commands
  3. Variables, Types, and Programs
  4. Controlling Program Flow: Conditionals and Iteration
  5. Abstraction: Functions and Constants
  6. Variables and Functions
  7. Review / Special Topics
  8. Arrays
  9. Searching and Sorting
  10. Recursion, Merge Sort, and Binary Search

This class makes use of material developed by Profs. Alexandre François and Soha Hassoun.

assignments

course policies

textbook

There is one required textbook for the course, which is available as a course pack at Gnomon Copy, 348 Boston Ave.

  • Allen B. Downey, How to Think Like a Computer Scientist: C++ Version, Green Tea Press, 1999.

Students should bring their books to the lab sessions.

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.

Please read the Dean's booklet 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 November 6, 2009