Assignments

You will complete small individual assignments most weeks of the course to help prepare you for labs. These assignments will give you some hands-on experience with basic concepts and programming skills you will need on upcoming labs, but should not be too demanding.

  Welcome
    • Assigned January 23, 2019
    • Due January 25, 2019 by noon
  Ngram Generator
    • Assigned January 25, 2019
    • Due February 4, 2019 by 10:30pm
  Uniquelist
    • Assigned February 1, 2019
    • Due February 8, 2019 by 10:30pm
  Archive Printer
    • Assigned February 6, 2019
    • Due February 13, 2019 by 10:30pm
  Queue
    • Assigned February 13, 2019
    • Due February 20, 2019 by 10:30pm
  Parallel Lettercount
    • Assigned February 27, 2019
    • Due March 6, 2019 by 10:30pm
  Concurrency Bugs
    • Assigned March 13, 2019
    • Due April 3, 2019 by 10:30pm

Policies

The following policies apply to all of the individual assignments in this class. If you have any questions about a policy you are welcome to ask about them individually or in class.

Grading

Your grade on each assignment will be based on two factors:

20%  Code Quality
Does your implemention follow best-practices for implementation? Is it clear and concise? This will account for 20% of your grade on the assignment. Any warnings or errors when building your code will result in an automatic zero for this portion of the assignment.
80%  Implementation Correctness
I will evaluate your implementation to see how it handles various inputs and edge cases. In some cases this may be done with an automated test suite. I will give partial credit for assignments that miss edge cases but handle the majority of inputs correctly.

Collaboration

These individual assignments are meant to be an assessment of your programming skills and understanding of the basic course material. Because these are meant to be individual assessments, you may not discuss assignments with any other students. Mentors may be able to help you if you are confused about the assignment requirements or have trouble understanding the man documentation for a function you’d like to use, but they cannot assist you in any way that requires them to look at your code or discuss your solution to the assignment. You are welcome to me for more assistance, although there may be some questions I cannot answer.