You're not currently signed in. Sign in »

CS 101—Introduction to Computing for Engineering and Science


What When and Where
Lectures Mon/Wed 09h00–09h50; Foellinger Auditorium
Labs Per-section, see below; L416 Digital Computer Laboratory
Class URL
Class forum Piazza » Enroll (one time) »
Instructor email
Python Run online » Install (3.5) » Practice »
MATLAB Run online » Install MATLAB » Install Octave » Practice »


Lecture Date Supporting Resources
Python Basics
Lecture #1: introduction 2016-08-22
Lecture #2: literals, variables 2016-08-24 Notebook
Lecture #3: data types (int, float, str) 2016-08-29
Lecture #4: string formatting, functions 2016-08-31 Python session
Lecture #5: methods, coding 2016-09-07 Notebook
Lecture #6: functions, conditionals 2016-09-12
Lecture #7: lists, while loops 2016-09-14 Python session
Lecture #8: branched conditionals, for loops, range 2016-09-19 Python session + homework commentary
Lecture #9: mutability, list and string methods 2016-09-21 Python session
Lecture #10: multidimensional indexing, file operations 2016-09-26 words.txt, numbers.txt
Lecture #11: dictionaries, mutable arguments 2016-09-28 Jeopardy example, jeopardy.csv
Python Applications
Lecture #12: workflow, csv, requests 2016-10-05 plankton example · plankton.csv · autos.csv · odyssey.txt
csv module · requests module · sorting dicts
Lecture #13: zip, enumerate, permutations 2016-10-10 zip function · enumerate function · permutations function
Lecture #14: debugging, style 2016-10-12 · ·
debugging handout
Numerical Python
Lecture #15: numpy, matplotlib 2016-10-19 Notebook · inflammation.csv · axis diagram
Software Carpentry NumPy lesson notes
Lecture #16: modeling 2016-10-24 (code in slides)
Lecture #17: modeling & numerical error 2016-10-26
Lecture #18: randomness 2016-10-31 nouns.txt · adjectives.txt · names.txt · verbs.txt ·
Lecture #19: optimization (brute force) 2016-11-02
Lecture #20: optimization (heuristic) 2016-11-07 · ·
Lecture #21: error handling 2016-11-09
Lecture #22: MATLAB basics 2016-11-16 MATLAB handout
Lecture #23: MATLAB I/O, functions 2016-11-28 rabbit-bw.jpg · knight-grey.jpg · duck-color.jpg
Lecture #24: MATLAB statistics 2016-11-30 brexit.csv · brexit.m · lhs.m
Lecture #25: MATLAB regression 2016-12-05 examples.m
Lecture #26 2016-12-07


Homework assignments are due at 6:00 p.m. on the due date.

Due 2016-08-31

Due 2016-09-09

Due 2016-09-16

Due 2016-09-23

Due 2016-09-30

Extra Credit
Due 2016-09-30

Due 2016-10-07

Due 2016-10-17

Extra Credit
Due 2016-10-14

Due 2016-10-24

Due 2016-10-31

Due 2016-11-11

Due 2016-11-28

Extra Credit
Due 2016-12-02

Due 2016-12-07
Join via email if necessary.

Python Installation

Although we can't provide technical support in setting up your personal machine, if you decide to install Python we warmly recommend using Anaconda Python 3.5.


All labs meet in L416 Digital Computer Laboratory.

You should attend your own lab section to complete and submit assignments. Exceptions must be approved in advance.

Section Lab Time TA
AYA Mon 11h00–12h50 Ritwika Ghosh
AYB Mon 13h00–14h50 Wajih Ul Hassan
AYC Mon 15h00–16h50 Ritwika Ghosh
AYD Tue 09h00–10h50 Siddharth Atreya
AYE Tue 11h00–12h50 Neetesh Sharma
AYF Tue 13h00–14h50 Neetesh Sharma
AYG Tue 15h00–16h50 Chaoqun Liu
AYH Wed 11h00–12h50 Lunan Li
AYI Wed 13h00–14h50 Hong Cheng
AYJ Wed 15h00–16h50 Lunan Li
AYK Thu 09h00–10h50 Anusri Pampari
AYL Thu 11h00–12h50 Wajih Ul Hassan
AYM Thu 13h00–14h50 Siddharth Atreya
AYN Thu 15h00–16h50 Chaoqun Liu
AYO Fri 09h00–10h50 Anusri Pampari
AYP Fri 11h00–12h50 Anand Bhattad
AYQ Fri 13h00–14h50 Hong Cheng
AYR Fri 15h00–16h50 Anand Bhattad

