Problem Solving with Computers I
Spring 2016

Catalog 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 (primary) programming language used this quarter, and C++ is introduced too.

Prerequisites: Mathematics 3A with a grade of C or better (may be taken concurrently). CS 8 or Engineering 3, or significant prior programming experience.

Instructor: Tevfik Bultan,, Office hours: Thu, 10:00-12:00, HFH2123

Teaching Assistants (TA office hours are at Trailer 936 Room 104):
Yuanshun Yao,, Office hours: Tuesday 2:00-4:00
Ankita Singh,, Office hours: Friday 1:00-3:00
Yi Yang,, Office hours: Friday 10:00-12:00
Jordan Hughes,, Office hours: Monday 10:00-12:00
Plane Janthong,, Office hours: Monday 1:00-3:00
Suraj Rajesh,, Office hours: Thursday 4:00-6:00
Roman Kazarin,, Office hours: Monday 3:00-5:00

Class Times: Tuesday/Thursday 12:30-1:45   Location: GIRV 1004
Lab Times:
Wednesday 9:00-9:50   Location: PHELP 3525
Wednesday 10:00-10:50   Location: PHELP 3525
Wednesday 11:00-11:50   Location: PHELP 3525
Wednesday 12:00-12:50   Location: PHELP 3525
Wednesday 1:00-1:50   Location: PHELP 3525
Wednesday 2:00-2:50   Location: PHELP 3525

Class homepage:

Class mailing list: We will Piazza for class discussion. Please post your questions to Piazza instead of directly e-mailing to the Instructor or the TAs. We will continuously monitor the Piazza and answer the questions for everyone to see.

Find our class page at:

To sign up use this link:

Grades Compute the expression (perm-number % 98887) to see your grade.
Class Schedule, Lecture Notes and Reading Assignments
Programmming Assignments Homework Assignments
Exam Schedule
Required Textbook: W. Savitch. Problem Solving with C++. 9th Edition, 2014.

Course Outline:

Course Work:


Programming Assignment Policy: Cooperative work is an important part of learning. You are encouraged to study together, discuss the lectures, and discuss the software solutions. However, you are not allowed to share your code:

If you violate these rules, you risk receiving a grade of F, and a letter will be sent to the campus Judicial Affairs Office to report the incident.