CS 16 Problem Solving with Computers 1

CS 16 Problem Solving with Computers 1

Department of Computer Science
University of California Santa Barbara

Course Information

  • Instructor: Professor Koç         → Koç is pronounced as "Coach"  

  • Class Schedule and Room: Monday, Wednesday 2:00-3:15pm, Girvetz 1004
  • Koç's Office Hours: Tuesdays 3:00-5:30pm   Office: HFH 1119

  • Teaching Assistants:
    Sachin Rathod (rathod@umail)
    Adam Ibrahim (adamibrahim@umail)
    Brandon Huynh (bhuynh@cs)
    Yuanshun Yao (yao@cs)
    Ankita Singh (ankitasingh.2309@gmail)
    Roman Kazarin (rkazarin@umail)
    Suraj Rajesh (suraj_rajesh@cs)
    Arvind Rajasekaran (arvindcr4@gmail)

  • Lab Schedules (all on Tuesdays):
    08:00am-08:50am (TAs: Yuanshun and Roman)
    09:00am-09:50am (TAs: Yuanshun and Roman)
    10:00am-10:50am (TAs: Adam and Arvind)
    11:00am-11:50am (TAs: Adam and Arvind)
    12:00pm-12:50pm (TAs: Sachin and Suraj)
    01:00pm-01:50pm (TAs: Brandon and Ankita)
    02:00pm-02:50pm (TAs: Brandon and Ankita)
  • Lab Room: Phelps 3525

  • Teaching Assistants' Office Hours:
    Monday 10am-12pm: Suraj
    Monday 12pm-2pm: Sachin
    Monday 3:30pm-5:30pm: Yuanshun
    Wednesday 8am-10am: Ankita
    Wednesday 10am-12pm: Roman
    Wednesday 12pm-2pm: Arvind
    Thursday 1pm-3pm: Brandon
    Friday 2pm-4pm: Adam
  • Teaching Assistant Office: Trailer 936 Room 104

  • Course material is in the folder docx.  
  • Join the Piazza page for cs16-related discussions.  
  • Check the class web site, the Piazza page, and/or your email once a day.

  • The grades: Winter16   (The Code is your PERM number mod 98773)

Midterm and Final Exam Dates

The Midterm Exam will be in class on Wednesday, Feb 10.  
The Final will be on Monday, March 14 at 4:00-7:00pm  

Programming Assignments

We will have 10 Programming Assignments.
The PAs are due every Saturday midnight.  
  • Programming Assignment 01: pa01.html - Due Midnight January 9 Saturday
  • Programming Assignment 02: pa02.html - Due Midnight January 16 Saturday
  • Programming Assignment 03: pa03.html - Due Midnight January 23 Saturday
  • Programming Assignment 04: pa04.html - Due Midnight January 30 Saturday
  • Programming Assignment 05: pa05.html - Due Midnight February 6 Saturday
  • Programming Assignment 06: pa06.html - Due Midnight February 14 Sunday   See deadline!!
  • Programming Assignment 07: pa07.html - Due Midnight February 20 Saturday
  • Programming Assignment 08: pa08.html - Due Midnight February 27 Saturday
  • Programming Assignment 09: pa09.html - Due Midnight March 5 Saturday
  • Programming Assignment 10: pa10.html - Due Midnight March 12 Saturday

Homework Assignments

We will have 5 Homework Assignments.
The HW assigments are due 5pm on Wednesdays on even weeks.  
Deliver your homework paper to the HW Box for cs16 in HFH 2108.
  • Homework Assignment 01: hw01.pdf - Due 5pm Wednesday January 13
  • Homework Assignment 02: hw02.pdf - Due 5pm Wednesday January 27
  • Homework Assignment 03: hw03.pdf - Due 5pm Wednesday February 10
  • Homework Assignment 04: hw04.pdf - Due 5pm Wednesday February 24
  • Homework Assignment 05: hw05.pdf - Due 5pm Wednesday March 9

Weekly Course Plan

We will cover Chapters 1-10 and 14 of the Textbook according to the following chart: chapters.png.
The weekly plan is as follows:
  • Week01: Chapter 1: Introduction
  • Week02: Chapter 2: C/C++ Basics and Chapter 3: Flow Control
  • Week03: Chapter 4: Functions 1
  • Week04: Chapter 5: Functions 2
  • Week05: Chapter 6: I/O Streams
  • Week06: Chapter 7: Arrays and Multi-Dimensional Arrays
  • Week07: Chapter 7: Arrays and Multi-Dimensional Arrays
  • Week08: Chapter 9: Pointers and Dynamic Arrays
  • Week09: Chapter 8: Strings and Vectors
  • Week10: Chapter 14: Recursion


  • W. Savitch. Problem Solving with C++. 9th Edition, 2014.
  • Additional course material is found in the folder docx.

Other Resources

Grading Rules

  • Programming Assignments: 40 %
  • Homework Assignments: 20 %
  • Midterm: 15 %
  • Final: 25 %

Catalog Specification

Fundamental building blocks for solving problems using computers. Topics include basic computer organization and programming constructs: memory CPU, binary arithmetic, variables, expressions, statements, conditionals, iteration, functions, parameters, recursion, primitive and composite data types, and basic operating system and debugging tools.

Prerequisite Rules

Mathematics 3A with a grade of C or better (may be taken concurrently). Students with no experience with computer programming needs to take CS 8 before CS 16.

Academic Integrity at UCSB  

Dr. Çetin Kaya Koç