CIT 590 Previous Announcements
Spring 2013, David Matuszek

Date Announcements
February 27, 2013 To avoid a lot of needless errors in the way things are named and/or called, here's a page detailing the expected methods in JigsawPuzzle, and how we expect to call them.
January 17, 2013

Notes on the first assignment:

  • The assignment specifies that the main() function does the printing. It is an error to do the printing from the other functions.
  • The assignment specifies that each of the functions (other than main) is a predicate, that is, returns True or False. It is an error if they return some other value (such as a string).
  • Each of your functions should work for any positive integer, not just those up to 100. It is an error if they do not.
  • There are some readings (marked with Read) that you should have done, particularly the ones about grading.
  • I have provided some tests for you to use with your program. Use them. We will use a more complete version of these tests when grading your program.

Here are a couple of general problems that I have observed:

  • Python has statements and expressions. An expression computes a value. Unless you use an expression as part of a statement, it doesn't do anything. For example: The statement digits = str(n) computes a string representation of the number n and saves it in digits. The expression str(n), used all by itself, computes a string representation of the number n, then forgets it again.
  • A return statement returns from a function. If it occurs inside a loop, the loop is finished. For example, if you write
    for i in range(1, 20):
        if i < 5:
            return True
            return False

    this will return True. That's all it does. The variable i never gets larger than 1, because a return statement is executed the very first time through the loop.
January 16, 2013 I have added a page on Using Piazza and Canvas (and email and my web site). Please read it.
January 11, 2013

Correction to test cases: Line 66,
    self.tell_about(is_smug, 99, True)
should be
    self.tell_about(is_smug, 99, False)

You can make this correction, or simply download a fresh copy of

January 11, 2013 Reminder: We will be using Canvas and Piazza in this course.
January 9, 2013 If a CIS or CIT class is closed, you can be put on a waiting list for the class. Fill out the form at
January 9, 2013

Time and room change!

Lectures will be MW 1:30-3:00 in DRLB A2.
Labs will be F 1:30-3:00 in Moore 207 and in Moore 100A.

The lecture time change will be a problem for many students. The change was necessary because of a sudden change in staffing (I cannot be in two places at once). The change was announced within minutes of obtaining an adequate classroom from the Registrar.