CS 8 Introduction to Computer Science
Department of Computer Science
University of California Santa Barbara
http://koclab.cs.ucsb.edu/teaching/cs8
Course Information
- Instructor: Professor Çetin Kaya Koç
→ Koç is pronounced as "Coach"
- Class Schedule: Tuesday, Wednesday, Thursday 2:00-3:20pm
- Class Room: TD-W (Theater/Dance West) 1701
- Koç Office Hours: Thursdays 4:00-6:00pm
- Koç Office: HFH 1119
- Teaching Assistants:
Yi Ding (yding@ucsb.edu)
Yanju Chen (yanju@cs.ucsb.edu)
Boyuan Feng (boyuan@cs.ucsb.edu)
Chandler Forrest (chandlerforrest@ucsb.edu)
- Lab: Phelps 3525
- Lab Schedule and TAs:
Monday 9:30-10:50am, EnrlCd: 02717 -- TAs: Yanju and Chandler
Monday 11:00am-12:20pm, EnrlCd: 02725 -- TAs: Yanju and Chandler
Monday 12:30-1:50pm, EnrlCd: 02733 -- TAs: Boyuan and Yanju
Monday 2:00-3:20pm, EnrlCd: 02741 -- TAs: Yi and Boyuan
Monday 3:30pm-4:50pm, EnrlCd: 16527 -- TAs: Yi and Boyuan
- TA Office: Trailer 936 Room 104
- TA Office Hours:
Tuesday 9:00-11:00am Yanju
Thursday 10:00am-12:00pm Chandler (at CSIL)
Friday 10:00am-12:00pm Boyuan
Friday 12:00-2:00pm Yi
- Please join the
Piazza
page for class discussions.
←
- Check the class website and the Piazza page once a day.
- Slides and other course information are in the folder
docx
←
- Homework and Programming Assignments are in the folder
hwpa
←
- IDLE transcripts and Python programs created during lectures
are in the folder idle
←
- The grades: cs8.htm
(The Code is your PERMNumber mod 98773;
in Python: Code = PERMNumber % 98773)
Final Exam
The Final Exam is on Thursday, September 13 at 02:00pm-03:20pm.
←
2-pages of notes (both sides) are alllowed during the Exam.
No makeup exam can be given under any circumstances.
Homework Assignments
We will have one homework assignment every week.
The homework assignments are due before 5:00pm on Fridays
via Dropbox (a link will be available for every hw).
You can write your homework assignment in TextEdit, MS Word, MacOS Pages, or
any other editor, however only Text or PDF should be submitted.
You could scan/pdf your handwritten work, and submit the
resulting PDF file. Low-resolution or unreadable
files are not accepted. Late hw is not accepted.
- Homework Assignment 1: hw1.html
- due 5pm Fri Aug 10
- Homework Assignment 2: hw2.html
- due 5pm Mon Aug 20
- Homework Assignment 3: hw3.pdf
- due 5pm Mon Aug 27
- Homework Assignment 4: hw4.pdf
- due 5pm Tue Sep 4
- Homework Assignment 5: hw5.pdf
- due 5pm Tue Sep 11
Note: Only questions 1, 3, 5, 7 will be graded
Programming Assignments
We will have one programming assignment every week.
The programming assignments are due before 10:00pm on Tuesdays
via Dropbox (a link will be available for every pa).
Detailed information about Python's native programming environment
(called IDLE) and the creation and submission of programming assignments
is found here: idle.pdf.
Programming Assignments are submitted only as Python files
(with py suffix), such as pa1.py.
Late submission is not accepted.
- Programming Assignment 1: pa1.html
- due 10pm Tuesday Aug 14
- Programming Assignment 2: pa2.html
- due 10pm Tuesday Aug 21
- Programming Assignment 3: pa3.html
- due 10pm Tuesday Aug 28
- Programming Assignment 4: pa4.html
- due 10pm Wednesday Sep 5
- Programming Assignment 5: pa5.html
- due 10pm Wednesday Sep 12
Challenge Programming Assignment: Write a turtle program that will
run on a loop and create the following moving image
CrazyCircle.mp4 as closely as
possible. This will give you 10% extra point on your total percentage.
You can ask me questions (by posting on Piazza) as you write your
code. Deadline: 5pm Monday Sep 10
Weekly Course Plan
- Week1:
Problems and Abstraction;
Algorithms and Programs;
Efficient Algorithms;
Arithmetic;
Using Functions;
Binary Arithmetic;
(Chapters 1 and 2)
- Week2:
Data Abstraction;
Visualization with Turtles;
Functional Abstraction;
Programming in Style;
A Return to Functions;
Scope and Namespaces;
(Chapter 3)
- Week3:
Discrete Models;
Visualizing Population Changes;
Conditional Iteration;
Continuous Models;
Numerical Analysis;
Summing Up;
(Chapter 4)
- Week4:
Random Walks;
Pseudorandom Number Generators;
Simulating Probability Distributions;
Back to Booleans;
A Guessing Game;
(Chapter 5)
- Week5:
Counting words;
Text Documents;
Encoding Strings;
Lineartime Algorithms;
Analyzing Text;
Comparing Texts;
Genomics;
Summarizing Data;
Creating and Modifying Lists;
Frequencies, Modes, and Histograms;
Reading Tabular Data;
(Chapters 6 and 8)
- Week6:
Two-Dimensional Data;
The Game of Life;
Digital Images;
Fractals;
Recursion and Iteration;
The Mythical Tower of Hanoi;
Recursive Linear Search;
Divide and Conquer;
(Chapters 9 and 10)
Course Related Links
Textbook
- J. Havill.
Discovering Computer Science, CRC Press, 2015.
URL
Grading Rules
- Programming Assignments: 30 %
- Homework Assignments: 30 %
- Final Exam: 40 %
Catalog Specification
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.
Prerequisite Rules
Not open for credit to students who have completed Computer
Science 16 or Engineering 3.
CS 8 is a legal repeat for CMPSC 5AA-ZZ.
Academic
Integrity at UCSB ←
Dr. Çetin Kaya Koç
|