Create hands-on, meaningful, and relevant projects where students produce artifacts that require rigorous CS content-knowledge and software engineering skills.
Ensure a meaningful introductory CS learning experience for each student by creating differentiated expansions for assignments while providing the same starting points.
Be explicit when you’re making suggestions to student work, rather than corrections, so your students understand the difference and that it is okay to disagree with your suggestions.
Ask students to reflect on what could have done differently when a class or project doesn’t go well in order to work together to improve future coursework.
Focus your grading on student understanding rather than creating a curve to help each student learn as much of the content as they can.
Use the w3schools.com online HTML, CSS, and JavaScript tutorials to teach students web development through concrete examples rather than abstract definitions.
Adjust all assignments to be a certain length in order to create and maintain consistent deadlines (e.g., weekly) so students remember when their homework is due.
Moderate a group discussion with teams that have trouble working together to resolve disagreements and encourage collaboration in a constructive way.
Incorporate student presentations into your class as a form of assessment so that students develop their public speaking skills.