T-Th 9:05 |
CS 1110: Introduction to Computing Using Python Spring 2017 |
|||||||||||||||||||||||||||||||||||||||||||||
Main About: Announcements Staff Times & Places Calendar Materials: Texts/Clickers Python/Komodo Command Shell Terminology VideoNote Handouts: Lectures Assignments Labs Assessment: Grading Exams Resources: CMS - direct link CMS usage notes Piazza AEWs FAQ Python Docs Python Tutor Other Courses Style Guide Academic Integrity |
Lecture SummariesThis 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. Week 15Lab 14: Drop-in office hours and lab 13 checkoffLike the title says. 9 May (Tuesday): No lecture - optional drop-in office hours
Week 144 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
[Instructions]
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[Handout] [Presentation]
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. Week 1327 April (Thursday): Sequence Algorithms
[Handout]
[Presentation]
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
Week 1220 April (Thursday): Prelim 2 Review Session
Lab 11: Subclasses, or, Cripple Mr. Onion
[Instructions]
18 April (Tuesday): Loop Invariants
[Handout]
[Presentation]
Reading: Loop Invariants Week 1113 April (Thursday): While Loops[Handout] [Presentation]
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
[Instructions]
11 April (Tuesday): Subclasses and Inheritance
[Handout]
[Presentation]
Reading: Chapter 17 Week 116 April (Thursday): SPRING BREAK
4 April (Tuesday): SPRING BREAK
Week 1030 March (Thursday): Using Classes Effectively
[Handout]
[Presentation]
Lab 9: Recursion
[Instructions]
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 Week 923 March (Thursday): More on recursion
Lab 8: For-loops with lists, possibly nested
[Instructions]
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. Week 816 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
Week 79 March (Thursday): Optional Review SessionLab 6: Lists and Objects: Cards and Poker Hands
[Instructions]
7 March (Tuesday): Iteration and For-Loops
[Handout]
[Presentation]
Reading: Sections 4.2, 10.3 Week 62 March (Thursday): Lists (and Sequences)
[Handout]
[Presentation]
Reading: Sections 10.0-10.2; 10.4-10.7; 10.10-10.13 Lab 5: Objects; Conditionals; Oink!
[Instructions]
28 February (Tuesday): Memory in Python[Handout] [Presentation]
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. Week 523 February (Thursday): Conditionals and Control Flow[Handout] [Presentation]
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
Week 416 February (Thursday): Objects[Handout] [Presentation]
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
[Instructions]
14 February (Tuesday): Specifications and Testing[Handout] [Presentation]
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. Week 39 February (Thursday): Strings
[Handout]
[Presentation]
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
[Instructions]
7 February (Tuesday): Defining Functions[Handout] [Presentation]
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 Week 22 February (Thursday): Functions and Modules[Handout] [Presentation]
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
[Instructions]
31 January (Tuesday): Variables and Assignments
[Handout]
[Presentation]
Reading: Sections 2.2-2.9 Week 126 January (Thursday): Types and Expressions
[Handout]
[Presentation]
Reading: for next time, Chapters 1 and 2 |
|||||||||||||||||||||||||||||||||||||||||||||
Course Material Authors: E. Andersen, D. Gries, L. Lee, S. Marschner, C. Van Loan, & W. White |