- This training is quite big, and it will be hard to understand if there will be more than 3 hours per day.
The best way is: 3 sessinons during week, 2.5 hours each.
You can separate it in two parts: 2 weeks of training - first part, than skip 2 weeks, 2 weeks of training - second part. - Ask your training manager permission to record the training, and give the records only for students that have solved practice tasks related (it is a good motivation)
- After each day of the training, don't forget to send the material to students.
CONVERT IT TO PDF BEFORE SENDING! - Fork this repo and don't forget to check for updates.
- ALL practice tasks must be reviewed
- Follow workflow and ask students to follow it: workflow
- You can check most common review problems during review in closed pull requests list: pulls
- If you have no time for practice, you can skip the task and give it as a homework
- Time for practice should not be the complete time for solving: it is a time for questions and attempts to solve
- Don't give a deadlines: student can solve any task at any time, even after a training
- Review only 2 times, and don't forget to mark pull request with "1st review" and "2nd review" label
- If everything in practice task looks good to you, assign "nice work" to the pull request
- You can introduce 3 types of review comment:
- Critical (marked with bold font) - when you see something disastrous (like UB/crash/compilation error/etc)
- Common - when you see something not optimal or incorrect (like excessive copy/incorrect use of algorithm/etc)
- Non-critical (marked with italic font) - when you see something related to codestyle (bad naming/too big function/etc)
- TEACH STUDENTS CPP CORE GUIDELINES (!!!!): best practices
Don't forget to link cpp core guidelines item when you are reviewing their code. MODERN C++ STYLE IS VERY IMPORTANT PART OF THIS TRAINING. - "Solved" repo may be out of date, so you should check only the main idea of implementation there
- Ask students to fill the form like that
It contains following questions:
- Current position
- Expectations
- Area of C++ application
- Current level of STL knowledge
- Motivate students to fill it: if 70% of students filled this form, send them examples as a separate projects
- Ask students to fill the feedback in LTC or your form (like that)
If 50% of students have filled the feedback form, you should send solved practice tasks - it is quite a good motivation.
- You can find possible answers to "think-times" in slide note, or you can give example from your experience
- Give at least 1 minute for each think-time before discussion starts
- If you have time, give quizes for students with following rules:
- Up to 5 people can join the quiz
- Question is assigned only for one participiant
- There is only 60 seconds to answer
- If question was not solved, you ask the same question for the next participiant
- If correct answer is given, next participiant will have a new question
- There is 5 rounds (so, each participiant will have 5 questions)
In case of any questions related to this training, please contact me: [email protected]