15-112 Fundamentals of Programming

Homework 2.1


For this homework, there is no starter file. You have to create your own .py file and submit it to Autolab. You can take a previous starter file and modify it appropriately.

  • Please add your name, Andrew id, and section at the top of the file.
  • Write test functions for each function you write.
  • APPLY TOP-DOWN DESIGN, USE LOTS OF HELPER FUNCTIONS.
  • IMPORTANT: All the code above the #ignore_rest line is autograded, and all the code below it is ignored. Make sure you put all test functions below #ignore_rest.
  • From now on you will be graded on style. For this homework, however, style deductions are half-weighted, so the maximum number of points you can lose on style is 5 (out of 100). Please see here for the style rubric.
  • You may not use lists for this homework with the following exception: you can use split and splitlines methods of strings within a for loop (as shown in class). Otherwise, you are not allowed to have a variable that points to a list.
  • You may not use recursion, sets, dictionaries or any other constructs that we have not yet covered in class.
  • You will have 4 submissions on Autolab for this homework (one extra since we are not providing the starter file).
  • Questions

    1. This problem is for fun and will not be graded. Decode Caesar's message for you: KvmGhirmKvsbMciQobKohqvUoasCtHvfcbsg
    2. Problem 1 from here.
    3. Problem 4 from here.
    4. (Manually graded) Problem 8 from here. Note that this problem is not autograded. It will be manually graded by the CAs. Therefore your code for this problem should be put below the #ignore_rest line.


    Valid CSS! Valid XHTML 1.0 Strict