T-Th 9:05
or
T-Th 11:15
in Olin 155

CS 1110: Introduction to Computing Using Python

Spring 2017

Labs

Labs/Sections are held (just about) every week. The Lab Exercises are not graded for correctness, but on completion and your ability to explain your reasoning to whoever is checking your lab off.

Up to two labs may be missed; any more unexcused absences and we reserve the right to reduce your course grade (e.g. B goes to B-).

The "checking off" can be done during the lab itself if you finish. If you need more time and/or help, you can get your lab work checked off by showing it to a staff member either (a) in consulting hours or non-professor office hours up to the day before your next scheduled lab section, or (b) in the first 10 minutes of (your) lab the week after. Beyond that time, the lab will be late and the staff have been instructed not to give you credit.

You can instantaneous feedback as to whether you've been checked off here. A green checkmark next to a lab means you've been checked off; a red stop sign means you haven't been.

You should try to finish the Lab Exercises before the Lab meeting. This will leave time for you to ask your key questions.

Problems labeled as "optional" in a Lab Exercise are not required for check-off. However, they are part of the course syllabus and should always be attempted.

Lab Topic Code
Lab 1 handout Expressions and Assignments

Learning goals: (1) get hands-on experience using Python in interactive mode via the command shell; (2) get hands-on experience with Python types, expressions, and variables.

Lab 2 handout Functions and (in) Modules --- Some "Hi"-lights

Learning goals: Practice with: (1) the Command Shell; (2) using and editing functions defined in an external file; (3) Komodo Edit; (4) running Python scripts on the command line; (5) using one function as a helper for another.

Lab 3 handout Strings; Testing

Because of February break, this lab is not due until the first ten minutes of the labs of Tue Feb 28/Mar 1. But don't delay on doing lab 3, since it will help with assignment 1.

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.
The Wednesday lab times and locations will be staffed and will serve as open office hours for anybody to drop in on, regardless of registered section. In contrast, for the Tuesday lab times and places, no staff members will be there (we will be on break, instead.)

Lab 5 handout Objects; Conditionals; Oink!

Practice with creating objects and simple manipulation of attributes and variables associated with objects. Practice with conditionals, including with more sophisticated string manipulation: Pig Latin.

Lab 6 handout Lists and Objects: Cards and Poker Hands

Because of the prelim, this lab is not due until the first ten minutes of the labs of Tue Mar 21/Wed Mar 22. But don't delay on it, since it will help with the prelim!
 
Practice with list operations, and doing some coding with lists of objects, in this case, Cards.

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.
The Tuesday lab times and locations will be staffed and will serve as open office hours for anybody to drop in on, regardless of registered section. In contrast, for the Wednesday lab times and places, no staff members will be there.

Lab 8 handout For-loops with lists, possibly nested

Zip files updated Thursday 3/16 at 1:14pm to fix module naming issue We are releasing this lab early because the first part could be useful as extra for-loops practice with the deferred prelim. But the prelim was written before this lab was created, so the exam doesn't depend on any material introduced in this lab.

We will not be printing the handout, since it contains very little information not already contained in the files themselves.

Lab 9 handout Recursion

Due Tue Apr 11 or Wed Apr 12 because of Spring Break. Do read the handout; but since it's short and you don't have to write on it, we will not be printing it out.

Lab 10 handout Blackjack

This lab gives you some experience working with classes. And when you are done, you can play a nice game of blackjack.

Lab 11 handout Subclasses, or, Cripple Mr. Onion

The printed handout has a few errors in it, which are corrected in the orange text of the online version of the handout.
Because of the prelim, this lab is not due until the first ten minutes of the labs of Tue May 2/Wed May 3. But don't delay on it, since it will help with the prelim!

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.
The Tuesday lab times and locations will be staffed and will serve as open office hours for anybody to drop in on, regardless of registered section. In contrast, for the Wednesday lab times and places, no staff members will be there.

Lab 13 handout Loops and Loop Invariants

This is the last lab assignment of the course.

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.

Drop-in office hours and lab 13 checkoff

Like the title says.


Course Material Authors: E. Andersen, D. Gries, L. Lee, S. Marschner, C. Van Loan, & W. White