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

Teaching Assistants

  • Shikha Aggarwal, saggrwl3@
  • Shelley Goel, sgoel3@
  • Kyle McKiou, kmckiou2@
  • Yidan Sun, ysun69@
  • Guy Tal, guytal2@
  • Kyle Tsai, ktsai6@
  • Kai Zhao, zhaok@

Course Assistants

  • TBA

Course Description

Computing as an essential tool of academic and professional activities. Functions and interrelationships of computer system components: hardware, systems and applications software, and networks. Widely used application packages such as spreadsheets and databases. Concepts and practice of programming for the solution of simple problems in different application areas. Intended for non-science and non-engineering majors.

Topics Covered

  • Programming
    • Variables, arrays, conditionals, and looping
    • Overview of an algorithm
    • Security and encryption
    • Sorting
    • Abstraction
  • Data Use and Manipulation
    • Data Conversion: XML, CSV, TXT, and others
    • Data Manipulation: JavaScript and Excel
    • Excel functions: SUMIF, VLOOKUP, etc
  • Web Development

Languages and Tools

  • Scratch
  • JavaScript
  • HTML
  • CSS
  • AJAX
  • Microsoft Excel

Required Materials


There are two midterm exams and one comprehensive final exam. The midterm exams are 90-minute evening exams that are held from 7:00pm - 8:30pm. The final exam is during the Univeristy-scheduled time slot during finals week.

Midterm #1

Tuesday, March 4, 2014
7:00pm - 8:30pm

Midterm #2

Tuesday, April 15, 2014
7:00pm - 8:30pm

Final Exam

Wednesday, May 14, 2014
1:30pm - 4:30pm


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, 500 points

Machine Problems (MPs) and Projects, 340 points

Weekly Assignments, 160 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.

You are a respected individual in a community of collegiality and trust. We honor and believe your word. We trust what you say and will generally not ask for proof. However, with trust comes responsibility. Violation of trust will not be tolerated. In particular, acts not befitting this community such as cheating (e.g., collaboration on homeworks or exams that are not meant to be collaborative) fall in the category of violation of trust. Individuals who commit such acts will lose the privileges of trust and receive grade reductions as described above.

With the exception of the final project, your work in this class must be your own. Your work must be a result of individual work. 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, refrain from leaving source code prints lying around the lab, protect your files, don't give your passwords to anyone, and enter your passwords in a way that cannot be seen by others. Do not leave a login session active on an unattended workstation.

It is certainly reasonable to speak to others about the lecture, readings, or lab work. It is also reasonable to speak in broad terms about assignments, but it is UN-reasonable to share flow-charts, algorithms, "pseduo-code", or speaking in technical terms about an assignment. It is reasonable to share or post one or two lines of code from your program to have help finding a bug in your code. It is UN-reasonable to post an entire function or the full program publicly.