Debugging & Verifying Programs -- CS 340d -- Laboratory and Homework Assignments

Homepage: http://www.cs.utexas.edu/users/hunt/class/2019-spring/cs340d/cs340d.html

Homework will generally be assigned every week on Monday, and usually it is due nine days later on Wednesday by the beginning of class. Of course, you may bring finished homework to class; otherwise, you must get it to the class TA before the due date and time. Remember, late homework is not accepted, but the two lowest homework grades will be dropped. Assignments will appear here as the semester progresses. Please show your work -- partial credit cannot be awarded if only an incorrect answer is given. Homework will generally be submitted on Canvas, but if homework is turned in to the TA, it must have a cover sheet attached to the front. Only write the information requested on this cover sheet; do not include your Taxpayer ID number.

If you think that since you can drop two homework assignments, that it's OK to skip a homework, you are mistaken. In the body of homework assignments, various topics will be discussed. It is expected that even if you do not turn in a homework assignment, that you are familiar with the material discussed or referenced in the assignment itself. Thus, you are responsible for understanding and being able to use the concepts embodied in the homework assignments -- even if you don't turn in various homework assignments.

NOTE: The most accurate indicator of what grade a student will receive is their grades on homework assignments. Students that do and submit all of the homework generally out perform students that are lax about their homework. In this class, what you learn will be directly related to the effort you put forward on the homework and programming assignments.

You may discuss the homework questions with your peers, but the end product that you turn in should be your own work. We want you to learn with and from your peers, but each of you is responsible for your own work.

Homework Assignments

  • Homework Assignment 0. Given: January 23, 2019, Due: January 30, 2019.

  • Homework Assignment 1. Given: January 28, 2019, Due: February 6, 2019.

    An example hw1-cp-example.c is provided that might help your Homework Assignment 1 efforts.

  • Homework Assignment 2. Given: February 4, 2019, Due: February 13, 2019.

  • Homework Assignment 3. Given: February 11, 2019, Due: February 20, 2019.

    The lecture notes invariant-intro.org contain example code for the add function.

  • Homework Assignment 4. Given: February 18, 2019, Due: February 27, 2019.

  • Homework Assignment 5. Given: February 25, 2019, Due: March 6, 2019.

  • Homework Assignment 6. Given: March 4, 2019, Due: March 13, 2019.

  • Homework Assignment 7. Given: March 11, 2019, Due: March 27, 2019.

    The code for my-clock.c to measure the performance of your programs.

  • Homework Assignment 8. Given: March 25, 2019, Due: April 3, 2019.

    Our memory-sheet.txt. PDF: memory-sheet.txt.pdf.

  • Homework Assignment 9. Given: April 1, 2019, Due: April 10, 2019.

  • Homework Assignment 10. Given: April 22, 2019, Due: May 8, 2019.

    Laboratory Assignments

    The heart of this course is the laboratory assignments. Working through the labs is where the real learning is most likely to occur. There will be four laboratories. Each laboratory is meant to expose some new concept and then solidify a student's understanding. Note, each laboratory will also include a writing assignment.

  • Laboratory 0. Given: January 28, 2019, Due: February 11, 2019.

  • Laboratory 1. Given: February 19, 2019, Due: March 11, 2019.

  • Laboratory 2. Given: March 13, 2019, Due: April 15, 2019.

  • Lab 2 Allocation Stress Test Functions

  • Lab 2 Tests

  • Laboratory 3. Given: April 22, 2019, Due: May 8, 2019.

    Return to CS340d course homepage.