From d55e04dc3794ee7fd6757d0068eb81187316df7f Mon Sep 17 00:00:00 2001
From: Borja Sotomayor Initializing your Project 2 Repositorygit@github.com:uchicago-cmsc23320-spr-24/chirc-jdoe-jrandom.git
git@github.com:uchicago-cmsc23320-spr-24/chitcp-jdoe-jrandom.git
git init
git remote add origin $REPO_URL
git remote add upstream https://github.com/uchicago-cs/chitcp.git
diff --git a/projects/project3.html b/projects/project3.html
index d85800b..0bf46e9 100644
--- a/projects/project3.html
+++ b/projects/project3.html
@@ -99,10 +99,6 @@
Project 3: chirouter¶
-
-Warning
-This page has not yet been updated for Spring 2024.
-
In this project you will be implementing a simple IP router capable of routing IPv4 datagrams between multiple networks. This router will have a static routing table, so you will not have to deal with implementing a routing protocol like RIP or OSPF; instead, the project will focus on the routing of IP datagrams. While, at a high level, this just involves receiving IP datagrams and figuring out what interface they should be sent on, this requires building additional functionality before you can actually start routing IP datagrams.
Please refer to the following documents to complete this project:
Take into account that this project requires using a network simulator that
-needs to be run with root privileges on a Linux machine. If you do not have
-access to such a machine, you can use the CS Virtual Machine
-(version 202122.2 or higher) to run the network simulator. This virtual
-machine will only work on computers with Intel processors so, if you are running
-a newer Mac with an M1 processor, please see our Ed Discussion site for instructions
-on how to set up a virtual machine on your computer.
+needs to be run with root privileges on a Linux machine. For students using
+Windows or Mac, we provide a Docker container that you can use to run
+the network simulator on your computer ()
Submission Timeline¶
-This project has two required submissions, and an optional resubmission:
+This project has one required submission, and an optional resubmission:
Submission
@@ -128,13 +121,13 @@ Submission TimelineFinal Submission
+Project 3
chirouter (entire project)
-Wednesday, November 30, 8pm
+Wednesday, May 15th, 8pm
Resubmission (Optional)
You may submit a revised version to improve your Completeness score only
-Friday, December 9th, 8pm
+Friday, May 24th, 8pm
@@ -148,9 +141,9 @@ Initializing your Project 3 Repository$REPO_URL refers to the
SSH URL of your repository. To get this URL, log into GitHub and navigate to your
-project repository. Then, click on the green “Code” button, and make sure the
-“SSH” tab is selected. Your repository URL should look something like this:
-git@github.com:uchicago-cmsc23320-2022-aut/chirouter-p3-jdoe-jrandom.git
+project repository. Then, under “Quick setup — if you’ve done this kind of thing before”,
+make sure the “SSH” button is selected, and copy the URL that appears next to it.
+It should look something like this: git@github.com:uchicago-cmsc23320-spr-24/chirouter-jdoe-jrandom.git
git init
git remote add origin $REPO_URL
git remote add upstream https://github.com/uchicago-cs/chirouter.git
diff --git a/projects/project3_rubric.html b/projects/project3_rubric.html
index 9fb72e9..e8676e6 100644
--- a/projects/project3_rubric.html
+++ b/projects/project3_rubric.html
@@ -112,13 +112,10 @@
Project 3 Rubric¶
-
-Warning
-This page has not yet been updated for Spring 2024.
-
The grading of this project follows a specifications grading approach. If you have not already
-done so, make sure to read our Grading page for more details.
-You will receive two ESNU scores for this project:
+done so, make sure to read our Grading section of
+the syllabus for more details.
+You will receive two SNU scores for this project:
Completeness score: This score will be determined solely by the result of running
the automated tests, as these give a measure of how complete your implementation
@@ -143,7 +140,7 @@
Project 3 Rubric
Submission Timeline¶
-This project has one required submission, and an optional resubmission:
+The exact timeline of submissions will be the following:
Submission
@@ -152,19 +149,35 @@ Submission TimelineFinal Submission
+Project 3
chirouter (entire project)
-Wednesday, November 30, 8pm
+Wednesday, May 15th, 8pm
Resubmission (Optional)
You may submit a revised version to improve your Completeness score only
-Friday, December 9th, 8pm
+Friday, May 24th, 8pm
Unlike Projects 1 and 2, the resubmission can only be used to improve your Completeness score
(i.e., the score on the automated tests). Since Project 3 is due by the end of the quarter,
there is not enough to do a full resubmission-regrading cycle.
+NOTE: To make a resubmission, you must make a “good-faith” submission by the project
+deadline. A good-faith submission is any submission where it is clear you have put it
+a substantial amount of effort to complete the project. Please note that we will consider
+any submission that scores an N in completeness to meet the bar for a good-faith submission.
+This means that, if you want to make a resubmission, you cannot skip the initial
+submission, or submit an effectively empty submission. The reason for this is that
+such a submission could score an S in Code Quality purely because most of the rubric
+items are moot (because there is little/no code to grade). Your resubmission could
+then score an S in Completeness, but then have major Code Quality issues.
+In practical terms, this means the following:
+
+If you are scoring an N on the tests in your initial submission, you have nothing to
+worry about. You can make a resubmission to raise your test score to an S.to
+If you skip the initial submission, or score a U in the tests, we reserve the right
+to regrade your code for Code Quality in the resubmission.
+
Completeness¶
@@ -175,7 +188,13 @@ CompletenessAutomated tests
in the chirouter documentation for more details)
-
Your ESNU score will then be determined as follows:
+NOTE: In Project 3, you will be relying on manual testing to a greater extent
+than in Projects 1 and 2. The automated tests provide a convenient way to run all
+the tests and get a test score but, in general, if your code works when testing it
+manually, and fails the corresponding automated test, you should consider the test
+to have passed (you should make a note in the README file so the graders are aware
+of this)
+Your SNU score will then be determined as follows:
Code Quality
-Excellent: Your submission has none of the issues described below or, at most,
-has only a few minor mistakes or small style issues that would be trivial to address.
Satisfactory: Your submission has a few of the issues described below (but no
-major issues), and would only require minor changes to get to an E.
+major issues).
Needs Improvement: Your submission has several of the issues described below,
-or at least one major issue. In general, major revisions would be required to
-get up to an S or E.
-Ungradable: Your submission does not constitute a good-faith effort to complete
+or at least one major issue. In general, major revisions are typically required to
+get up to an S.
+Unsatisfactory: Your submission does not constitute a good-faith effort to complete
the work. This includes not submitting any work at all, as well as submitting
only placeholder code (e.g., code that includes functions for all the required
IRC commands, but where the functions are empty or filled with “TODO”s, etc.)
diff --git a/projects/project3_tips.html b/projects/project3_tips.html
index 3907502..0724af7 100644
--- a/projects/project3_tips.html
+++ b/projects/project3_tips.html
@@ -98,9 +98,7 @@