Course Syllabus
Computer Science 16
Winter 2018

Problem Solving with Computers I

Course Description

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.

C++ is the programming language used this quarter.

Pre-requisite and Recommended Preparation

Course Goals

  1. Students gain experience solving problems with computers.
  2. Students expand their beginning knowledge of programming, and learn to apply structured programming techniques.
  3. Students learn to write C++ programs in a Unix-like environment.

Instructor

Dr. C. Michael Costanzo, mikec@cs.ucsb.edu
Office hours: Monday and Wednesday, 11-12 in Trailer 936 room 103

Teaching Assistants

TA Email Office hours
Sydney Ma siyima@cs.ucsb.edu Monday, 3:30-5:30 in Trailer 936
Da Zhang dazhang@cs.ucsb.edu Thursday, 9-11 in Trailer 936
Magzhan Zholbaryssov magzhan@cs.ucsb.edu Friday, 10-12 in Trailer 936

Instruction Schedule

Required Text

Walter Savitch. Problem Solving with C++, 10th Edition, Prentice Hall, 2018. [Earlier editions are probably okay - BUT students are responsible for determining correspondence with 10th Edition.]

Grading Policy

Overall course scores will be calculated according to the following distribution of credit:

If the class average overall course score is less than 80 percent, then a curve may be applied to establish letter grades. Otherwise, letter grades will be assigned as follows:
Overall scoreGradeNotes
≥ 93%    AExceptional scores may earn A+
90-92.9%   A- Scores will be rounded to
the nearest 0.1 percent
87-89.9%   B+
83-86.9%   B
80-82.9%   B-
77-79.9%   C+
73-76.9%   C
70-72.9%   C-
67-69.9%   D+
63-66.9%   D
< 63%   D-Very poor scores may earn F

Course Outline - and required reading from the textbook

Notices