Break the habit of telling kids they’re smart, keep a running list of comments that promote a growth mindset on hand to praise things your students can control.
Provide feedback on things your students can control, their hard work or their persistent effort, to reinforce that through hard work they can get smarter.
Disagreement is a part of the scientific process and teamwork, learning to disagree respectfully is important for students to practice.
SciGirls Seven tip: “Girls gain confidence and trust in their own reasoning when encouraged to think critically.”
Emphasize to students that visual programming languages like Scratch are bona fide computer programming languages.
Students may have an easier time learning about conditionals when using a visual programming language like Scratch.
Encourage students, especially undergraduates, to get involved with CS research and researchers to develop their interest in pursuing CS research careers.
Allow students to choose from a list of possible projects, and have them pursue multiple research questions. This increases the chances that at least one project/question will emerge as feasible.
Give research students an initial set of papers to read to help them generate their own potential research questions.
Place research students in groups of up to five to maintain continuity as some students leave and new students join.
Meet with research students frequently to ensure that they and their research groups are making adequate progress.
Set clear expectations with your research students at the beginning of your relationship to avoid miscommunication later, including how much time they are expected to spend on the research and what kinds of deliverables they will need to produce.
To ensure that your research students are making adequate progress, set up designated work time and places, and have them submit regular written updates on their work.
Include your research students in as many research community activities as possible to expose and acclimate them to the research lifestyle.
Provide additional support for students with less experience programming so they appreciate the level of detail and specificity computers require from instructions to perform even simple tasks.
Support students until they are proficient with content from the beginning of the course as subsequent content will be all the more difficult to learn without mastery of prior content, particularly in introductory CS courses.