Wade Fagen, Ph.D., Illinois '13
2215 Siebel Center for Computer Science
Martin Hellwig
2209 Siebel Center for Computer Science

Course Coordinator

Jillian Zwilling, jzwilli2@
2105 Siebel Center for Computer Science

Teaching Assistants

  • Avinash Ahuja, aaahuja2@
  • Ankit Bhardwaj, abhardw3@
  • Haoyan Cai, hcai6@
  • Vedhus Hoskere, hoskere2@
  • Chinmay Kulkarni, ckulkarn@
  • Sihan Li, sihanli2@
  • Peyman Mahdian, mahdian2@
  • Sandeep Murthy, srmurth2@
  • Richa Sehgal, rsehgal2@
  • Yidan Sun, ysun69@
  • Sally Zhang, zhang349@
  • Chi Zhou, chizhou3@

Course Assistants

  • Tim Krock (Lead CA)
  • Ashley Simon (Lead CA)
  • Jake Akstins
  • Ali Alagha
  • Reid Butler
  • Brianna Collender
  • Ryan Eifert
  • Emma Lazar
  • Emilee Noh
  • Jordyn Kass
  • Cynthia Qi
  • Caroline Breckenfelder
  • Leah Lach
  • Emily Chou
  • Coco Wang
  • Lexi Grochowski
  • Emma Moore
  • Piotr Chmielewski
  • Eric Chai

All addresses are
All office hours are listed on the Getting Help / Contact page

Course Description

Introduction to basic concepts and applications in Computer Science. Emphasis on an understanding how a computer "thinks" through algorithms, data manipulation, and simple programs. Application of computation-based tools such as spreadsheets and databases. Intended for non-engineering majors.

Topics Covered

  • Programming
    • Overview of an algorithm
    • Variables, conditionals, and looping
    • Abstraction and function calls
    • Arrays, searching, and sorting
    • Security and encryption
  • Data Use and Manipulation
    • Data Conversion: XML, CSV, TXT, and others
    • Data Manipulation
    • Excel functions: SUMIF, VLOOKUP, etc
  • Data Visualization
    • JSON data representation, d3.js

Languages and Tools

  • Scratch
  • JavaScript
  • HTML / CSS
  • Microsoft Excel
  • d3.js

Required Materials


There is one midterm exam and one comprehensive final exam. The final exam is during the Univeristy-scheduled time slot during finals week.

Conflict exams will be available for students that have a conflict as outlined in the student code. Conflict exam signups will start about two weeks before the exam and end one week before the exam date.

Midterm Exam

Monday, October 12, 2015
7:30pm - 9:00pm
Location: TBA

Final Exam

Thursday, December 17, 2015
1:30pm - 4:30pm
Location TBA


There is a total of 1,000 points available in this course, plus opportunities to gain small amounts of extra points (called +1 problems). The distribution of the 1,000 points are as follows:

Exams, 350 points

Machine Problems (MPs) and Projects, 350 points

Weekly Assignments, 300 points

Course Grade

Your final course grade will be determined by the number of points you have based on the following scale:

Points Earned Final Grade Points Earned Final Grade Points Earned Final Grade
970+A+ 930-969A 900-929A-
870-899B+ 830-869B 800-829B-
770-799C+ 730-769C 700-729C-
670-699D+ 630-669D 600-629D-

Academic Integrity

Cheating is taken very seriously in CS 105 and all cases of cheating will be brought to the University, your department, and your college. You should understand how academic integrity applies to Computer Science courses. Note that the recommended sanctions for cheating on a programming assignment includes a loss of all points for the assignment and that the final course grade is lowered by one whole letter grade (100 points on the CS 105 scale).

With the exception of the final project and labs, your work in this class must be your own. This means that:

The only acceptable way to help a friend with CS 105 is to be in the same place looking at their computer screen and allowing them to type.

Additionally, you are responsible for protecting your work. In the past, we had cases of copying solutions from other students without their knowledge. To avoid having your work copied without your knowledge: