In this course, we will use github as
our version control and repository system. We will use a local clone
of github at github.ccs.neu.edu.
You should visit this site as soon as you have a CCS login in order to
initialize your account there. (See Preparing
Your Laptop for details.)
We will create a private repository for you at the CCS github.
We expect you to commit and push your work to this repository at
the end of every work session. When we get to pair work, we will
create a repository for each pair, shared between you and your partner.
At the end of each work session, you must do two things:
Commit your work to your private repository.
Fill our a "work session report". This is a simple Google form
that asks you to record the time you spent in that work session.
This form will be customized for each problem set. A sample is here.
If you do not commit and push your assignments nightly, we will
assume that you are not working on the assignment. Checking in your
partially-completed assignments also serves to prove that you actually
did the assignment yourself. If you only check in the final version of
your assignment, we will assume that you probably stole the code from
somewhere.
Nightly check-ins mean that you will always have a backup of your
work. If you screw things up, you can always revert to an earlier
version.
Your homework will be collected automatically from your repository
at the date and time listed on the problem set (usually 6pm local
time on Monday).
Your homework for problem set JJ should be committed to your
repository, in a folder named setJJ.
Each question should
be submitted as a single file in that folder, in a file named
NAME.rkt, where NAME.rkt is the filename
specified in the question.
If the question does not specify a
filename, then use qK.rkt for question K. Thus, if problem
set 1, question 2 does not specify a filename, then the answer should
be in a file named exactly set01/q2.rkt . (Here I've used the Unix/Github convention of using
/ to separate the components of a path name.)
If your solution is a file named set1/q2.rkt,
Set01/q2.rkt, set 1/question2.rkt, or anything
else, our scripts won't find it, and a variety of bad things will
happen.