CSSE 120 -- Intro. to Software Development

Homework 2

  1. Complete the assigned reading for the next session, Zelle, § 2.5 - 2.8.
  2. (32 pts) Complete the ANGEL quiz over the reading for the next session. You'll find this on the CSSE 120 ANGEL page, under Lessons → Homework → Homework 2 → Writing Simple Programs

    Note: the due date of all parts of homework, except reading quizzes assigned on a Monday of any week will automatically be extended 24 hours. The workload in this course is high, and we want you to have at least 48 hours to complete every assignment. Reading quizzes (on ANGEL) are due at the start of next class.  We recommend that you try to complete the programs assigned on Monday before the next class meeting, but we do not require you to do so
    Day assigned Reading quizzes due Other parts of assignment due
    Monday Tuesday Wednesday
    Tuesday Thursday Thursday
    Thursday Monday Monday

    Note that the due time for all quizzes, programs, and other homework is the same time of day as the beginning of your class meetings.

    Do problems 3, 4, 5, and 6 in the 02-InputComputeOutput project that you checked out in class from your SVN repository.  Create new files with names given in each problem description.  Commit your solutions to each problem to your SVN repository, after completing the problem.  You are encouraged to commit often.
  3. When writing your new programs, follow the style that we modelled in the 02-InputComputeOutput project:

    #----------------------------------------------------------------------
    # NAME of function:  DESCRIPTION of function.
    #----------------------------------------------------------------------
    def blah():
        BODY of blah
    
    #----------------------------------------------------------------------
    # main:  A main function that invokes (calls) the blah function 
    #----------------------------------------------------------------------
    def main():
        ''' Invoke the blah function, which DESCRIBE.'''
        blah()
        
    #----------------------------------------------------------------------
    # If this module is running at the top level
    # (as opposed to being imported by another module),
    # then run the body of this expression, which:
    #  -- Tests the functions in this module, by calling them.
    #----------------------------------------------------------------------
    if __name__ == '__main__':
        main()
    

  4. (5 pts) Complete Programming Exercise 1.3 on page 24 of Zelle.
    1. Write your 1 paragraph essay in a text file named homework2.txt. You do not have to include the code that you wrote, just your paragraph.
    2. Commit your solutions to your SVN repository.
  5. (5 pts) Complete Programming Exercise 1.5 on page 24 of Zelle, in a file called chaosTable.py
    1. Enter all your code in the chaosTable.py
    2. module.
    3. Commit your solutions to your SVN repository.
  6. (10 pts) Implement a Python program that calculates the distance between two points. Name your program pythagoras.py. Your program should:
    1. Prompt the user to enter the x and y coordinates for two points.
    2. Use the math module to calculate the distance between the points. (If you don't remember how to import the math library, see the transcript from Session 1.) You'll find the sqrt function helpful.
    3. Display the distance between the points, with a descriptive label.
    4. Commit your solutions to your SVN repository.
  7. Optional Bonus Problem (5 pts) During a previous offering of this course, a small group of students requested that we add some more challenging problems.
    1. If you found the other ones really easy, you may want to try Programming Exercise 1.7 on page 25 of Zelle -- completing it correctly will earn you a small number of bonus points. We realize that the homework in this class is sometimes long, thus this is optional. Name your program chaosTableBonus.py.
    2. Commit your solutions to your SVN repository.
  8. Web links, bacon, eggs, and spam: The Python programming language was named after the English comedy team Monty Python. The Python community on-line is fond of making "in-joke" reference to various Monty Python sketches. One of today's in class examples was a reference to the legendary Dead Parrot Sketch. Watch the five minutes 33 seconds video and start to become a member of the Python community!