|CSC 207||Grinnell College||Spring, 2015|
|Algorithms and Object-Oriented Design|
Although materials for this course are reasonably stable, refinements in the schedule and in various details can be expected through the semester.
|Class Schedule||Supplemental Problems||Instructor||Textbooks||Course Work|
|Deadlines||Collaboration||Cell Phones||Accommodations||Grading||Tutors and Mentors|
CSC 207, Algorithms and Object-Oriented Design, explores object-oriented problem solving using the Java programming language (a language widely used for large-scale applications and systems). Topics and themes covered include:
To cover this material, the course is roughly divided into 14 units:
Blended through the course, several discussions will highlights approaches for effective and efficient software development.
Henry M. Walker
Office: Science 3811
Telephone: extension 4208
Office hours are posted weekly on the bulletin board outside Science 3811, with additional hours possible by appointment. You may reserve a half hour meeting by signing up on the weekly schedule, but please sign up at least a day in advance.
Although a textbook is not required for this course, many students appreciate a tutorial and reference book that coordinates well with the topics and organization of the course. For these students, the following text is recommended:
In addition, the following on-line references may be useful:
Java Programming Language:
Eclipse Integrated Development Environment:
While the schedule for this course is expected to evolve, a detailed Tentative Class Schedule is posted with readings, labs, assignments, examples, etc. This schedule will be updated as the course evolves.
All programming for this course must meet reasonable standards for clarity, readability, maintainability, and efficiency. Also, submitted programs must compile appropriately, tests should demonstrate program correctness, and some commentary is needed to explain why programs produce correct answers. See Notes on Program Standards for details on writing and testing programs according to basic standards.
Course Work will involve a combination of the following activities.
Supplemental Problems extend the range of problems considered in the course and help sharpen problem-solving skills. Through the semester, about three supplemental problems will be required.
Laboratory sessions introduce specific features of Grinnell's computing environment, highlight concepts and constructs introduced in class, allow instructor assistance in a "hands-on" setting, and supplement normal office hours.
Approximately ten labs require a formal write-up, explaining what work you have done, showing any programming you have done, indicating tests or experiments run, and giving your conclusions. Several additional labs are identified as being available for extra credit. Submission deadlines are given on the day-by-day schedule. As with written homework, extra credit may not raise a student's average on laboratories above 120%.
Many lab activities should be done in groups of two or three, although you may work individually on labs after September 20. Only one write-up is expected per group.
Lab Write-ups are due for specified labs. Turning in a lab involves two parts:
Tests: Two take-home tests are tentatively scheduled to be distributed on Wednesday, 8 October, and Friday, 14 November. Each take-home test will be in two parts, with sections due several days later.
Exam: The take-home final exam will be distributed during class in the last week of classes and will be due during exam week. Specific dates will be clarified near the end of the semester.
Extra Credit Opportunities: Computer science is a wide-ranging discipline, and courses can cover only selected pieces. To encourage students to expand their horizons, students may earn 2 points extra credit for each Thursday Extra or other departmental talk, by attending the talk and writing a short (4-8 sentence) summary or response. Logistically, a reasonable statement must be submitted via e-mail to the instructor within 1 week of the talk; after the e-mail has been reviewed and the statement deemed appropriate, the student will receive 1 point extra credit counted toward supplemental problems and 1 point extra credit counted toward labs. Additional extra credit opportunities may be announced through the semester.
Deadlines are shown on the Tentative Class Schedule, and work is due at the start of each class specified. A penalty of 25% per class meeting will be assessed for any assignment turned in late, even work submitted at the end of a class. However, an extension of at least one class period is automatically granted if the department's Linux network is down for an unscheduled period of three or more hours during the week preceding the assignment. Normally, a program or laboratory write-up is due every third class meeting.
Although dates for labs, programming assignments, tests, and the final exam are firm, I understand that circumstances arise when you are not able to attend class.
Absolute Deadline: All homework must be turned in by Friday,
12 December at 5:00 pm;
laboratory reports or programs received after that time will not be counted in the grading of the course.
Collaboration often will be allowed on laboratory exercises, but collaboration normally will NOT be allowed on supplemental problems and tests. To avoid confusion, the rules for collaboration on homework are included in the specification of each assignment.
Cell phones, text-messaging devices, and other social-networking connections may not be used in this class. If you bring such equipment to the classroom, it must be turned off before the class starts and stay off throughout the class period. Use of such equipment is distracting to those nearby and will not be tolerated.
If you have specific physical, psychiatric, or learning disabilities and require accommodations, please let me know early in the semester so that your learning needs may be appropriately met. You will need to provide documentation of your disability to the Director of Academic Advising. Feel free to talk to me if you have questions or want more information.
This instructor's grading philosophy dictates that the final grade should ultimately be based upon each student's demonstration of her or his understanding of the material, not on the performance of the class as a whole nor on a strict percentile basis. The following scheme is proposed as a base for how the various assignments and tests will be counted in the final grade.
|Lab Write-ups: 30%||Supplemental Problems: 20%||Tests: 30%||Exam: 20%|
This document is available on the World Wide Web as
created 10 May 2011
revised 7 April 2012
updated 2 May 2013
updated 12 July 2014
updated 26 August 2014
updated 25 September 2014
|For more information, please contact Henry M. Walker at firstname.lastname@example.org.|