CYF Docs
  • Welcome to CodeYourFuture Docs
  • CodeYourFuture Curriculum
  • 🏨Organisation
    • Our History
    • Agreements & Policies
      • Naming Accounts Consistently
      • Code of Conduct
      • House Rules
      • Trainee Forms
        • Personal Circumstances Forms
        • Course Withdrawal Request
        • Leave of Absence Request
        • Learner Agreement
      • Trainee Expenses
      • Trainee Pregnancy Policy
      • Volunteer Agreement
      • Volunteer Expenses
      • Complaints Procedure
    • Partnerships
  • πŸ‘¨β€πŸŽ“Trainees and Alumni
    • Overview
    • Course Eligibility
    • Basic Online Skills Course
      • WhatsApp Community Guidelines
    • CYF Products
      • Our Products
    • Trainee Support
      • Signpost
      • Request a Laptop
      • How to get a bank account
      • Minimum Laptop Specs
      • Trainee Expenses
  • πŸ‘©β€πŸ«Volunteers
    • Overview
    • Teams
      • Tech Education
        • Roles
          • Lead Trainer
          • Technical Assistant
          • Tech Buddy
          • Syllabus Team
      • Professional Development
        • Roles
          • PD Trainer
          • PD Coach
          • PD Coursework Reviewer
          • PD Mock Interviewer
          • PD Syllabus Team
        • PD Coach Guide
      • Community Coordination
        • Outreach Roles
        • Social Media Guide
          • Plan and schedule Social Media
        • Applicant Outreach
          • Calling NGOs and other referral organisations
            • NGO Dashboard - Step by step guide for volunteers
          • Calling Applicants
          • More outreach strategy
        • Volunteer Outreach
        • Approaching Potential Partners
        • Energisers and Icebreakers
      • Employability
        • Regional Employability Role
        • Career Mentors
      • CYF Products/Launch Module
        • Roles
          • Product Owner
          • Product Manager (Launch Module)
          • Scrum Master
          • Tech Lead
          • Tech Lead (Launch Module)
          • Developer
          • Code Reviewer
          • QA
          • UI/UX Designer
          • Business Owner (Lauch Module)
          • DevOps Engineer
  • πŸš€PROGRAMME DELIVERY
    • Running the Course
    • 🌍Launching the community in a new region
      • Fundraising & budgeting
      • Finding a Space
  • Archive
    • πŸ—„οΈArchived Pages
      • Intro to Digital (ITD)
        • Re-application Requirements for Application rejection
      • After Graduation
      • Running the course
      • Getting a Job
      • Useful Links
      • Hackathons
      • Asking Questions
      • Hosting on Netlify
      • Applicant Interviews
        • Interview - Technical
        • Interview - English
        • Interview - Rubric
      • Selection Day
      • Google Classroom for Trainees
      • Google Classroom
        • Google Classroom For Volunteers
      • Re-admission to Course
      • Laptop Request
      • Requesting a Laptop or Support
      • Graduation Module
      • Join CYF Tech Products
      • Overview
      • PD Coursework Reviewer
      • PD Coach
      • Onboarding PD Volunteers
      • CYF Website
      • Mission, Values & Working Principles
      • Our Trainees Backgrounds
      • Onboarding Process
      • Dashboard
      • Joining
      • Overview
      • Tools
        • Slack
          • Slack for Volunteers
          • Slack for Trainees
      • Leaving or Stepping Back
      • After the Course
        • From Trainee to Volunteer
      • General Information
      • Overview of our Process
        • Outreach Process
        • Application Process
        • Student Selection Process
        • Volunteering Structure
        • Class Structure
        • Communication from each CYF branch with CYF Global
        • Tech Projects
        • Tech Suite
        • Marketing
        • People into Employment
        • Finances and Insurance
      • The Founders team challenge
        • Challenge 1 - Find the Founding team
        • Challenge 2 - Strategy Challenge
          • The strategy challenge Template
        • Challenge 3: Find the Ambassador team
      • The Ambassadors Challenge
      • Volunteers Requirements
      • Welcome Event
      • The first Ambassador Team
      • Intro to Digital Course
        • Course Materials
        • Intro To Digital Slack Community Guidelines
      • Fundamentals Course
        • Course Materials
      • Software Development Course
        • Course Materials
      • Guides
        • Node Version Manager
        • Common Responses
          • Create an example
          • Don't ask to ask
          • Read the error message
          • Reply in thread
      • Coursework Feedback
      • Training Tips
      • Starting a Course
      • Getting Setup
      • Hackathons
      • Codility
      • Study Groups
      • Before the Course
        • Course Eligibility
      • Request a Laptop or Other Support
      • Success Criteria
      • Joining the Course
        • Laptops
          • Installing Ubuntu
      • Assessment
        • Milestones
      • Codewars
        • Codewars Advice from CYFers
        • Codewars Advice from Mentors
