Introduction to computer program development for
students with little to no programming experience. Basic
programming concepts, variables and expressions,
data and control structures, algorithms, debugging,
program design, and documentation.
Python 3 is the programming language used this quarter.
Pre-requisites
None. But not open for credit to students who have completed Computer Science 16 or
Engineering 3.
Course Goals
Students learn fundamental principles and concepts of computers and
programming, including structured programming techniques.
Students learn to use the Python interpreter and write Python programs.
Lectures - 2 per week - MW 3:30-4:45, in Buchanan 1920
Lab - every Tuesday in Phelps 3525:
as enrolled at 8-8:50, 9-9:50, 10-10:50 or 11-11:50
Required Text
Bradley N. Miller and David L. Ranum. Python Programming in Context
(2nd Edition), Jones and Bartlett Publishers, 2014.
Grading Policy
Course grades will be (curved as necessary) based on the following distribution of
credit:
40 percent - weekly labs, including preparatory homework, plus
other occasional programming assignments.
60 percent - 3 exams: best score counts 28%, middle counts
20%, and worst counts 12%.
The exam schedule is as follows (unless announced otherwise):
Monday, April 24.
Monday, May 15.
Wednesday, June 7.
(No final exam this quarter.)
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 score
Grade
Notes
≥ 93%
A
Exceptional 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
Introduction to computing, programming, and Python - Chapter 1
Numerical problem solving, control structures and functions - Chapter 2
Strings of characters, coding and decoding - Chapter 3
Processing data collections, and calculating statistics - Chapter 4
Processing text files, and more control structures - Chapter 5
Image processing techniques, and more functions - Chapter 6
More programming/Python topics as time permits - Parts of chapters 7-10
Notices
The course's web pages
(http://www.cs.ucsb.edu/~mikec/cs8)
are mandatory reading. Students are responsible for monitoring them
throughout the quarter.
Make-up exams can only be arranged at least 48 hours prior to the
exam, and only in extraordinary circumstances (which do not include having
other exams that day).
Assignments must be completed, and correctly turned in on time for
full credit - no exceptions, no extensions, no excuses.
IMPORTANT: All of the work you turn in for CS 8 must be your own,
personal work, or a sanctioned collaboration with your assigned lab partner.
The university's honor code
will be strictly enforced, and we may use an automated system to detect
plagiarism and collusion.