CSC 301 | Grinnell College | Fall, 2014 |
Analysis of Algorithms | ||
Instructor | Textbooks | Course Work | Collaboration | Possible Class Formats | Schedule | |
Academic Honesty | Deadlines | Cell Phones | Accommodations | Grading | Student Comments on Readings |
CSC 301 examines the design, implementation, and efficiency of algorithms, extending the study begun in CSC 151 and continued in CSC 161, CSC 207, and CSC/MAT 208 or MAT 218. The course has four main foci:
More specifically, CSC 301 has these high-level goals:
The objectives of CSC 301 include these capabilities:
Office: Science 3811
Telephone: extension 4208
E-mail: walker@cs.grinnell.edu
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.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, Third Edition, Cambridge, Massachusetts: The MIT Press, 2009; ISBN 978-0-262-00384-8.
Additional Notes:
While the schedule for this course is expected to evolve, a Tentative Class Schedule is available at schedule.php.
Course Work will involve a combination of the following activities.
Written Assignments: Exercises will be assigned regularly throughout the course. These assignments may be done individually (allowed) or in groups of 2 (preferred). (But each student will need to notify the instructor by Friday about their preference for the following week. If the preference is not communicated by 5:00 pm on Friday, it will be assumed the student wants to participate in a group for the following week.)
Daily Summaries/Questions: In preparation for at least 25 class meetings (except tests), each student is expected to read the assigned materials and use Blackboard on Pioneer Web to complete the following form:
Daily summaries/questions are due by 5:00 pm the day before class; materials submitted after 5:00 pm will not be counted or considered. If Blackboard is down for any reason, students should email the instructor by the 5:00 pm deadline.
For material not covered by questions, students should be prepared to join class discussions by helping to answer questions.
Small-group Presentations: For two assignments, groups of students will present material on an assigned topic to the class. Before break, presentations will involve groups 3 students (labeled A, B, C, ... on the daily schedule), and after break, presentations will involve groups of 2 students (labeled 0, 1, 2, ... on the daily schedule).
Programming Assignments: There will be several programming assignments to highlight specific algorithms and provide a framework for an experimental investigation of algorithm efficiency.
Tests: Two tests are tentatively scheduled for Friday, 3 October, and Wednesday, 12 November. Although initial course planning has scheduled these tests to be in class, discussions with the students may change one or more of tests to be take-home assignments.
Exam: An in-class final is scheduled for Thursday, December 18, at 2:00 pm, following to the College's published schedule.
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, when a reasonable statement is received, the student will receive 2 points extra credit counted toward homework assignments. Additional extra credit opportunities may be announced through the semester. To receive credit, the summary should be received within two weeks of the event.
Unless otherwise stated for a specific activity:
For this course, academic honesty requires the following practices:
Late Work will not be accepted, as it interferes with normal grading and with preparation for other parts of this course.
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.
In addition, if an assignment involves programming or experiments involving MathLAN, then an extension of one class day is automatically granted if the department's Linux network is down for an unscheduled period of four or more hours during the preceding the assignment. Note that this exemption does not apply for assignments that can be handwritten.
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 Directory 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.
Assignments: 36% | Discussion Questions: 8% | Hour Tests: 36% | Exam: 20% |
This document is available on the World Wide Web as
http://www.walker.cs.grinnell.edu/courses/301.fa14/index.shtml
created 15 April 2011 revised 17 June 2013 presentation grading clarified 30 October 2013 revised 7 July 2014 grading percentages updated 23 October 2014 date change for Test 2 3 November 2014 |
![]() ![]() |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |