cs 4 Computer Science Bootcamp

cs 4 Computer Science Bootcamp

Summer B 2019
Department of Computer Science
University of California Santa Barbara

Course Information

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

  • Class Schedule: Tuesday, Wednesday, Thursday 9:30-10:50am
  • Classroom: Buchanan 1930
  • Instructor's Office Hours: Wednesday 2:00-4:00pm
  • Instructor's Office: Harold Frank Hall 1119

  • Lab Schedule:
    Tuesday 12:30-01:50pm, TAs: All
    Tuesday 02:00-03:20pm, TAs: All
    Tuesday 03:30-04:50pm, TAs: All
  • Lab: PHELPS 3525

  • Teaching Assistants:
    Chris Zhang (zhizhouzhang@ucsb.edu)
    Ashish Vyas (ashish@ucsb.edu)
  • TA Office Hours:
    Chris: Thursday 9:00-11:00
    Ashish: Friday 11:00am-01:00pm
  • TA Office Trailer Location: Trailer 936 Room 104

  • Please join the Piazza page for class discussions  
  • Check the class website and the Piazza page once a day

  • Slides and course notes are in the folder docx
  • Homework and Lab documents are in the folder hwlab

  • The grades: cs4.htm   (The Code is your PERM number mod 98773)  

Exams, Homework and Labs

  • The Midterm Exam will be in class during class time on Tuesday, Aug 27  
  • The Final Exam will be in class during class time on Thursday, Sep 12  
  • 2-pages of notes (both sides) are allowed during the Exams.
  • No makeup exam can be given under any circumstances.

  • We will have 6 Homework Assignments
  • Homework Assignments are due 5pm on Fridays
  • We will have 6 Labs
  • Some labs require reports, which are due 5pm on Wednesdays
  • Either, upload an electronic copy to a Dropbox folder (to be provided), or deliver a paper copy to the HW Box in HFH 2108. Electronic copy of your homework or lab report can be in Text, PDF or MS Word. You could also scan/pdf your handwritten work, however, do not submit small and/or low-resolution phone-camera images.

  • Lab Assignment 1: lab1.pdf - Lab day: Tuesday Aug 6
    This lab does not require a report. A demo to the TA is sufficient.

  • Lab Assignment 2: lab2.pdf - Lab day: Tuesday Aug 13
    This lab does not require a report. A demo to the TA is sufficient.

  • Lab Assignment 3: lab3.html - Lab day: Tuesday Aug 20
    This lab does not require a report. A demo to the TA is sufficient.

  • Lab Assignment 4: lab4.html - Lab day: Tuesday Aug 27
    This lab requires a report which is due 5pm Friday August 30.
    Dropbox Link for lab4

  • Lab Assignment 5: lab5.html - Lab day: Tuesday Sep 3
    This lab does not require a report. A demo to the TA is sufficient.

  • Lab Assignment 6: lab6.html - Lab day: Tuesday Sep 10
    This lab does not require a report. A demo to the TA is sufficient.

  • Homework Assignment 1: hw1.pdf - Due date: 5pm Friday Aug 9

  • Homework Assignment 2: hw2.pdf - Due date: 5pm Friday Aug 16

  • Homework Assignment 3: hw3.pdf - Due date: 5pm Friday Aug 23

  • Homework Assignment 4: hw4.pdf - Due date: 5pm Friday Aug 30

  • Homework Assignment 5: hw5.pdf - Due date: 5pm Friday Sep 6

  • Homework Assignment 6: hw6.pdf - Due date: 5pm Thursday Sep 12
    Dropbox Link for hw6

Catalog Specification

An introduction to computational thinking, computing, data management, and problem solving using computers, for non-majors ONLY. Topics include coding basics, representing code and data using a computer, and applications of computing that are important to society.

Weekly Course Plan

  • Lecture 01: Data Representation
    What is information? How do we represent information? What is data? Analog versus digital.
  • Lecture 02: Number Representation, Computation, and Storing
    History of number representation and calculation. Binary, decimal, and hexadecimal number systems. History of calculation and computers. Memory technologies.
  • Lecture 03: Representation of Text
    Representation of simple text and structured text. Text encoding standards: 7-bit and 8-bit ASCII, Unicode, and UTF-8.
  • Lecture 04: Iteration
    Iterative computations of sums and products. Computing sums of products and or products of sums. Computation of constants such pi or e.
  • Lecture 05: Recursion
    Fibonacci numbers. Recursive algorithmic paradigms. Fractals.
  • Lecture 06: Representation of Images
    Color, intensity, and pixels. Tradeoffs in representation. Image formats: headers, compression algorithms, Huffman coding. Image watermarking.
  • Lecture 07: Representation of Sound and Music
    Analog sound and digital sound. Sampling and quantization. Digitized music and distortion. Sound compression and decompression.
  • Lecture 08: Hiding Information and Cryptography
    Securing private information using encryption. How to determine with whom we are talking on the Internet. Proving identity and digital signatures.

Course Material

A printed book is not needed or required. In addition to the course slides, online resources particularly those on python.org page are sufficient for this course.

Grading Rules

  • Lab Participation and Reports: 25 %
  • Homework Assignments: 25 %
  • Midterm Exam: 20 %
  • Final Exam: 30 %

Academic Integrity at UCSB  

Dr. Çetin Kaya Koç