Lab queue »


Please bring your I-Card and arrive early. Consider visiting the location ahead of time so you know where you'll be taking the examination. Midterm exams will consist of 30 questions for 60 minutes.

Exam Date Supporting Resources
Midterm #1 Monday, October 3 (7:00–8:00 p.m.) Practice midterm; locations below
Midterm #2 Monday, November 14 (7:00–8:00 p.m.) (Begins sharply at 7:00!) Practice midterm; Answers; locations below
Final Friday, December 16 (8:30–10:30 a.m.) (120 minutes) Practice final; Answers

Conflict exams are available for students with approved exceptions (such as another exam at the same time). Email course administration prior to the date of the midterm for more information, including the course number of the conflicting class.

Office Hours

All office hours will be held in 0222 Siebel Center.

Office Hours
Mon 11h00–13h00
Thu 14h00–19h00
Fri 13h00–15h00

Office hours queue »



Component Fraction of Total Notes
Homework 20% Lowest grade dropped
Labs 25% Lowest grade dropped
Lecture quiz 10% Participation-based; can drop three
Midterms 20%
Final 25% Comprehensive

Absence Policy

Students should attend the lecture and lab section for which they registered, or they will receive a zero for that lecture attendance or lab. Permitted absences require proof of overriding considerations. Official proof of absence need to be in forms of doctor's note or letter provided by an authority that clearly states that the purpose of the letter is to prove absence; examples include a doctor's note, travel proof from an athletic team, etc. Special events might be taken into consideration only if it was contacted at least 72 hours in advance. To request for absence, students shall email course administration If the request is for a lab absence, the TA of the lab section should also be cc'd.

When a student has a permitted absence for lab, make-up labs will be arranged. Make-up labs will be held in office hours under supervision of a course TA.

Academic Integrity

Cheating not only robs you of an opportunity to learn, it also devalues your peers' hard work. Because of this, we take cheating very seriously in this course. The first case of cheating will result in a zero on the assignment or exam. The second case of cheating will result in a zero for the course. We will also report instances of cheating to the college and to your department.

Plagiarism is also very easy to detect in a programming class. Do not take shortcuts. Always do your own work. Note that we encourage discussion on course content. However, please write answers/codes to homework and lab assignments on your own (unless in some labs when you are instructed by your TA to complete assignments in pairs or groups).

Our philosophy in this course is based on the fact that (in real life) most of the time you have access to many resources: websites, peers, mentors, books, and others' source code. Your competence will be greatly increased by the resources you can use without recourse to external references, but when learning it only makes sense to let you function in a realistic manner. Thus, for lab exercises and assignments, you should work alone unless told otherwise, but you may consult outside sources of information. Any consultation is subject to the following restrictions: (1) you may not copy that source's work verbatim (i.e., ALWAYS write YOUR OWN code!); and (2) you must cite all sources used and the contribution they made to your work. This policy is designed to protect you against plagiarism.

You must also protect your own work from plagiarism. If you allow your peers to copy your work, you could end up with academic dishonesty. Do not send solutions to your peers. Do not show them your solution. Do not give out your account passwords. Do not leave your login sessions active.

Religious Observance

Illinois law requires the University to reasonably accommodate its students’ religious beliefs, observances, and practices in regard to admissions, class attendance, and the scheduling of examinations and work requirements. This policy outlines the procedure that students should follow in requesting an accommodation. The policy attempts to strike a reasonable balance between accommodating religious observances of students and meeting the academic needs and standards of the University. Please complete the Request for Accommodation for Religious Observances form. This form should be submitted by the student to the professor of the course and the Office of the Dean of Students by the end of the second week of the course in the semester in which the request applies.

Disability Resources and Educational Services (DRES)

To insure that disability-related concerns are properly addressed from the beginning, students with disabilities who require assistance to participate in this class are asked to contact course administration as soon as possible. Please include a copy of your DRES accommodations letter.