Encouragement increases self-efficacy: the belief in one’s ability to successfully perform a task. Because we are more likely to engage in tasks we believe we can perform successfully, encouragement may be especially useful for attracting women to male-stereotyped fields and helping them to persist in the face of difficult challenges. Faculty can help by explicitly noting students’ good work, by actively encouraging their computing pursuits, and by encouraging a “growth mindset”.

Some suggestions

Praise and encourage effort. Help your students develop a “growth mindset” by praising their effort and diligence (e.g., "I'm so impressed with the hard work you put into this!") instead of emphasizing that they are smart or talented (immutable characteristics). Having a growth mindset is associated with persistence and “grit”.

Work it into your course materials. Integrate language into course materials that provides encouragement along the way (e.g., "This next task is challenging, so make sure you allocate enough time to complete it, including time you might need to seek help.") and positive reinforcement for completing tasks (e.g., "Congratulations on completing that difficult assignment!").

Make it okay to make a mistake. Let students know that we all make mistakes, get stuck, and have to redo things. Help them uncover their mistakes and encourage them to persist (e.g., "I see what you're doing and that's a typical mistake students make. Try it this way and see what happens.").

Examples from the collection

Interfaces and polymorphism- Painting!

In this lab, students work to create a 'painting' program. The Java program must use variables and methods to store values and perform actions, respectively, for painting. To abstract this idea beyond custom methods, students must create interfaces. Specifically, students are to create an interface where the user can (and must) implement all methods in that interface.

Engagement Excellence

Introduction to Java-Create a Cupcake!

In this lab, students work to create a program with classes in Java. Starting with a review of packages, classes, methods, parameters, and constructors, students will create a program that builds a 'cupcake.'

Engagement Excellence

Getting used to Java syntax (or, "Concise Guide to Java-ish for Tourists in Javaland")

In this tutorial, students work individually to explore the basic concepts of statements, sequence, and methods. Using pseudocode and various scenarios (such as making a milkshake, getting money from a cash machine, and doing laundry), students must examine the basic principles for creating a sequence of actions and then generate their own example. This activity is excellent for introducing the concept of sequences and statements to a student with no background in computer programming.

Resources

More about loops: "while" loops

In this tutorial, students create a program in Java that uses a while loop. The program must accept user input and then evaluate whether or not the value entered by the user is too high or too low. The program must continue to loop until the user enters the correct value.

Loops: "for"-loops

In this tutorial, students create a program in Java that utilizes the 'for' loop. The program must execute a series of actions, such as finding the product of all integers from 1 to 25, print the average grade for five (5) grade value (from 0 to 4) entries, and one additional loop application (as chosen by the student).

Classes and constructors

In this tutorial, students create a program that implements a class. Using Java, students must edit existing files (included) to create new variables, assign new values, and construct new objects.

If-statements; trivia questions

In this tutorial, students create a quiz. Using conditional statements (if) in Java, students must create a program that accepts user input, evaluates the entry against a specific value, and prints an appropriate output response.

Random numbers

In this tutorial, students create a random number generator. Using Java, students must create a program that prints a random integer, prints the value of a coin toss (H or T), prints a value from a discrete set of float/double values, prints a random lower-case letter, and two additional problems (as identified by the student).

Reading in words; "silly sentences"

In this tutorial, students create an interactive program. Using the Scanner class in Java, students must write a program that accepts user input and then displays a subsequent output.

Getting used to Java syntax (or, "Concise Guide to Java-ish for Tourists in Javaland")

In this tutorial, students work individually to explore the basic concepts of statements, sequence, and methods. Using pseudocode and various scenarios (such as making a milkshake, getting money from a cash machine, and doing laundry), students must examine the basic principles for creating a sequence of actions and then generate their own example. This activity is excellent for introducing the concept of sequences and statements to a student with no background in computer programming.

Pseudocode

In this lab, students work to create a square with Turtle graphics and pseudocode. Using the Turtle class in Java, students must create a 'filled-in square.' To start, students must create the program using pseudocode and then, after the algorithm for creating the shape has been defined, write the actual algorithm.

Interfaces and polymorphism- Painting!

In this lab, students work to create a 'painting' program. The Java program must use variables and methods to store values and perform actions, respectively, for painting. To abstract this idea beyond custom methods, students must create interfaces. Specifically, students are to create an interface where the user can (and must) implement all methods in that interface.

Engagement Excellence
Subscribe to Effective Encouragement