CS 8 Introduction to Computer Science

CS 8 Introduction to Computer Science

Summer Session B 2016 - EnrlCd 02832
Department of Computer Science
University of California Santa Barbara

Course Information

  • Instructor: Professor Çetin Kaya Koç         → Koç is pronounced as "Coach"  

  • Class Room: Broida 1640
  • Class Schedule: Tuesday, Wednesday, Thursday 11:00-12:20
  • Koç Office Hours: Tuesday 2:00-5:00pm
  • Koç Office: HFH 1119

  • Teaching Assistants:
    Aditya Hemanth (hemanth.aditya93@gmail.com)
    Can Kizilkale (kizilkalecan@gmail.com)
    Shiyu Ji (shiyucsucsb@gmail.com)

  • Lab: Phelps 3525
  • Lab Schedule and TAs:
    Friday 11:00am-12:20pm, EnrlCd: 02849 -- TAs: Aditya and Can
    Friday 12:30pm-1:50pm, EnrlCd: 02857 -- TAs: Aditya and Shiyu
    Friday 2:00pm-3:20pm, EnrlCd: 02865 -- TAs: Can and Shiyu

  • TA Office: Trailer 936 Room 104
  • TA Office Hours:
    Wednesday 3:00-5:00pm: Aditya
    Thursday 3:30-5:30pm: Shiyu
    Friday 3:30-5:40pm: Can

  • 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 hwexpa  
  • IDLE transcripts and Python programs created during lectures are in the folder idle  

  • The grades: cs8SummerB016.htm
    (The Code is your PERMNumber mod 98773; in Python: Code = PERMNumber % 98773)

Midterm and Final Exams

There will be one Midterm Exam and one Final Exam.
The Midterm Exam is on Tuesday, August 30 at 11:00am-12:20pm.  
The Final Exam is on Thursday, September 8 at 11:00am-12:20pm.  

2-pages of notes (cheat sheet) are alllowed during the Exams.
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 Thursdays 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. However, low-resolution or unreadable files are not accepted.
  • Homework Assignment 1:   hw1.html - due 5:00pm Thu Aug 4
  • Homework Assignment 2:   hw2.html - due 5:00pm Thu Aug 11
  • Homework Assignment 3:   hw3.html - due 5:00pm Thu Aug 18
  • Homework Assignment 4:   hw4.html - due 5:00pm Thu Aug 25
  • Homework Assignment 5:   hw5.html - due 5:00pm Tue Sep 6
No late hw is accepted.

Programming Assignments

We will have one programming assignment every week. The programming assignments are due before 10:00pm on Fridays 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+submit.pdf. Programming Assignments are submitted only as Python files (with py suffix), such as pa1.py.
  • Programming Assignment 1:   pa1.html - due 10:00pm Fri Aug 5
  • Programming Assignment 2:   pa2.html - due 10:00pm Fri Aug 12
  • Programming Assignment 3:   pa3.html - due 10:00pm Fri Aug 19
  • Programming Assignment 4:   pa4.html - due 10:00pm Fri Aug 26
  • Programming Assignment 5:   pa5.html - due 10:00pm Wed Sep 7
No late pa is accepted.
A challenge Programming Assignment: Write a turtle program that will run on a loop and create the following moving image challenge.gif 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 Friday Sep 9   Closed ..

Weekly Course Plan

  • Week1: Computer Science. Computer Systems and Terminology. Python Programming Language. Computational Thinking. Integers and Real Numbers. Binary and Hexadecimal Numbers. Algebraic Expressions. Boolean Expressions. Sections 1.1-1.4 and 2.1]

  • Week2: Expressions, Variables, and Assignments. Strings. Lists and Tuples. Objects and Classes. Python Standard Library. Modules: math and fractions. [Sections 2.1-2.5]

  • Week3: Python Programs. Execution Control Structures. User Defined Functions. Python Variables and Assigments. Parameter Passing. Turtle Graphics (Case Study 2, 3). [Sections 3.1-3.5]

  • Week4: Text Data and Strings. Formatted Output. Reading and Writing in Files. [Sections 4.1-4.3]

  • Week5: Decision Control and if Statement. for Loop and Iteration Patterns. More on Lists: Two-Dimensional Lists. while Loop and Loop Patterns. break, continue, pass Statements. [Sections 5.1-5.6]

  • Week6: Dictionaries. Sets. Character Encodings and Strings. Image Processing (Case Study 5). Module: random. Monte Carlo Methods. [Sections 6.1-6.4]

Course Related Links


  • L. Perkovic. Introduction to Computing Using Python, 2nd Edition, Wiley, 2015.   URL

Grading Rules

  • Programming Assignments: 30 %
  • Homework Assignments: 20 %
  • Midterm Exam: 25 %
  • Final Exam: 25 %

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ç