CS199 LBP - Little Bits to Big Ideas - Spring 2007

Lecture: MWF 10:00-10:50 pm, Room 1304 Siebel Center
Weekly Labs: Wed 5:00 - 7:00 p.m.


Class Wiki: Permanently Under Construction

Instructor: Lenny Pitt, 3230 Siebel Center (pitt@cs.uiuc.edu).
Office Hours (tentative): Monday and Wednesday 10:50 - 11:40, Friday 1:30 - 2:30.

Teaching Assistant: Nitish Korula, 3240 Siebel Center (nkorula2@uiuc.edu).
Office Hours (tentative): Tuesday and Thursday 10:30 - 11:30.

Textbook: Computer Science Illuminated, 3rd Edition by Dale and Lewis.

Other Stuff:

Latest Announcements:

May 4:
Exam 1 and Exam 2 contain questions from the old material similar to those that may appear on the final.

May 4:
The Final Exam will be held on Wednesday, May 9, at 7 p.m. in 1304, Siebel Center (our regular classroom).

Lecture Schedule and Notes

Date Topics (with Links to Notes) Labs Assignments
Wed May 2 Review of Course Material - -
Mon Apr 30 Guest lecture on Bioinformatics by Saurabh Sinha. - -
Fri Apr 27 Computer Networks - -
Wed Apr 25 Finishing databases, and Introduction to Networks. Databases Lab -
Mon Apr 23 Building Databases: the Ski Lodge example. - -
Fri Apr 20 Introduction to Databases (See handout.) - Homework 4
Wed Apr 18 Search Trees and Game Trees Artificial Intelligence -
Mon Apr 16 More Expert Systems - -
Fri Apr 13 Classification and Expert Systems - -
Wed Apr 11 Review of Learning. Generalizing and Specializing.
(See handout for all AI material.)
Mid-term 2 -
Mon Apr 9 Guest Lecture on Computer Vision by David Forsyth. - -
Fri Apr 6 Introduction to Artificial Intelligence, and Learning. - -
Wed Apr 4 Undecidability and the halting problem Intelligence -
Mon Apr 2 Problems that seem to only have inefficient solutions
(Steiner Tree and Dominating Set handouts.)
- -
Fri Mar 30 Complexity of different problems - Homework 3
Wed Mar 28 More File Sytems and Limitations of Computing. Limitations of Computing -
Mon Mar 26 File Systems. - -
Fri Mar 16 More Operating Systems: Deadlocks, resource management,
and Processor scheduling.
- Homework 3
Wed Mar 14 Introduction to Operating Systems Image manipulation with Python -
Mon Mar 12 Graph Coloring, with applications.
Zero-Knowledge proofs.
(Graph Coloring handouts 1 and 2)
- -
Fri Mar 9 Engineering Open House! - -
Wed Mar 7 Shortest paths in Graphs and graph coloring. More programming with Python -
Mon Mar 5 More Graph algorithms. Minimum Spanning Trees
and Breadth-first search.
- -
Fri Mar 2 Arrays and Graphs, Minimum Spanning Trees.
(Muddy City Handout)
- -
Wed Feb 28 Binary Search and Code for Sorting Algorithms Programming with Python -
Mon Feb 26 Stepping through an algorithm: GCD
and introduction to Binary Search
- -
Fri Feb 23 Sorting larger sets: the BubbleSort algorithm
(See textbook.)
- -
Wed Feb 21 Introduction to Programming and Algorithms:
Assignments, Swaps and Sorting

