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

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

Introduction to UMLet and Design

In this lab, students work collaboratively to create graphical representations of class relationships. Using UML and Java, students must build containment diagrams (shows an instance or instances of classes that are contained, or instantiated, within the class) and inheritance diagrams (shows how one or more class extends, or inherits, from the class to which the arrow is pointing).

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

Vending Machine

In this project students work independently to create a vending machine program. Using fundamental programming constructs, such as variables and conditionals, and a greedy algorithm (http://en.wikipedia.org/wiki/Greedy_algorithm), students are to construct a program that calculates the minimum number of coins necessary to make change for a particular purchase. This program introduces the concept of a greedy algorithm within the context of an example that is well-known among computer scientists (i.e. making change). The project is ideal for students who are both new to algorithms and are looking for practice with fundamental programming constructs.

Subscribe to Effective Encouragement