Powered by GitBook
On this page
  • 1. Giving Feedback
  • Feedback Advice
  • Quickly Giving Feedback
  • Plagiarism
  • 2. Grading
  • 3. Mentor Responsibility

Was this helpful?

  1. Archive
  2. Archived Pages

Coursework Feedback

Code review at CYF

PreviousReply in threadNextTraining Tips

Last updated 8 months ago

Was this helpful?

Giving effective, actionable feedback is one of the ways that we can best help our trainees learn and grow.

1. Giving Feedback

Do your code review in public directly on the trainee's Pull Request. Use all the features of GH Code review. It's part of what we are teaching. There are marking guides in many repositories to help with common responses.

Do this short training on Pull Requests to refresh yourself if you haven't worked with Github recently:

You can find all the open PRs that have requested your review on Github

Feedback Advice

Be Positive

Above all else be positive and be kind. Our trainees want to learn and want to understand. They work really hard.

You should pull out small wins from bad code and encourage them to continue and try again. Many of our trainees suffer from low confidence and a well timed comment of motivation can be all it takes to push them to success.

If in doubt, consult our key .

Directing to Resources

If you can tell that a trainee has been struggling with a particular area, one way that you can help is to

  1. Acknowledge that they have struggled

  2. Reassure them that many people struggle with such problems

  3. Direct them to an online resource that will help them understand the problem better

Don't write long, complex explanations. It's a time sink, especially when great resources already exist.

Please note: Do not just link to documentation! Link to a tutorial or guide that explains the documentation.

If you hit upon a really effective teaching moment, please share it with the group.

Fixing Bugs

Prompting to Ask Questions

Make every error a teaching moment, mention that you see other trainees struggling with the same concepts and that asking questions on Slack can be a way to remedy their problems.

Explaining an Obvious Mental Model Issue

If they seem to fundamentally misunderstand a concept then it is best to refer them back to the source material.

Formatting

It never hurts to remind the trainee of the importance of proper formatting and indentation

Quickly Giving Feedback

Visual Studio Github Plug-in

You can use the VSCode plugin, which allows you to make comments from directly inside VS Code and allows each comparison between Pull Requests.

Use the code review tool in GitHub

Plagiarism

We take plagiarism seriously at Code Your Future. If you suspect a trainee has deceptively copied code please raise it directly with your Programme Manager and we will address it directly with the individual. If trainees have worked together but don't know how to explain this clearly, coach them to mob their commits, either using git-mob or GitHub Authors.

2. Grading

Grading does not work well for our model so we stopped doing it.

Different teachers grade homework at different levels, and we have many many different teachers coming in and out. Often grading falls away after initial enthusiasm, so the "data" becomes sketchy and unreliable. It also places trainees into a child role, motivated externally by reward, instead of being in charge of their own learning. We do lots of 121 code review instead of grading, and focus on building real software together that works in the world, evaluated with good unit testing.

We aim to give trainees feedback rather than grades. You should always prioritise meaningful technical mentorship and personal feedback over processes like grading. CYF is not a school. It is a community where adults come together to share skills and develop software. Give your feedback directly on GitHub and ideally line by line on actual code.

3. Mentor Responsibility

Education volunteers are responsible for a group of trainees from Intro to Digital to Employment.

They are responsible for

  • Code review of trainee coursework and side projects

  • Technical mentorship

  • Recording feedback on trainee progress for their assigned trainees according to the needs of the cohort

There is a standard tracker to help organise this work. Ask your Program Manager.

If you are unable

  • You are responsible for communicating with other education team volunteers to find someone to cover these responsibilities

If you have completed your code review and you feel able to do more, please offer your time to other volunteers to help them

If trainees haven’t completed their coursework

  • Please liaise with the PD team lead to follow up with that trainee

If the bug is a simple compilation or formatting error it's perfectly fine to suggest a fix to the issue. For example, an incorrect relative URL is a simple error that does not imply a deeper misunderstanding of the content and so can be safely fixed. You can suggest this change as a line edit and guide your trainee to using the GH tools.

When a trainee implements code in a way that seems nonsensical the root cause can often be a misconception in how they have built their . If you can obviously tell from their homework what their misunderstanding is then you are encouraged to correct them.

This not only gets the trainees used to using it, but also make it easier for other reviewers to know if work has been reviewed. .

πŸ—„οΈ
https://lab.github.com/githubtraining/reviewing-pull-requests
https://github.com/pulls/review-requested
rules
incorporate the feedback
mental model
https://github.com/microsoft/vscode-pull-request-github
The process is documented here at point 7