CS101 -- Computer Science I, Spring 2008

Objectives

This course is an introduction of the art and science of computer programming and to some of the fundamental concepts of computer science. Students will write programs in the Java programming language. Good programming design strategy will be stressed throughout. There will also be a study of some of the basic notions of computer science, including computer system organization, files and some algorithms of fundamental importance.

Administrivia

Lectures: Tuesday and Thursday, 10:30-11:45am in Fulton 250.
Instructor: Hao Jiang, Fulton 410C, email: hjiang@cs.bc.edu, url: www.cs.bc.edu/~hjiang.
Instructor office hours: M 11:00am-12:00am, F 2:30pm:3:30pm.
TA office hours: see the table.

Lecture Schedule (Approximate)

Date Time Topics Readings
Week 1
Tue 01/15/2008
10:30-11:45 Introduction
Thu 01/17/2008
10:30-11:45 Your First Program
   Sedgewick & Wayne 1.1
Week 2
Tue 01/22/2008
10:30-11:45 Arithmetics
   Sedgewick & Wayne 1.2
Thu 01/24/2008
10:30-11:45 Boolean Op; Strings
   Sedgewick & Wayne 1.2
Week 3
Tue 01/29/2008
10:30-11:45 Conditionals and Loops
   Sedgewick & Wayne 1.3
Thu 01/31/2008
10:30-11:45 Applications of Conditionals and Loops; I/O
   Sedgewick & Wayne 1.3
Week 4
Tue 02/05/2008
10:30-11:45 Code Construction; Function
Notes
Thu 02/07/2008
10:30-11:45 Function
Sedgewick & Wayne pp.184--193, pp.219--221
Week 5
Tue 02/12/2008
10:30-11:45 Input and Output
   Sedgewick & Wayne 1.5
Thu 02/14/2008
10:30-11:45 Recursion
   Sedgewick & Wayne 2.3
Week 6
Tue 02/19/2008
10:30-11:45 Recursion
   Sedgewick & Wayne 2.3
Thu 02/21/2008
10:30-11:45 Recursion
   Sedgewick & Wayne 2.3
Week 7
Tue 02/26/2008
10:30-11:45 Midterm Review Slides
Thu 02/28/2008
10:30-11:45 Midterm Exam (Solution)
Week 8
Tue 03/04/2008
No Class (Spring Vacation)
Thu 03/06/2008
No Class (Spring Vacation)
Week 9
Tue 03/11/2008
10:30-11:45 Array
   Sedgewick & Wayne 1.4
Thu 03/13/2008
10:30-11:45 Array
   Sedgewick & Wayne 1.4
Week 10
Tue 03/18/2008
10:30-11:45 Multidimensional Array
   Sedgewick & Wayne 1.4
Thu 03/20/2008
10:30-11:45 No Class (Easter)
  
Week 11
Tue 03/25/2008
10:30-11:45 Maze Solver
   Notes
Thu 03/27/2008
10:30-11:45 Reference Types
   Sedgewick & Wayne 3.1-3.2
Week 12
Tue 04/01/2008
10:30-11:45 Object and Class
   Sedgewick & Wayne 3.2
Thu 04/03/2008
10:30-11:45 Object Oriented Programing
   Sedgewick & Wayne 3.3
Week 13
Tue 04/08/2008
10:30-11:45 Inheritance, Base class and Interface
   Notes
Tue 04/10/2008
10:30-11:45 Linked Data Structure
   Notes
Week 14
Tue 04/15/2008
10:30-11:45 Data Structure and Applications
   Slides and Notes
Thu 04/17/2008
10:30-11:45 Computer vision, Object Recognition, and AI
   Turing, "Computational Machinery and Intelligence", 1950.
Week 15
Tue 04/22/2008
10:30-11:45 AI in Games
  
Thu 04/24/2008
10:30 (Final project checkpoint)
Thu 04/24/2008
10:30-11:45 Final Project Discussion
Week 16
Tue 04/29/2008
10:30-11:45 Final Exam Review
Thu 05/01/2008
10:30-11:45 Final Exam

Grading

Evaluations will be based on programming assignments, as well as a midterm and final exam:

Assignments and Projects

Assignments except the final project are to be done individually. Final projects can be done in groups (no more than 2 students in each group). Assignments are due at the beginning of the specified class time. For each day late, 10% of the total possible points will be deducted. No work will be accepted after 4 days late.

Textbook

Academic Integrity

Academic Integrity plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that all acts of intellectual dishonesty are subject to disciplinary action by the school. Students are encourage to read the school's policy information (http://www.bc.edu/offices/stserv/academic/resources/policy/#integrity).