(See textbook.)
Inside a Computer and Blogging -
Mon Feb 19 Writing Machine language Programs and Stored programs - -
Fri Feb 16 Inside the CPU: Control and ALU.
Introduction to Machine Language.
- -
Wed Feb 14 Snow day: No Class - -
Mon Feb 11 Parts of a Computer:
Memory, Input/Output, Bus, CPU
- -
Fri Feb 9 Review, Sequential circuits. - Homework 2
Wed Feb 7 Review of 2-bit binary adders
The Sum-of-Product techniques
Gates and Circuits Tasks 5,6 & 10 from lab
Web Quiz 3 (Compass)
Mon Feb 5 Constructing gates using transistors.
XOR, NAND and NOR gates, a 2-bit binary adder.
- -
Fri Feb 2 Introduction to digital logic and basic gates. - -
Wed Jan 31 Representing images. Introduction to sound, and manipulating images Homework 1
Mon Jan 29 Text compression - -
Fri Jan 26 Text representation, ASCII and Unicode.
Parity and introduction to Compression
- Web Quiz 2 (Compass)
Wed Jan 24 Negative and Real numbers in Binary Representing colors, and introduction to HTML -
Mon Jan 22 Binary numbers and arithmetic - -
Fri Jan 19 Data Representation and Binary numbers - Web Quiz 1 (Compass)
Wed Jan 17 Introduction and administrivia.
Data Representation
Wikis and blogging -

Older Announcements:

April 25:
Genetic Algorithms Assignment due in lab this evening

April 23:
Blogging assignment due by Monday, April 23rd.

April 21:
Homework 4 is now available, and due on Monday, April 30th.

April 4:
Mid-term 2 will be held during lab on April 11th. We will have a review session on Monday evening.

March 29:
Homework 3 has been slightly modified. The deadline has been extended to Wednesday, April 4.

March 20:
Homework 3 is now available. It is due on Monday, April 2.

March 2:
Mid-term 1 will be on Tuesday evening, between 6 and 7 p.m., OR between 7 and 8 p.m. Please email Nitish to tell him when you will be taking the exam.

March 2:
There will be a review session for the exam in our regular classroom (1304, Siebel Center) at 4:30 p.m. on Sunday, March 4th.

February 28:
Let us know when you cannot take the exam by filling out the wiki exam page.

February 10:
Homework 2 is now up. It's due on Friday, February 16.

February 9:
Web Quiz 3, on digital logic is available on Compass, and due by Wednesday. Also due by Wednesday are solutions to tasks 5,6 and 10 from lab 4.

February 7:
Lab 4, on digital logic.

January 31:
Lab 3, on image and sound manipulation.

January 27:
The second web quiz is available on Compass. As with the first, you may re-take it once.

January 24:
Lab 2, on representing colors and HTML.

January 19:
The first web quiz is available on Compass. Please take it after reading Chapter 2 of the textbook. You may re-take it ONCE after you submit it, but make sure you submit it by Wednesday, the 24th of January.

January 12:
Happy New Year, and Welcome to CS 199!

General Information

This course gives a broad introduction to Information and Computer Technology. The nature, capabilities, and limitations of computing will be explored via topics ranging from the way data is represented and stored, to the way today's computers work, to the general ideas of algorithms and computational efficiency, to the future of computing. "Great Ideas" across various areas of the field will be covered, including, for example, cryptography and internet security, recursive problem solving, modeling and simulation, and artificial intelligence, among others.

In addition to class meetings, students must take a weekly 2-hour laboratory. The lab sessions will augment the weekly material with coordinated explorations, as well as focus on gaining practical skills such as web-page/blog building, use of multimedia, database design and query languages, and simple programming exercises in a high-level language. This course is not a programming course.

This course is a pilot of a course to be part of the core requirements of a proposed new UIUC campus-wide Informatics Minor. Once the minor is established, students who have taken this course will receive credit towards fulfillment of the minor. The course is pending approval for general education credit under the Natural Sciences / Physical Sciences category, and as a "Quantitative 1" course.

This course is designed for NONMAJORS, and is intended to be accessible to students from all backgrounds. CS and ECE students will not receive credit for this course!

Students interested in additional information, please contact Lenny Pitt via email.

Workload and Evaluation:

There will be weekly readings from the text and occasional other sources from the web, weekly web-quizzes covering basic understanding, occasional homework, projects done in lab sessions, two midterm exams and one final exam. Grading will be quasi-curved; details will be explained in class, and are also available on the course info page.