CS 415, Section 001 Sonoma State University Spring, 2024
Algorithm Analysis
Instructor: Henry M. Walker

Lecturer, Sonoma State University
Professor Emeritus of Computer Science and Mathematics, Grinnell College

Although much of this course has been well developed in recent semesters, the SSU CS faculty recently have approved a partially-updated course description. Currenly, the Web site is reasonably stable, but modest refinements are possbile.

Contract Negotiations Have Yielded a Tentative Agreement

Since May, 2024, the California Faculty Association (CFA) – the labor union of professors, lecturers, librarians, counselors, and coaches across the 23 California State University campuses – has been in negotiations with the management of the California State University System. After a one-day strike on Monday, January 22, the two sides have reached a tentative agreement, and the strike has been called off. Effective Tuesday, January 23, SSU classes (including CS 415) will be held as scheduled.

  Course Descriptions:  Overview  Goals  Objectives  Anticipated Work Load
  Course Elements:  Class Schedule  C/C++ Style Guide  Class Format  Course Work
  Course Details  Deadlines, Emergencies, and Illness  Collaboration and Academic Honesty  Cell Phones  Grading
  Course Support
  and Policies:
 Instructor  Resources  SSU Recommended Statements  Accommodations


In Summer-Fall 2023, Computer Science faculty approved the following updated course description for CS 415, Algorithm Analysis:

Course Description (updated Summer-Fall, 2023):

A systematic approach to the design and analysis of algorithms with an emphasis on efficiency. Topics include algorithms for searching and sorting, hashing, exploring graphs, integer and polynomial arithmetic. Foundations in recurrence relations, combinatorics, probability, and graph theory as used in algorithm analysis are covered. Standard design techniques such as divide-and-conquer, greedy method, dynamic programming, heuristics and probabilistic algorithms, and approximation algorithms are included. Prerequisite: CS 315 or consent of instructor.

Expanding this description somewhat, CS 415 examines the design, implementation, and efficiency of algorithms, extending the study begun in CS 115 and continued in CS 215, CS 242, and CS 315. The course has four main foci:

Course Meeting Information:


Expanding on the course description, CS 415 has these high-level goals:


The objectives of CS 415 include these capabilities:

Anticipated Work Load

This course incorporates a variety of activities. From past experience, the time required for these activities will likely vary substantially from student to student and from one part of the course to another. For example, a student may need to devote considerable time and effort when starting a new or different topic, but the workload may drop noticeably when that material is mastered.

Such variation in student experiences complicates any estimation of the time individual students may need to devote to homework for this course. However, from past experience, students working steadily on the course likely should expect to allocate 10-15 hours per week to homework. Some students may require additional time for some weeks; some students may complete work in less time for some weeks. Conversations with computer science faculty and others suggest this time allocation is consistent with expectations for many courses at Grinnell College and Sonoma State University.


While the schedule for this course is expected to evolve, a detailed Tentative Class Schedule is posted with readings, labs and worksheets, in-class quizzes and tests, etc. This schedule will be updated as the course evolves.

Class Format

For variety, this course will utilize a variety of activities, including.

Course Work

Course Work will involve a combination of several activities.

Deadlines, Emergencies, and Illness


All written work, including assignments and programs, is due at the start of class, two class days after they appear on the Tentative Class Schedule. A penalty of 30% per class meeting may be assessed for any assignment turned in late, even work submitted at the end of a class.

Emergencies and Illness

Although dates for assignments, quizzes, 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 Thursday, May 11, at 4:00 pm;
assignments received after that time will not be counted in the grading of the course.

Collaboration and Academic Honesty

AI-produced Materials: Use of ChatGPT (or other similar tools or software that generate suggested text) is not permitted in this class for any assignments. This course assumes that work submitted by students – all process work, drafts, brainstorming artifacts, final works – will be generated by the students themselves, perhaps with consultation with non-AI-produced materials. Thus, use of AI tools in this course will be considered a violation of SSU’s Cheating and Plagiarism policy and could result in failure of the assignment or failure of the course.

Written assignments (including written exercises and programs): All work is to be done individually. Further, as noted above, any use of AI-generated materials is explicitly prohibited for this class and will be considered a violation of SSU’s Cheating and Plagiarism policy. However, in preparing answers, students may utilize non-AI-sourced, outside sources (including consultation of in-class slides or the course textbook), provided students follow university-wide rules for quotation and citation.

Although non-AI-based, outside sources may be used (if properly cited), you are still responsible for the accuracy/correctness of what you submit. This foundational principle leads to several notes:

Quizzes, tests, and the final exam: All quizzes, tests, and the final exam are closed book and closed notes, and collaboration is not allowed. Students may ask questions of the instructor, but communication with any other person is not allowed.

Other Graded Work: Should other work be assigned during this class, rules regarding collaboration and citation will be included as part of the activity. AI-based tools, however, will never be allowed!

