You're not currently signed in. Sign in »

CS 101

Introduction to Programming for Engineers and Scientists

N E Davis · Computer Science


What When and Where
Class URL
Instructor email
Class forum Piazza (for course announcements) · Discord (for labs and office hours)
Gradebook Compass
Syllabus PDF. For informational purposes only. This course website supersedes anything written there.
Orientation video MediaSpace · ClassTranscribe (includes transcript)

Software & Textbooks



In addition to the lesson notes, we refer you to two textbooks throughout the semester. These are optional, and I recommend getting the PDF through the library link rather than buying the hard copy.


There are four components to your course grade: lessons, homework, labs, and quizzes. Occasional extra credit may be offered.

Component Value per Assignment Total Value Explanation
Lessons 1% 25% The lowest four grades are dropped. (Lessons are due the week after they are assigned on Wednesday at 10 p.m. CT.) [We are going to adjust this slightly in your favor for online learning, pending discussion.]
Homework 2½% 25% The three lowest grades are dropped. (Homework is due Wednesdays at 10 p.m. CT.)
Lab/Discussion 2½% 25% Labs missed for an approved reason (medical or dean's note) may be made up until the end of the subsequent lab. The three lowest grades are dropped.
Quizzes 5% 25% Quizzes will be proctored by the CBTF.

Because we automatically drop several assignments in each category, CS 101 does not excuse absences or failure to complete assignments. Please plan to complete assignments early or before necessary travel. Labs may be made up during the next week with a doctor's note or travel letter.

Letter Grade Range Letter Grade Range Letter Grade Range
A+ $100+$ A $[93⅓,100)$ A- $[90,93⅓)$
B+ $[86⅔,90)$ B $[83⅓,86⅔)$ B- $[80,83⅓)$
C+ $[76⅔,80)$ C $[73⅓,76⅔)$ C- $[70,73⅓)$
D+ $[66⅔,70)$ D $[63⅓,66⅔)$ D- $[60,63⅓)$

We will use Compass as the official gradebook since we can aggregate grades from RELATE and labs there. If you see something different on Compass than RELATE, the Compass grade is what we think you actually have.



Lesson Lecture Date Due Date
lesson00 computation/intro 2020-08-24 2020-09-09
lesson01 python/intro 2020-08-26 2020-09-09
lesson02 python/types 2020-08-31 2020-09-09
lesson03 python/logic 2020-09-02 2020-09-09
lesson04 python/flow 2020-09-09 2020-09-16
lesson05 python/loops 2020-09-14 2020-09-23
lesson06 python/files 2020-09-16 2020-09-23
lesson07 python/dict 2020-09-21 2020-09-30
lesson08 python/memory 2020-09-23 2020-09-30
lesson09 python/error 2020-09-28 2020-10-07
lesson10 symbolics/algebra 2020-09-30 2020-10-07
lesson11 symbolics/calculus 2020-10-05 2020-10-14
lesson12 symbolics/physics 2020-10-07 2020-10-14
lesson13 numerics/plotting 2020-10-12 2020-10-21
lesson14 numerics/vector 2020-10-13 2020-10-21
lesson15 numerics/random 2020-10-19 2020-10-28
lesson16 numerics/matrix 2020-10-21 2020-10-28
lesson17 numerics/calculus 2020-10-26 2020-11-04
lesson18 numerics/equation 2020-10-28 2020-11-04
lesson19 numerics/brute 2020-11-02 2020-11-11
lesson20 numerics/greedy 2020-11-04 2020-11-11
lesson21 numerics/monte 2020-11-09 2020-11-18
lesson22 python/module 2020-11-11 2020-11-18
lesson23 matlab/intro 2020-11-16 2020-12-02
lesson24 matlab/text 2020-11-18 2020-12-02
lesson25 matlab/poly 2020-11-30 2020-12-09
lesson26 matlab/stats 2020-12-02 2020-12-09
lesson27 matlab/fit 2020-12-07 2020-12-09
lesson28 matlab/model 2020-12-09 2020-12-09

Lesson introductions and other videos are also available on MediaSpace with a backup mirror at ClassTranscribe. (ClassTranscribe currently appears to require multiple login attempts for the link to work.)


We anticipate that labs should meet synchronously (all together at their designated time). We will have course support staff to help you work through the projects in small groups.

Lab Week Of
lab00 computation 2020-08-24
lab01 formulae 2020-08-31
lab02 charts 2020-09-14
lab03 dna 2020-09-21
lab04 language 2020-09-28
lab05 physics 2020-10-05
lab06 encode 2020-10-12
lab07 nuclear 2020-10-19
lab08 decode 2020-10-26
lab09 debugging 2020-11-02
lab10 censorship 2020-11-09
lab11 earthquake 2020-11-16
lab12 life 2020-11-30


Homework Due Date
hw00 2020-09-09
hw01 2020-09-16
hw02 2020-09-23
hw03 2020-09-30
hw04 2020-10-07
hw05 2020-10-14
hw06 2020-10-21
hw07 2020-10-28
hw08 2020-11-04
hw09 2020-11-11
hw10 2020-11-18
hw11 2020-12-02
hw12 2020-12-09


Quiz Date Time
quiz0 2020-09-16 (Wed) 19h00–20h50 CT
quiz1 2020-10-07 (Wed) 19h00–20h50 CT
quiz2 2020-10-29 (Thu) 19h00–20h50 CT
quiz3 2020-11-16 (Mon) 19h00–20h50 CT
quiz4 2020-12-17 08h00–10h50 CT

Extra Credit Opportunities

Lab & Discussion Sections

Section Date & Time Teaching Assistant
AYA Mon 13h00–14h50 Dipayan
AYB Mon 15h00–16h50 Dipayan
AYC Mon 17h00–18h50 Pranav
AYD Tue 09h00–10h50 Bryan
AYE Tue 11h00–12h50 Stephanie
AYF Tue 13h00–14h50 Stephanie
AYG Tue 17h00–18h50 Rain
AYH Wed 13h00–14h50 Rain
AYI Wed 15h00–16h50 Priyank
AYJ Wed 17h00–18h50 Priyank
AYK Thu 09h00–10h50 Bryan
AYL Thu 11h00–12h50 Risha
AYM Thu 13h00–14h50 Risha
AYN Thu 15h00–16h50 Charlotte
AYO Fri 09h00–10h50 Pranav
AYP Fri 11h00–12h50 Irene
AYQ Fri 13h00–14h50 Irene
AYR Fri 15h00–16h50 Kartikeya
Makeup Thu 22h00–23h50 Kartikeya

Office Hours

Office Hours Queue »

Office hours are held to assist you in understanding course concepts and completing course assignments. You are also encouraged to ask questions on the course forum.

Office hours will begin the second week week of class.

Day Time Location
Mon 16h00–19h00 Online; check Piazza for instructions.
Tue 20h00–23h00 Online; check Piazza for instructions.
Wed 08h00–12h00 Online; check Piazza for instructions.
Fri 15h00–19h00 Online; check Piazza for instructions.

The Engineering CARE Center also has tutorial hours available for CS 101.

If you have spent more than two hours working on a problem and you can not see a way forward, post your code (not a screenshot!) privately to Piazza and include #twohours in the title. A TA will help you resolve your issues and be able to proceed.

Policies & Statements


Students should attend the lecture and lab section for which they registered, or they will receive a zero for that lecture attendance or lab. Several assignments will be dropped in each category, and exams are available over several days. Taken together, this means that almost no exceptions should need to be made for absences. Permitted exceptional absences require proof of extenuating circumstances. Official proof of absence needs to be in the form of a 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, notice of travel from an athletic team, etc.; religious or DRES-based exemptions should be handled as directed in their respective policy sections on this website. Special events may be taken into consideration only if we are contacted at least 72 hours in advance. In these exceptional cases, to request an absence, students shall email course administration If the request is for a lab absence, the TA of the lab section should also be copied on the email.

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 relatively 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).

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 (warning: DOCX file). 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.

