CS 1110: Introduction to Computing Using Python
Times & Places
CMS - direct link
CMS usage notes
This page lists a summary of the activities of each week, in reverse chronological order. This is your go-to page for downloading in-class handouts and getting caught back up if you get behind. This page is updated dynamically all semester long, with new material added as we get there.
If you want to see what future lectures in this class will be, you should look at the syllabus page.
Lab 14: Drop-in office hours and lab 13 checkoff
Like the title says.
9 May (Tuesday): No lecture - optional drop-in office hours
4 May (Thursday): An Extended Example That Reviews Much of CS1110
Professor Andersen tries to re-engineer the Refraction core game mechanics live.
Lab 13: Loops and Loop Invariants
The material will be covered on the final exam; the problems assigned are ones that students might greatly benefit from in-person feedback on; and the lab is being released during a gap in assignments. Therefore, we strongly encourage students to start this lab early and get it checked during May 2-3 labs, even though the deadline isn't until May 9-10.
2 May (Tuesday): Sorting and Searching
Today we continue our discussion of invariants and algorithms from the previous lecture. We review the Dutch National Flag algorithm and talk about how changing invariants can change your algorithm.
27 April (Thursday): Sequence Algorithms
Reading: Chapter 13
Lab 12: There is no lab 12! (prelim)
No new lab will be assigned for the Tues Apr 25/Wed Apr 26 dates because of the prelim.
25 April (Tuesday): NO CLASS - DROP-IN OFFICE HOURS
20 April (Thursday): Prelim 2 Review Session
Lab 11: Subclasses, or, Cripple Mr. Onion
18 April (Tuesday): Loop Invariants
Reading: Loop Invariants
13 April (Thursday): While Loops
Today we introduce while-loops, which are an alternate form of iteration. They are trickier to use than for-loops, and will be an important part of the last part of the course.
Reading: Chapter 18
Lab 10: Blackjack
11 April (Tuesday): Subclasses and Inheritance
Reading: Chapter 17
6 April (Thursday): SPRING BREAK
4 April (Tuesday): SPRING BREAK
30 March (Thursday): Using Classes Effectively
Lab 9: Recursion
28 March (Tuesday): Classes
Up until now, if we wanted to use objects, we had to import a module that provided them for us. Today we finally learn how to create our own classes. Not only can we make our own class types now, but we can even add them to the Python visualizer.
Reading: Chapters 15, 16
23 March (Thursday): More on recursion
Lab 8: For-loops with lists, possibly nested
We will not be printing the handout, since it contains very little information not already contained in the files themselves.
21 March (Tuesday): Recursion
Today we talk about recursion.
16 March (Thursday): Nested Lists and Dictionaries
Today we talk about how lists can be used inside of other lists to create two-dimensional tables. We will also talk about dictionaries.
Reading: Chapter 11, inc. sections 11.1-11.2; 11.4
Lab 7: There is no lab 7! (prelim)
No new lab will be assigned for the Tues Mar 14/Wed Mar 15 dates because of the prelim.
14 March (Tuesday): NO CLASS - open office hours
9 March (Thursday): Optional Review Session
Lab 6: Lists and Objects: Cards and Poker Hands
7 March (Tuesday): Iteration and For-Loops
Reading: Sections 4.2, 10.3
2 March (Thursday): Lists (and Sequences)
Reading: Sections 10.0-10.2; 10.4-10.7; 10.10-10.13
Lab 5: Objects; Conditionals; Oink!
28 February (Tuesday): Memory in Python
Throughout the past few weeks, we have seen several different ways of representing memory in Python. Today we put everything together, introducing global space, heap space, and the call stack. The latter is the collection of frames for all currently executing functions.
23 February (Thursday): Conditionals and Control Flow
Today we talk about the difference between program structure and program flow. We also introduce the conditional, which is our first program structure for controlling program flow. This will not be necessary for Assignment 1, but will be very important in later assignments.
Reading: Sections 5.1-5.7
Lab 4: There is no lab 4! (February break)
No new lab will be assigned for the Tues Feb 21/Wed Feb 22 date because of break.
21 February (Tuesday): FEBRUARY BREAK
16 February (Thursday): Objects
Today, we introduce the notion of objects. Objects are a new type of data. They require a new conceptual model for us to understand them.
Reading: Sections 15.1-15.2; 15.4-15.7
Lab 3: Strings; Testing
14 February (Tuesday): Specifications and Testing
We now know how to write some complex functions. However, writing functions takes a lot of practice and you are likely make mistakes along the way. That is why it is extremely important to test your functions and make sure they are working properly. As part of testing, we will also see why comments are more important than just notes to yourself.
9 February (Thursday): Strings
Reading: Chapter 8.1, 8.2, 8.4, 8.5, 8.8, first paragraph of 8.9
Lab 2: Functions and (in) Modules --- Some "Hi"-lights
7 February (Tuesday): Defining Functions
Now that we know how to use functions, we can learn how to create our own functions. As part of this, we will learn the important difference between a function call and a function definition.
Reading: Chapter 3
2 February (Thursday): Functions and Modules
Today we introduce the concept of a module and show how they provide Python with extra (optional) functionality. We show how to use the many modules built into Python, and how to make our own modules.
Reading: Sections 3.1-3.4
Lab 1: Expressions and Assignments
31 January (Tuesday): Variables and Assignments
Reading: Sections 2.2-2.9
26 January (Thursday): Types and Expressions
Reading: for next time, Chapters 1 and 2
|Course Material Authors: E. Andersen, D. Gries, L. Lee, S. Marschner, C. Van Loan, & W. White|