On this page:

Homework 1

Last updated: Thu, 21 Sep 2023 12:48:17 -0400

Out: Mon Sep 18, 2023, 00:00 EST

Due: Sun Sep 24, 2023, 23:59 EST


This assignment introduces The Design Recipe, a systematic way to write programs that are both correct and readable.

This hw will be graded accordingly:

  • correctness (9 pts)

  • design recipe (20 pts)

  • style (5 pts)

  • README (1 pt)

Total: 35 points


(The following is different from the last assignment, so please read carefully.)

Create a new repository for this assignment by going to the CS450 Fall 2023 GitHub Organization page and clicking "New".

On the "Create a new repository" screen:
  • Name the repository <YOUR ACCOUNT NAME>-hw1 where <YOUR ACCOUNT NAME> is your GitHub account name.

    For example, if my GitHub account is cs450student then I would name my hw1 repository cs450student-hw1.

  • Mark the repository as Private.

  • Check "Add a README file".

Here is an example screenshot:

When done click "Create repository". For this assignment, there is hw1 starter code but you won’t be able to fork it. If you wish, though, you can copy the files into your own repo and then edit them.


Before submitting, note:
  • Do not submit until all code has been thoroughly tested, independent of the autograder, and you are reasonably sure the assignment is complete and correct.

    The autograder is not a software development tool so please don’t use it as one.

  • If you submit and get an autograder error, this means the code you wrote is not complete and correct and it’s up to you to figure out why.

    The course staff is here and eager to help, but cannot do so if students don’t explain what they’ve tried first (e.g., "why is the autograder giving an error?" is not something we can help with).

  • The grading criteria (i.e., test suite) is subject to change. This means that the visible grade seen during submission is not the final grade.

A submission must have the following files in the repository root:

Also, the repository must have appropriate commit messages. See How to Write a Git Commit Message if you are unsure how to write a commit message.

When ready, submit this assignment to Gradescope hw1 using the "GitHub" submission feature with the hw1 repository selected.