Labs

Labs have been added to this course to help bridge from the lectures to assignments.

There are 12 labs, one due each week:

  1. Lab 1 2019.01.17 (past)
  2. Lab 2 2019.01.24 (past)
  3. Lab 3 2019.01.31 (past)
  4. Lab 4 2019.02.07 (past)
  5. Lab 5 2019.02.14 (past)
  6. Lab 6 2019.02.28 (past)
  7. Lab 7 2019.03.07 (past)
  8. Lab 8 2019.03.14 (past)
  9. Lab 9 2019.03.21 (past)
  10. Lab 10 2019.03.28 (past)
  11. Lab 11 2019.04.04 (past)
  12. Lab 12 2019.04.11 (past)

If you have an issue with the lab marks, read this link.

Assignments

Assignments are an extremely important part of computer science courses. The general experience is that students who do (their own) assignments are far more likely to be successful in the course.

There are 4 assignments, one due every third week:

  1. Assignment 1 2019.02.27 (past)
  2. Assignment 2 2019.03.16 (past)
  3. Assignment 3 2019.03.28 (past)
  4. Assignment 4 2019.04.11 (past)

Submission Process

You will submit assignments with a source-code-management (SCM) system called Fossil. There is a page describing how to use Fossil in the Resources page, Once you have successfully cloned the repository, simply fossil add a1, fossil ci -m "Assignment 1", and fossil sync

Fossil has a web-based GUI with the command fossil ui.

If you want to work in teams, one of you must use the course account page. Remember, you can only have a given partner for one assignment. Note: ryerson.ca accounts, not scs.ryerson.ca accounts!!!

Do not submit tar, zip or compressed files - just the source text.

Code Documentation

I want a file called Ownership.txt in the top directory of each assignment, containing the following. No other file should have any identifying information, so that peer evaluation can be as fair as possible.

Name:   Aye Student
Course: CPS506, Fall 2017, Assignment #1
Due:    2017.10.14 08:30
Credit: (one of the following statements)

Where Credit should say one of:

  1. This is entirely my/our own work.
  2. This is entirely my/our own work, except for the portions supplied by the professor and the book.
  3. In addition to the portions supplied by the professor and the book, I/we received slight assistance from Cee Student.
  4. In addition to the portions supplied by the professor and the book, I/we received considerable assistance from Cee Student.
Any of the credit statements may be followed by one or more of the following statements:
  1. I/we provided slight assistance to Dee Student, Eee Student
  2. I/we provided considerable assistance to Dee Student, Eee Student
  3. The algorithm of method/function is due to An Author, from Citation

In the last of those, method/function should identify one or several methods or functions from your code, and Citation should be either a textbook name (with page range) or a journal name, volume, number and page range.

Slight assistance would typically be pointing out library functions/classes that could be useful, or discussion of approach - no diagrams or looking at code. Considerable assistance would typically be the provider looked at providee's code - making suggestions or helping debug, or diagramming a solution. Neither should have the result of the two assignments looking more than 25% similar.

Obviously I want you all to do as much work as possible yourself, but most importantly, I want you to be honest. The "I provided" and "I received" statements should be pretty-much reciprocal.

Beyond that, I would like a class comment for every class and a comment at the top of every non-obvious method, describing its purpose. Also use meaningful variable and method names. Methods should be short (likely less than 20 lines).

Rubric

The marking rubric is available here.