CSSE 120 -- Intro. to Software Development

Homework 2

  1. Complete the assigned reading for the next session, Zelle, § 2.5 - 3.3.
  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 programming problems assigned on a Monday or Tuesday 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. This applies only to programming problems, not to ANGEL quizzes, surveys, etc.  We recommend that you try to complete the programs assigned on Monday and Tuesday before the next class meeting, but we do not require you to do so
    Day assigned Programs due Other parts of assignment due
    Monday Wednesday Tuesday
    Wednesday Friday 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.
  3. (5 pts) Complete Programming Exercise 1.3 on page 23 of Zelle. 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.
  4. (5 pts) Complete Programming Exercise 1.5 on page 23 of Zelle. Then choose a number between 5 and 8, and run your program, telling it to print that many numbers. Then copy and paste the entire output of your program into the homework2.txt you created for the previous problem.
  5. (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.
  6. Optional Bonus Problem (5 pts) During a previous offering of this courss, a small group of students requested that we add some more challenging problems. If you found the other ones really easy, you may want to try Programming Exercise 1.6 on page 23 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 chaosTable.py.
  7. (20 pts) songAndDance (You will work with your robot partner on this.) Cause the robot to do some simple actions: first play a distinctive sound as a warning sound. After the sound stops, have your robot do a little dance. It must include angular and linear motion, but stay roughly within a 50 cm radius of its start point. It must also include some sort of repeated motion that you code using a loop. Name your program songAndDance.py.
    1. Don't forget to turn on the robot and bluetooth connection before you start.
    2. Ask the user for the port to which the robot is connected.
    3. Use the sleep() command as needed.
    4. Even if you aren't artistic, you can still create interesting, distinctive sounds and dances using loops!
    5. If you forgot any of the commands we did in class, refer back to the Pycreate handout I gave you in class.
    6. Note: The robot's maximum angular velocity speed is 60 degrees/sec.
  8. Turn in instructions:

  9. Find the drop boxes on the course ANGEL page, under Lessons → Homework → Homework 2
    1. Find the drop boxes on the course Angel page, under Lessons → Homework → Homework 2
    2. Upload your:
      • homework2.txt file to the HW2 Drop Box on Angel
      • pythagoras.pyprogram to the Pythagoras Drop Box on Angel
      • songAndDance.py file to the Song And Dance Drop Box on Angel
      • and chaosTable.py program to the ChaosTable (Bonus Problem) Drop Box on Angel, if you chose to do it
  10. 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 three minutes 24 seconds video and start to become a member of the Python community!