/cs203-S2020-lab8-starter

Starter for Laboratory Assignment 8 in Computer Science 203 Spring 2020

cs203-S2020-lab8-starter

Designed for use with GitHub Classroom, this repository contains the starter for Laboratory 8 in Computer Science 203. As part of this assignment, you should answer all the questions in the reflection.md file, furnishing evidence of your contributions to this week's effort towards completing the long-term software engineering project and your overall contributions towards finishing the project. Students who have questions about this task should talk with the course instructor. Before the due date for this laboratory assignment, please ensure that:

  • Throughout the project, you made significant contributions to the shared GitHub repository for each week of the long-term software engineering project, as evidenced by commits to the master branch of the repository that you and your team members merged through the use of the GitHub Flow model.

  • The build status for the shared GitHub repository for the software engineering project is passing. In particular, please ensure that all linting checks, for both the source code and technical writing, and all test cases are passing.

  • The GitHub repository for the long-term software engineering project does not have any resolved issues in it that you could have and/or did already handled.

  • The GitHub repository for the long-term software engineering project has a clear listing of any unresolved issues that you did not solve. There should be evidence that you and your team members have thought about how to address these unresolved issues as part of future work on the project.

  • The GitHub repository for the long-term software engineering project has closed issues or merged pull requests for which there is evidence that you made a significant contribution to the task.

  • This GitHub repository contains a completed reflection file. You need to complete the checklist and then make sure that you provide a thorough response to all of the technical writing questions in this file. Please make sure that the contents of your reflection file passes the linting checks that are run in Travis CI. Please use this file to furnish clear evidence of your contributions to this long-term software engineering project.

  • This GitHub repository contains a completed assessment file. Notably, you should copy over the assessment file from the previous week and then continue to add to that version of the file as you demonstrate the mastery of new technical and professional skills in software engineering throughout this week. You need to write a paragraph that explains your current level of mastery for a specific technical or professional skill and then justify why you are making that assessment. Please make sure that the contents of your assessment file passes the linting checks that are run in Travis CI.

  • You have followed the required best practices for asking the course instructor for feedback on your overall assessment of the work that you completed for this long-term software engineering.

Automated Checks with GatorGrader

Please remember that this assignment includes a rigorous assessment of your work on the long-term software engineering project as, by the completion of this week, we will have completed the long-term project. This means that in addition to meeting all of the requirements outlined in the assignment sheet, your submission must pass the following checks that GatorGrader automatically assesses:

  • The assessment.md in has at least 50 paragraph(s)
  • The assessment.md in has exactly 12 of the heading tag
  • The command output has exactly 0 of the Add Your Name Here fragment
  • The command output has exactly 0 of the Add Your Name Here fragment
  • The command output has exactly 0 of the TODO fragment
  • The command output has exactly 0 of the TODO fragment
  • The file assessment.md exists in the directory
  • The file conduct.md exists in the directory
  • The file reflection.md exists in the directory
  • The reflection.md in has at least 500 word(s) in total
  • The reflection.md in has exactly 14 of the heading tag
  • The reflection.md in has exactly 2 of the code_block tag
  • The reflection.md in has exactly 6 of the list tag
  • The repository has at least 5 commit(s)

If GatorGrader's automated checks pass correctly, the tool will produce the output like the following in addition to returning a zero exit code (which you can access by typing the command echo $?).

        ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
        ┃ Passed 15/15 (100%) of checks for cmpsc-203-spring-2020-lab8! ┃
        ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Following the Code of Conduct

Throughout the completion of this software engineering project you should have adhered to the code of conduct that we developed as part of a previous laboratory assignment. In addition to reporting any violations of the code of conduct, please make sure that you attest to the fact that you regularly followed the code of conduct. Students who think that the software engineering team should revise some aspect of the code of conduct must use the GitHub issue tracker for that repository to suggest, discuss, and implement any required changes. Please note that, at the time this project was released, the members of the software engineering team did not finish the code of conduct and thus the instructor released the incomplete version to all students in the course.

Documenting Your Mastery of Technical and Professional Skills

Even though this long-term software engineering project involves a multiple-week effort, you were expected to make significant contributions to the project every week. As a means for documenting your contributions to this project, you should fully complete the reflection document and, additionally, annotate the assessment guide to track your mastery of the professional and technical skills in the field of software engineering. For every category for which you decide an assessment is appropriate, you should write a complete paragraph that reports your current level of mastery and the evidence that you would furnish to support your assessment. If there is not a paragraph next to one of the assessment criteria, then the instructor will assume that you are currently working at the :disappointed: level. Please note that you are responsible for documenting your mastery of all the technical and professional skills in software engineering since we have now completed this long-term software project.

Assignment Assessment

Taking inspiration from the principles of specification-based grading, the grade that a student receives on this assignment will have the following components:

  • Travis CI Build Status: Since additional checks on the source code and/or technical writing may be encoded in Travis CI's actions, students will receive a checkmark grade if their last before-the-deadline build passes and a green ✔ appears in their GitHub commit log instead of a red ✗. As with the previous grading component, students are encouraged to repeatedly revise their source code and technical writing in an attempt to get their Travis CI build to pass.

  • Mastery of Technical Writing: Students will also receive a checkmark grade when the responses to the technical writing questions presented in the reflection.md and assessment.md reveal a mastery of both writing skills and technical knowledge. To receive a checkmark grade, the submitted writing should have correct spelling, grammar, and punctuation in addition to following the rules of Markdown and providing technically accurate answers. Students are encouraged to ask the course instructor or a student technical leader to use the GitHub issue tracker to provide feedback on their mastery of technical writing skills.

  • Mastery of Technical Knowledge and Skills: Students will also receive a checkmark grade when their GitHub repository reveals that they have mastered all of the technical knowledge and skills developed during the completion of this assignment. As a part of this grade, the instructor will assess aspects of the project including, but not limited to, the use of effective Markdown syntax and appropriate Git commit messages. Students are encouraged to ask the course instructor or a student technical leader to use the GitHub issue tracker to provide feedback on how well their work demonstrates mastery of the assignment's technical knowledge and skills.

All grades for this week of the long-term software engineering assignment will be reported through a student's GitHub repository using either messages in the GitHub commit log or issues raised in the issue tracker. Students should ask questions about their grade for this project in GitHub so as to facilitate an effective conversation about the submitted deliverables. As described in the assignment sheet for this long-term software engineering project, you will also receive a separate percentage grade for your overall contributions to the long-term software engineering project. The team as a whole will receive a baseline grade for the project and then your grade may be higher or lower than or equal to the baseline depending on the quality of your contributions, your assessment, and your written reflection.

Problems with the Assignment

If you have any problems with the completion of this assignment, then please create an issue in this repository using the "Issues" link at the top of this site. Before this assignment is submitted by the due date, all the issues in this repository should have been assigned to a team member, discussed, handled, marked as resolved, and then closed.

Project Feedback

Students who wish to receive feedback on their work for this practical assignment should first open an issue on the issue tracker for this GitHub repository, giving an appropriate title and description for the type of feedback that you would like the course instructor to provide. After creating this issue, you will see that GitHub has created a unique web site that references this issue. To alert the course instructor to the fact that the issue was created and that you want feedback on your work, please send it to him by a Slack direct message at least 24 hours in advance of the project's due date. After the instructor responds to the issue, please resolve all of the stated concerns and participate in the discussion until the issue is closed.