This repository contains the template for the code of conduct activity in a computer science class. The class members collaboratively improve and add missing details to the template to develop a completed and comprehensive code of conduct. The instructor and students then use this conduct guide to govern all course interactions.
-
To develop a code of conduct governing how all members of the computer science class will interact during class, lab and practical sessions, as well as when working in a team.
-
To learn how to use GitHub and the GitHub Flow model to support collaboration among a team of software engineers.
-
To learn how to use Markdown to complete technical writing tasks.
If you have not done so already, please read all of the relevant GitHub Guides that explain how to use many of the features that GitHub provides. In particular, please make sure that you have read guides such as "Mastering Markdown" and "Documenting Your Projects on GitHub"; each of them will help you to understand how to use both GitHub and GitHub Classroom. You are also expected to read ACM's Code of Ethics and Professional Conduct. Please see the course instructor if you have questions on these reading assignments.
In this activity all class members work in the same Code of Conduct repository following GitHub flow model to collaboratively improve the conduct guide.
For this assignment, your task is to collaborate with the members of your class to write a full-featured code of conduct, using the GitHub Flow model to facilitate collaboration. You should first read the ACM's Code of Ethics that all computer scientists are expected to follow. Using this broad standard as the baseline, you should then describe specific student and instructor behaviors that are deemed to be acceptable and unacceptable in this course. Make sure that you explain how the class will handle infractions of the conduct guide.
Please note that you should use repository forks or branches and pull requests to ensure that your work is ultimately added to the repository's master branch. When you follow the GitHub Flow model you should create a separate "feature branch" in your GitHub repository that contains additions or changes that you want to make to the code of conduct. Using appropriate commit messages, you will repeatedly commit to this branch until you have finished the feature. Now, you will use GitHub to raise a pull request, tagging the course instructor and the student technical leaders and asking them review your work. Once you have resolved all of the concerns raised by the reviewers of your pull request and it is approved, a member of your team should merge it into the master branch of the GitHub repository. At this point, you can delete the feature branch from the repository and start working on the next task associated with completing this project.
Each member of the class will be assigned to a team at the beginning of the lab session. Each team will be assigned one feature/section to start with. All teams are expected to make contributions to all sections of the conduct guide.
Your team should use GitHub and its features (e.g., issue tracker, pull requests, commit log, and code review request) to complete all of the tasks referenced in the previous section. Aiming to manage risk and estimate the effort required for individual team members to complete this project, you should assign people to teams, roles, and tasks. While it is acceptable for you to have Zoom discussions with your team members or to talk about the project through Slack, please remember that all important discussions and decisions must be also documented through GitHub.
Since multiple approaches may support the effective completion of the required documents, this assignment does not dictate team organization or communication strategies. The students in the course should instead work with each other, the student technical leaders, and the instructor to identify team roles and strategies for effective organization and communication. Importantly, you should make sure that every student in the class makes a contribution to the code of conduct GitHub repository. By the end of the laboratory session, the team should have identified roles for each student in the class, thus ensuring that everyone has assigned tasks that will both capitalize on their expertise and enhance their software engineering skills. Please remember that GitHub Actions CI is configured to check the Markdown files in the repository with "mdl". If your writing meets all the established requirements set by this linting tool, then you will see a green ✔️ in the listing of commits in GitHub after awhile. If your submission does not meet the requirements, a red ✖️ will appear instead. The instructor will assign your grade as a checkmark grade (0/1) for this lab; you will receive 1 if you contributed to the GitHub repository, your team made a pull request including your contributions, and it was accepted by the instructor and technical leaders, otherwise you will receive a 0.
If you have any problems with this conduct guide assignment, then please create an issue in this repository using the "Issues" link at the top of this site.