Citations and References: Every written source (including the textbook) must be identified, with sufficient information that the source can easily be found. For example, specific URLs are required for online sources (a general reference, such as wikipedia.org, is not sufficient, as Wikipedia contains thousands of pages). Also, references to books or articles must include page numbers. In addition, if an answer uses material from past courses or previous work with individuals, the details of that material must be given explicitly.

Further, all citations and references must specify actual sources. Fabricated citations or references will be considered evidence of academic dishonesty and subject to disciplinary action.

Procedures: Throughout the course, any hint of academic dishonesty will be investigated and handled following the SSU Policies on Cheating and Plagiarism.

Following a common practice in the Computer Science Department at Sonoma State University, the standard outcome in CS 415 for the first occurence of a student found responsible for cheating and/or plagiarism is:

A second offence typically would yield a semester grade of F for the course. Since all offenses are reported to SSU's Student Conduct Administrator, the student also may be subject to additional outcomes from the University. (At some schools, a second offence may lead to suspension or dismissal.)

Cell Phones, Text Messaging, and E-Community Devices

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.



As an upper-level course, answers to assignments must demonstrate care in organization and presentation.

Semester Grades

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.

Worksheets and Labs: 44%       Quizzes: 20% (4% each quiz–lowest quiz dropped)     Tests: 18% (9% each test)       Exam: 18%


Henry M. Walker

Office: Darwin 116B
Telephone: extension 707-664-4408
E-mail: henry.walker@sonoma.edu and walker@cs.grinnell.edu

Office hours are available with a combination of in-person and Zoom-based sessions, unless announced otherwise in class.

Both my CS 415 and CS 454 students are welcome to attend office hours any time within the time intervals given below. However, CS 415 students will be given priority during the first half of each interval, and CS 454 students will be given priority during the second half. This leads to the following practices.

Monday: noon – 1:30 pm via Zoom (URL available on CS 415.001 Home Page on Canvas)
Tuesday: 3:00 pm – 4:00 pm in Darwin 116B (or the meeting area by Darwin's main entrance)
Wednesday: 7:00 pm – 9:00 pm via Zoom (URL available on CS 415.001 Home Page on Canvas)
Thursday: 3:00 pm – 4:00 pm in Darwin 116B (or the meeting area by Darwin's main entrance)
Friday: No office hours scheduled

Over the semester, these office hours may be adjusted, in response to student demand.

SSU Recommended Statements

Statements in this section are quoted from language recommended by SSU.

Fires and/or Power Outages

Sonoma County has seen an increase in fire activity and public safety power outages that have had an impact on campus operations intermittently since 2017. In the event that we experience a similar disruption to our course this semester, I will communicate with class via email within 24 hours of the disruption around potential changes to assignments, due dates, or readings. If the disruption continues for more than one week of our regular class meetings, I will subsequently follow up on a weekly basis. Please sign up to receive university emergency alerts by texting SSUALERTS to 67283.

Religious Observance

The observance of religious holidays (activities observed by a religious group of which a student is a member) and cultural practices are an important reflection of diversity. As your instructor, I am committed to providing equivalent educational opportunities to students of all belief systems. At the beginning of the semester, you should review the course requirements to identify foreseeable conflicts with assignments, exams, or other required attendance. If at all possible, please contact me (your course coordinator/s) within the first two weeks of the first class meeting to allow time for us to discuss and make fair and reasonable adjustments to the schedule and/or tasks.

Flexibility versus Accommodations

I have designed the course to provide some flexibility for students who experience hardships related to COVID-19 and other illnesses, mental health challenges and family concerns. These include reasonable extensions on assignments, and opportunities to make-up exams. It is important to note that any flexibility that I provide is something that I would offer any student without compromising the learning outcomes or modalities of the course. For instance, I cannot change the course modality to online for a student, nor can I allow a student to use notes in a traditionally closed notes exam. The most important thing that you can do is communicate with me. I can work with you to determine what options there are for you to succeed.
This flexibility should not be confused with the term "accommodations" which is reserved for students referred to me by Disability Services for Students (DSS).


If you are a student with a disability, and think you may need academic accommodations, please contact Disability Services for Students (DSS), located in Schulz 1014A, Voice: (707) 664-2677, TTY/TDD: (707) 664-2958, as early as possible in order to avoid a delay in receiving accommodation services. Use of DSS services, including testing accommodations, requires prior authorization by DSS in compliance with university policies and procedures. See SSU's policy on Disability Access for Students

Counseling and Psychological Services (CAPS)

If you feel stressed or otherwise worried about your circumstances, you are encouraged to contact SSU's Counseling and Psychological Services. In summary, CAPS offers short-term individual and group counseling, workshops, crisis intervention services, consultation, referral, training, and outreach.

created December, 2021
revised December, 2021-January, 2022
revised February 18, 2022
revised August 10-18, 2022
revised January 2023
revised Summer-Fall 2023
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.