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.


Computational Creativity Exercise (CCE): Marble Maze I

In this assignment students work as a team to build, using only specified materials, a structure through which a marble will travel,  Students first work independently developing their own segment of the structure and then work collaboratively to construct a final structure. Students are required to video tape the execution of a marble traveling through the structure lasting at least n seconds. This exercise will allow students to practice problem decomposition, abstraction, generalization, and evaluation, and also debugging and testing.

This exercise was developed as part of the NSF-funded Computational Creativity project at the University of Nebraska-Lincoln.

Day One Ice Breakers

This a set of "icebreaker" activities are used on the first day of an introductory programming class to help create a welcoming learning environment for students and to lay the groundwork for discussions about how to be successful in Introductory Computing. I have included student-facing slides, a sign-in handout, and a short paper with tips for implementing these activities.

Wrapper classes

In this tutorial, students create a program in Java that utilizes wrapper classes. The program must include three ArrayLists (one of type Integer, type Double, and type Character) and it needs to parse values from the ArrayList.

Exam review: classes, methods, etc.

In this tutorial, students create a program in Java that covers methods, conditionals, and object-oriented programming. The activity requires students to use the Problem.java file to practice creating an interactive program that accepts user input and then performs some action on that entry. Then, the students must modify methods (such as answerCorrect) to evaluate the user's overall performance for answering questions correcting on the quiz/interactive program.

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.

Subscribe to Effective Encouragement