Prerequisites: Csci101 or permission of instructor.
Instructor: Laura Toma
TAs:
Class Email: csci210 at bowdoin dot edu
Class webpage: http://www.bowdoin.edu/~ltoma/teaching/cs210/spring08/
Course Outline:
Week | Topic | Reading |
Jan 22 | Introduction | Class website |
Jan 22, 23, 24 | Java basics | Bailey 1 |
Jan 29, 30, 31 | Java advanced programming | Bailey 2 |
Febr 5, 6, 7 | Program analysis | Bailey 4.1 |
Febr 12, 13, 14 | Vectors | Bailey 3 |
Febr 19, 20 | Exam1 | |
Febr 26, 27, 28 | Recursion | Bailey 4.2 |
March 4, 5, 6 | Lists | Bailey 7, 8 |
-------------------------- | -----------spring break------------- | ---------------- |
March 25, 26, 27 | Stacks and queues | Bailey 9 |
April 1, 2, 3 | Searching and backtracking. Breadth- and depth-first search. | |
April 8, 9, 10 | Trees | Bailey 11 |
April 15, 16, 17 | Advanced trees | Bailey 13 |
April 22, 23, 24 | Maps and hash tables | Bailey 14 |
April 29, 30, May 1, 6 | Selected topics: heaps or graphs | Bailey 12, 15 |
May 7 | Exam2 |
Textbook:
Work for the course and grading policy:
The
work for this course includes class participation, readings, two
tests, a number of weekly lab assignments (usually 9 or 10), in-class
assignments, and a final project. Lab assignments will be available
online. All work will be graded and will contribute to you course
grade. As a rule, in-class assignments are simply checked for
completeness and the labs are checked more thoroughly. Approximately
50% of your grade will be based on the exams. The rest will be based
on lab and class performance.
Since the major goal of the class is to teach you programming, not handing in any lab is grounds for failing the course. This does not assume, however, that all labs need to be completed satisfactorily.
One of the goals of the class is to learn the difference between programs that simply work, and quality programs. Therefore do not assume that completing an assignment will result in an A program. We will discuss guidelines extensively in class.
Lab work will be done individually. Usually the labs will be assigned on Thursdays, and the Thursday class is dedicated to getting started on the lab. Each lab assignment will be due one week after it is assigned, that is, the following Thursday before class (unless otherwise specified in class). The lab assignment must be turned in electronically (by email), as well as hard-copy. Endorse each assignment with your signature to acknowledge that you have followed the honor code for the class.
Late policy:
The assignments must be turned in at the specified time. The reason is
that it is absolutely essential that you do not fall behind in the
class. Furthermore, once an assignment is due, I will no longer
provide help on it. In addition, you may not work on late assignments
during class time. The late penalty for an assignment is 25% per day.
Failure to hand in an assignment is grounds for failing the course.
Honor code and cheating policy:
Students are expected to follow the Bowdoin Computer Use
Policy and the Academic Honor Code. You are encouraged to
discuss ideas and techniques broadly with other class members,
but not specifics of assigned problems except as part of group
projects. Discussions should be limited to questions that can be
asked and answered without using any written medium
(e.g. pencil and paper or email). This means that at no time should
a student read any code written by another student unless
they are part of the same group. Sharing of code or intermediate
designs is expressly prohibited. The same rules apply once you have
finished the course - sharing your code with other students will be
considered a violation of Bowdoin's honor code. Violation of this
policy is grounds for me to initiate an action that would be filed
with the Dean's office and would come before the J Board. If you have
any questions about this policy, PLEASE do not hesitate to contact
me. This will be a zero-tolerance policy.
It is permissible to use software and materials available from other sources (understanding that you get no credit for using the work of others on those parts of your projects) as long as: 1) You acknowledge explicitly which aspects of your assignment were taken from other sources and what those sources are. 2) The materials are freely and legally available. 3) The material was not created by a student at Bowdoin as part of this course this year or in prior years.
All write-ups, reviews, documentation, and other written material must be original and may not be derived from other sources.
If in the future you will provide your work to students in 210 this will also constitute a violation of Bowdoin's honor code.