You're not currently signed in. Sign in »

CS 101

Introduction to Programming for Engineers and Scientists

Ruby Tahboub · Computer Science
Mattox Beckman · Computer Science


What When and Where
Lecture M,W
In-Person Labs Per-section, see below; L416 Digital Computer Laboratory
TA Office Hours see below; 0224 Siebel Center for Computer Science; Discord Link
Class URL
Enrollment Course catalog
Instructor email
Class forum Campuswire
Python Run online » Install (3.7 or higher) » Practice »
MATLAB Run online » Purchase » Practice »
Gradebook RELATE Gradebook »

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 a hard copy.


There are four components to your course grade: lessons, homework, labs, and the project. Occasionally extra credit will be offered.

Component Value per Assignment Total Value Explanation
Lessons 1% 25% There are 28 lessons total; the lowest three grades are dropped. (Lessons are due the week after they are assigned on Wednesday at 10 p.m. CT.)
Homework 2½% 30% There are thirteen homeworks total; the lowest grade is dropped. (Homework is due Wed 10 p.m. CT.)
Lab/Discussion 2½% 25% There are eleven labs total; the lowest grade is dropped.
Project variable 20% There will be several project milestones and a final report.

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. See the absence policy for more information.

When possible, we permit a late period for you to complete a missed assignment eligible for 50% credit. (This may not available the case around holidays, breaks, and the end of the semester.) Please read directions on each assignment carefully when you start a session to make sure that it's eligible for the credit you expect.

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⅓)



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

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


There will be a project with components spanning the semester. More information will be communicated at the appropriate time.

There are several project working days scheduled in lab; you should not use these as your only working days, of course, but as a targeted opportunity to talk through your project approach and challenges with course staff.

Project Component Due Date (10 p.m.)
Progress Report 1.1) 2022-09-30
Milestone #1 2022-10-14
Peer Evaluation #1 2022-10-16
Progress Report 2.1 2022-10-28
Progress Report 2.2 2022-11-04
Progress Report 2.3 2022-11-11
Milestone #2 2022-11-18
Peer Evaluation #2 2022-11-21
Milestone #3 2022-12-12
Peer Evaluation #3 2022-12-14

All submissions for the project will be done on Gradescope.


Lab Week Of
(no lab) 2022-08-22
lab00 orientation 2022-08-29
(no lab) 2022-09-05
lab01 formulae 2022-09-12
lab02 complex 2022-09-19
lab03 dna 2022-09-26
lab04 language 2022-10-03
lab05 encode 2022-10-10
lab06 nuclear 2022-10-17
lab07 decode 2022-10-24
lab08 censorship 2022-10-31
(no lab) 2022-11-07
lab09 earthquake 2022-11-14
(no lab) 2022-11-21
lab10 life 2022-11-28

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


Homework Due Date (10 p.m.)
hw00 · Python (Math Review & Debugging) 2022-09-07
hw01 · Python (Piecewise Functions) 2022-09-19
hw02 · Python (Automating with Loops) 2022-09-26
hw03 · Python (Calculus & Physics) 2022-10-03
hw04 · Python (Polynomials & Data Processing) 2022-10-10
hw05 · Python (Symbolic Mathematics) 2022-10-17
hw06 · Python (Plotting & Vectors) 2022-10-24
hw07 · Python (Random Distributions) 2022-10-31
hw08 · Python (Numerical Integration) 2022-11-07
hw09 · Python (Ballistics & Scientific Functions) 2022-11-14
hw10 · Python (Optimization) 2022-11-28
hw11 · Python (Essentials) 2022-12-08


If we happen to produce materials for a specific lecture, we will put it here.

All of Mattox's Jupyter notebooks can be found on Github

Lecture Date Link
Wednesday, August 24 Slides
Monday, August 29 Slides; Exercises
Wednesday, August 31 Slides; Exercises
Wednesday, September 7 Exercises
Monday, September 12 Slides; Exercises
Wednesday, September 14 Slides; Exercises
Monday, September 19 Slides; Exercises
Wednesday, September 21 Slides; Exercises
Monday, September 26 Slides; Exercises
Wednesday, September 28 Slides; Exercises
Monday, October 3 Slides
Monday, October 10 Slides Exercises dataL14.txt
Wednesday, October 12 Slides Exercises red.txt blue.txt class exercise countries.txt
Monday, October 24 Slides Exercises
Wednesday, October 26 Slides Exercises
Wednesday, November 2 Slides Notebook
Monday, November 14 Slides
Wednesday, November 16 Slides
Wednesday, December 7 Slides

Lab & Discussion Sections

Section Date & Time Teaching Assistant
AYA Mon 13h00–14h50 Dipayan
AYB Mon 15h00-16h50 Vien
AYD Tue 09:00-10:50 Vidya
AYE Tue 11:00-12:50 Alex
AYF Tue 13h00–14h50 Alex
AYG Tue 15h00-16h50 Vidya
AYH Wed 13h00–14h50 Jaya
AYI Wed 15h00-16h50 Jaya
AYL Thu 11:00-12:50 Vivek
AYM Thu 13h00–14h50 Vien
AYO Fri 09:00-10:50 Vivek
AYP Fri 11:00-12:50 Alex
AYQ Fri 13h00–14h50 Patrick
AYR Fri 15h00-16h50 Patrick

There are no online-only lab sections this semester.

Office Hours

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 in the appropriate chat channel.

Office hours will begin the second week week of class. Times are subject to change before that week.

Virtual office hours will be held on discord.

We also have a scheduling queue.

Day Time Location
Monday 9:00 Discord
Monday 13:00 0224 Siebel
Monday 15:00 0224 Siebel
Monday 16:00 Discord
Tuesday 10:00 0224 Siebel
Tuesday 14:00 0224 Siebel
Tuesday 15:00 Discord
Wednesday 13:00 0224 Siebel
Wednesday 14:00 Discord
Wednesday 17:00 0224 Siebel
Thursday 12:00 Discord
Thursday 13:00 0224 Siebel
Thursday 14:00 Discord
Friday 13:00 0224 Siebel
Friday 14:00 Discord

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 the course forum and include #twohours in the title. A TA will help you resolve your issues and be able to proceed.

Policies & Statements

Other Grainger College of Engineering and Student Code policies may apply.