Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
socket_chat
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CSCE 361
starter code
socket_chat
Commits
0e6fd969
Commit
0e6fd969
authored
5 years ago
by
Christopher Bohn
Browse files
Options
Downloads
Patches
Plain Diff
Updated rubric
parent
2ac99769
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
assignment/socket_chat--patterns-and-testing.md
+51
-3
51 additions, 3 deletions
assignment/socket_chat--patterns-and-testing.md
with
51 additions
and
3 deletions
assignment/socket_chat--patterns-and-testing.md
+
51
−
3
View file @
0e6fd969
...
...
@@ -75,6 +75,30 @@ git commit --author="Herbie Husker <herbie@huskers.unl.edu>"
project, so you can follow your IDE's instructions to import a Maven
project.
## Issue Tracker
We have pre-populated your repository's Issue Tracker with issues for the
various parts of the assignment that need to be completed.
**
We do
*not*
guarantee that the pre-populated issues are complete; this document is the
authoritative source of requirements.
**
-
A good way to coordinate who is working on which parts of the code is to
use the
[
web interface
](
https://docs.gitlab.com/ee/user/project/issues/index.html#issue-page
)
to "assign" an issue to a team member.
-
You may
[
add more issues
](
https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#create-a-new-issue
)
to the Issue Tracker if you wish. This is common when you discover more
tasks that need to be accomplished or when you want to divide an existing
issue into finer-grained tasks (the original issue would still exist, but
the finer-grained issues may make it easier to divide the work).
-
When you have completed a task,
[
close the corresponding issue
](
https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues
)
.
You can do this through the issue tracker, or you can do it through a
commit message.
-
To close an issue through a commit message, include a keyword such as
`closes #12`
in a commit message. You cannot create a commit message
only to close an issue; this must be a commit message for adding/
changing/removing files or for a merge. See
<https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#default-closing-pattern>
for keywords that will close an issue.
## Assignment
Look over the starter code, view
...
...
@@ -124,7 +148,7 @@ code. Since the basename we're using is "socketchat", the file with the English-
language strings is
`socketchat_en.properties`
.
-
The repository includes what may appear to be a file simply named
`socketchat.properties`
.
**Do not edit this file**
.
`socketchat.properties`
.
**Do not
directly
edit this file**
.
Notice that some of the value strings have numbered arguments such as
`{0}`
and
`{1}`
. When combined with
`MessageFormat.format()`
, this allows us to create
...
...
@@ -304,6 +328,12 @@ We will use a parameterized factory.
the second argument. Write enough tests to attain
*statement coverage*
of
`createCipher(String, String[])`
.
- You can confirm that you have statement coverage by generating a
coverage report.
- Eclipse: <https://www.eclemma.org/userdoc/importexport.html>
- Instructions at the bottom of that page. Export as HTML.
- IntelliJ IDEA: <https://www.jetbrains.com/help/idea/generating-code-coverage-report.html>
That's it. That's your Simple Factory.
Now it's time to use it.
...
...
@@ -385,7 +415,7 @@ the correct repository, or that we cannot access, will not be graded.*
## Rubric
The assignment is worth
**2
0
points**
:
The assignment is worth
**2
2
points**
:
-
**4 points**
for internationalization
-
1 points for creating the properties file for the other language
...
...
@@ -399,12 +429,30 @@ The assignment is worth **20 points**:
-
1 point for delegating
`encipher`
and
`decipher`
-
3 points for writing the code to change cipher algorithms
-
**3 points**
for tests
-
1 point for testing
`encipher`
and
`decipher`
for your two classical
cipher algorithms
-
2 points for writing sufficient tests to attain statement coverage of
`CipherFactory.createCipher(String, String[])`
-
**1 point**
for making regular commits;
*i.e.*
, not waiting until the end
of the project to make a massive commit.
-
**3 point**
for meaningful and well-formatted commit messages
-
**2 points**
for meaningful commit messages
This assignment is scoped for a team of 2 students. If, despite your attempts
to engage your partner, your partner does not contribute to the assignment then
we will take that into account when grading.
*If **at any time*
*
your repository is public or has internal visibility then
you will receive a 10% penalty. Further, if another student accesses your
non-private repository and copies your solution then I will assume that you are
complicit in their academic dishonesty.
*
## Contribution Rubric
The contribution is worth
**10 points**
:
-
**1 point**
for completing peer assessment
-
**5 points**
for equitable contribution based on peer assessments
-
**4 points**
for equitable contribution based on git history
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment