CS 115: Programming I – Spring 2015

Links: [Course Home] [Assignments] [Schedule] [Resources] [Programming Tools] [Moodle] [CS 115W]

Catalog description

(4 units) Lecture, 3 hours; laboratory, 3 hours. An overview of computer organization; arithmetic and logical expressions, decision and iteration, simple I/O; subprograms; principles of good programming style, readability, documentation, structured programming concepts; top-down design and refinements; techniques of debugging and testing. Use of the above concepts will be implemented in a standard high-level programming language.

This course is currently taught using Python.


GE Math eligibility (satisfaction of ELM requirement) and English eligibility (satisfaction of EPT requirement).

Students who do not meet these prerequisites will be dropped from the class unless they obtain instructor consent.


There are two textbooks, both required. One is online and free. The other one is reasonably priced (about $30), and you will need it for the graphical programs we'll be writing.

Instructor Contact Info

Suzanne Rivoire
Email: suzanne.rivoire@sonoma.edu
Website: http://rivoire.cs.sonoma.edu
Office phone: 707-664-3337
Office location:Darwin 116F

Meeting Times

MySSU should show that you are enrolled in two consecutive section numbers (for example, sections 3 and 4). The first number is your lecture section. The second number is your lab section.

You are expected to attend your lecture section twice a week, and your lab section once a week, as shown below:


1 and 3Tu/Th 9:20–10:35 AMDarwin 37Suzanne Rivoire
5 and 7Tu/Th 10:45 AM–noonDarwin 29Suzanne Rivoire


SectionTimeRoomInstructorStudent Assistants
2Tu 4:00–6:50 PMDarwin 25Matt HardwickKelly Morales,
Kelsey Rangel
4W 5:00–7:50 PMDarwin 28Noah MelconKelsey Rangel,
Helen San,
Hayden Zollars
6Tu 5:00–7:50 PMDarwin 28Noah MelconMarshall Jankovsky,
Niklas Rowen
8W 2–4:50 PMDarwin 25Brian McWilliamsMarshall Jankovsky,
Kelly Morales

Extra help

M 12:30–3:30 PMDrop-in tutoringDarwin 28Marshall Jankovsky
M 4:00–7:00PMDrop-in tutoringDarwin 28Kelsey Rangel
Tu 2:15–3:45 PMOffice hoursDarwin 116FSuzanne Rivoire
Tu 3:00–4:00PMDrop-in tutoringSchulz 2014BKelsey Rangel
W 9:00–9:45 AMOffice hoursDarwin 116FSuzanne Rivoire
Th 2:00–3:50 PMWorkshopDarwin 28Kelsey Rangel,
Jeremy Swedroe
Th 4:00–5:00PMDrop-in tutoringDarwin 28Kelsey Rangel
F 11:00 AM–noonDrop-in tutoringDarwin 28Marshall Jankovsky

GE Information

This class satisfies the General Education category B3 requirement (Specific Emphasis in Natural Sciences). As of May 2008, the GE B3 objectives are

  1. Improve understanding of the concepts and theories of science and technology
  2. Understand the interconnected and ever-changing relationships among the natural, physical, and technological sciences
  3. Critically assess the social and ethical implications of science and technology in relations to their daily lives
  4. Improve problem solving and critical thinking skills through application of scientific knowledge using hands-on activities

More information can be found on the SSU GE homepage.

Course Goals and Objectives

  1. Develop algorithms for solving problems.
    • Write programs that interact with the user textually and graphically.
    • Write programs that perform calculations using arithmetic expressions.
    • Write programs that choose which actions to perform using control structures.
    • Apply, program, and evaluate common algorithms for searching and sorting data.
  2. Use design strategies for managing complexity.
    • Design programs that are readable and maintainable.
    • Decompose a complex problem into smaller parts through the use and design of functions.
    • Organize data using standard data structures (e.g. lists, strings, files).
    • Design and use specialized data types (object-oriented programming).

Online Resources


The course homepage is http://rivoire.cs.sonoma.edu/cs115/. There, you will find links to the following:

Moodle Gradebook

The course gradebook will be kept on Moodle so that you can check your grades at any time.

Email List

Course announcements will be sent to your SSU email address, so you should check that account frequently.

Coursework and Grading

Course Activities

The assignments page (http://rivoire.cs.sonoma.edu/cs115/assignments.html) describes the different course activities and the policies on collaboration and late work.

Grading Policies

Grade breakdown:

Programming projects30%
Lecture activities and quizzes5%

You must also pass each of these three components individually (60% or better) to receive a C- or better in the course. In other words, if you fail one or more of these three components, the maximum grade you can earn in the course is a D+.

Your final semester grade will be rounded to the nearest integer.

Grading scale (after rounding)

93-100%90-92%87-89%83-86%80-82%77-79%73-76%70-72%67-69%63-66%60-62%Below 60%

CS majors must take this course for a letter grade.

Up to 3% may be added to your final grade at the instructor's discretion for constructive participation in the class. Constructive participation includes in-class participation; asking good questions via email or during office hours; and doing outstanding or extra work on assignments. No other adjustments of borderline grades will be considered.

Penalties for Academic Dishonesty

Academic dishonesty will be severely penalized; at a minimum, you will receive a grade of 0 on the assignment. For more information, see SSU's cheating and plagiarism policy (http://www.sonoma.edu/UAffairs/policies/cheating_plagiarism.htm) and the Dispute Resolution Board website (http://www.sonoma.edu/senate/drb/drb.html).

University Policies

Disability Accommodations

If you are a student with a disability and you think you may require accommodations, please register with the campus office of Disability Services for Students (DSS), located in Salazar Hall - Room 1049, Phone: (707) 664-2677, TTY/TDD: (707) 664-2958. DSS will provide you with written confirmation of your verified disability and authorize recommended accommodations. This authorization must be presented to the instructor before any accommodations can be made. Visit http://www.sonoma.edu/dss for more information.

Other University Policies

There are important University policies that you should be aware of, such as the add/drop policy, cheating and plagiarism policy, grade appeal procedures, accommodations for students with disabilities, and the diversity vision statement. Go to this URL to find them: http://www.sonoma.edu/uaffairs/policies/studentinfo.shtml.

Consolidated Syllabus (last updated Jan. 19, 2015)

You may download the course information, assignment descriptions, and schedule in a consolidated pdf: