CS 16 Problem Solving with Computers 1

CS 16 Problem Solving with Computers 1

Department of Computer Science
University of California Santa Barbara
http://koclab.cs.ucsb.edu/teaching/cs16

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

Textbook

  • 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ç