| CS 8 Introduction to Computer ScienceDepartment of Computer ScienceUniversity 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 RulesNot 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ç 
 |