Mental Health

Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do -- for yourself and for those who care about you.

Computer-Based Testing Facility

This course uses the College of Engineering Computer-Based Testing Facility (CBTF) for its quizzes and exams: The policies of the CBTF are the policies of this course, and academic integrity infractions related to the CBTF are infractions in this course. If you have accommodations identified by the Division of Rehabilitation-Education Services (DRES) for exams, please take your Letter of Accomodation (LOA) to the CBTF proctors in person before you make your first exam reservation. The proctors will advise you as to whether the CBTF provides your accommodations or whether you will need to make other arrangements with your instructor. Any problem with testing in the CBTF must be reported to CBTF staff at the time the problem occurs. If you do not inform a proctor of a problem during the test then you forfeit all rights to redress.

Sexual Misconduct Reporting Obligation

The University of Illinois is committed to combating sexual misconduct. Faculty and staff members are required to report any instances of sexual misconduct to the University’s Title IX Office. In turn, an individual with the Title IX Office will provide information about rights and options, including accommodations, support services, the campus disciplinary process, and law enforcement options.

A list of the designated University employees who, as counselors, confidential advisors, and medical professionals, do not have this reporting responsibility and can maintain confidentiality, can be found here:

Other information about resources and reporting is available here:

Family Educational Rights and Privacy Act (FERPA)

Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. See for more information on FERPA.

Anti-Racism and Inclusivity

The intent is to raise student and instructor awareness of the ongoing threat of bias and racism and of the need to take personal responsibility in creating an inclusive learning environment.

The GRainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) ( Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.