The purpose of this repository is to give you feedback on your overall grade in Computer Science 203, Software Engineering. With the exception of the template for requesting the use of a token, there are no files inside of this repository and you do not need to add any files to this repository.
The course instructor will us this repository to submit overall course assessment reports to either the issue tracker or the pull requests tracker in this repository. Students who have questions about any aspect of their course assessments are encouraged to schedule a meeting with the instructor during office hours.
As explained on the course web site, the grade that a student receives in this class will be based on the following categories. All of these percentages are approximate and, if the need to do so presents itself, the course instructor may change the assigned percentages during the academic semester. If there are changes to these categories during the academic semester then they will appear solely on the course web site; the content in this file is exclusively for a student's quick reference.
- Team Participation: 5%
- Executive Summaries:
- Professional Development: 10%
- Technical Development: 10%
- Software Engineering Evaluations:
- In-Person Assessments: 10%
- Programming Skill-Checks: 10%
- Midterm Examinations: 10%
- Final Examination: 15%
- Project Development: 30%
These assessment categories have the following definitions:
-
Team Participation: Students are expected to regularly attend and actively participate in all class and project development sessions. After either an unexcused absence or a late attendance to either a class or project development session on two separate occasions, a student's overall team participation grade will be reduced by half a percentage for each additional time they are absent or late in an unexcused fashion. Students who need to miss class or attend class late for an excused reason should communicate their situation to the instructor in a timely fashion. After one warning per week, a student's weekly team participation grade will be reduced if they are observed undertaking non-course-related activities like viewing email, social media, or other content not connected to the software engineering course.
-
Midterm Examinations: The two midterm examinations are online cumulative assessments, taken during the laboratory session, that cover all prior technical material from the course sessions, as outlined on the course schedule. Unless prior arrangements are made with the instructor, all students should use their computer to take these tests on the scheduled date and to complete it in the stated location while taking no more than the required amount of time. Each midterm is an executable examination that students will complete through the use of GitHub, VS Code, and the Python programming tools installed on their laptops.
-
Final Examination: The final examination is an online cumulative assessment, taken during the final examination session, that covers all of the material during all of the course sessions, as outlined on the course schedule. Unless prior arrangements are made with the course instructor, all students should use their computer to take the final examination on the scheduled date and to complete it in the stated location while taking no more than the required amount of time. The cumulative final is an executable examination that students complete through the use of GitHub, VS Code, and the Python programming tools installed on their laptops.
-
Programming Skill-Checks: The programming skill-checks are in-class online cumulative assessments covering all prior technical material from the course sessions, as outlined on the course schedule. Unless prior arrangements are made with the instructor, all students should use their computer to take these skill-checks on the scheduled date and to complete it in the stated location while taking no more than the required amount of time. Designed to prepare learners for an examination, each skill-check is an in-class executable assessment that students complete through the use of GitHub, VS Code, and the Python programming tools on their laptops.
-
In-Person Assessments: The three in-person assessments are cumulative evaluations of both technical and professional knowledge conducted through an in-person conversation with the course instructor. All students should be prepared to answer at least one question each about their attainment of professional and technical skills and the source code and documentation of the software project(s). The instructor will assess each student response on a checkmark basis.
-
Professional Development: Graded on a checkmark basis and building on material in the Software Engineering at Google textbook (i.e., SE) and the content covered during that week's in-person classroom sessions, the professional development tasks, namely the publication of a team-based executive summary, both have the following goals: (i) help a learner to demonstrate that they can remember the learned material by recalling facts, basic concepts, and answers to questions presented in SE and (ii) allow a learner to demonstrate an understanding of facts and ideas by translating, interpreting, and contextualizing the main professional concepts found in SE.
-
Technical Development: Graded on a checkmark basis and building on material in the Fuzzing Book (i.e., FB) and Debugging Book textbooks (i.e., DB) and the content covered during that week's in-person classroom sessions, the technical development tasks, namely the publication of a team-based executive summary, have the following goals: (i) help a learner to show that they can remember the learned material by recalling facts, basic concepts, and answers to questions presented in FB/DB and (ii) allow a learner to demonstrate an understanding of facts and ideas by interpreting and implementing the main technical ideas presented in either FB or DB.
-
Project Development: These team-based projects invite students to explore different techniques for specifying, designing, implementing, testing, documenting, deploying, and maintaining real-world, open-source Python-based software tools. These projects also encourage students to use and build software engineering tools to complete tasks like debugging and testing. The technical work that a student completes during project development will take place in a public GitHub repository and will be further documented and reflected on in a private GitHub repository that the instructor will use to furnish assessments and feedback to the student. Finally, the professional work that a student undertakes as part of project development will occur in both an in-person setting and through a public GitHub repository, with the use of a private GitHub repository offering the opportunity for the student to document and reflect on their contributions and for the instructor to offer detailed feedback and assessments.
Please follow these steps to use one of your three tokens:
- Step One: Create an issue in this repository's issue tracker, using the "Token Usage" template in the file referenced in the following section.
- Step Two: Send a direct message to the course instructor on Discord, sharing the URL of the issue that you created in the previous step.
- Step Three: Wait for the course instructor to respond to your issue, providing you with feedback on your request to use a token.
- Step Four: If the course instructor approves your request to use a token, then you should follow the instructions that they provide to you in the issue's comments, completing the work by the agreed on schedule.
- Step Five: After you complete the work, message the course instructor on both GitHub and Discord to let them know that you have completed the work.
- Step Six: After you complete the work, the course instructor will provide you with feedback on your submission and then close the issue.
- Step Seven: Repeat these steps if you would like to use another token, up to the maximum of three tokens during the academic semester.
Please refer to the file in this repository called tokens.md for additional instructions for using a token and the token use template that you should used as the content for the issue in GitHub. If you do not understand how to use a token, please ask the course instructor for additional clarification in a public channel in the course's Discord server.