9
$\begingroup$

Occasionally I have students who are 'under-motivated': they put way too little effort in to trying to memorize any of the textbook, any idea, each diagram I draw. I used to think that perhaps some people are "not suited" for some kinds of learning, but I threw that idea out: it is insubstantiable, and it is not my job to decide who is in the class anyway!

There is a raft of reasons why (adult) students could be having difficulties. They might have issues with medical conditions, medications, anxiety, depression, unstable home life, economic concerns... But these are not my purview either.

Assuming that the students can do the work if they work rightly, and that I can teach them if I teach rightly, what are some ways to deal with students who seem lost, have insufficient background knowledge, are unused to thinking in programming terms, who have issues with their energy, or are distracted... What are some effective ways to improve teaching in these situations (aside from the obvious of dealing with the cause, which is not in my scope).

$\endgroup$
  • 1
    $\begingroup$ I'm curious - what exactly do you expect them to memorize? As mentioned by a few others below, I've found that having an understanding of basic concepts & patterns and how systems are designed to behave can be much more important than rote memorization. $\endgroup$ – A C Aug 2 '17 at 15:09
4
$\begingroup$

There are no substitutes for talking to the student. You can make guesses, try new activities, or shift things around in your course, but you are shooting blind until you actual figure out what is going on with the human being in front of you.

Find a moment to sit down with the student, explain what you are seeing, and ask them whether that matches their perception. Sometimes it doesn't match, and you will discover something about the student that you didn't know. Perhaps they are painfully shy, or perhaps they have habits (such as fidgeting) that make them appear to be inattentive when they're really listening. You'll never know if you don't ask.

If the student has the same perception, then you must figure out the next steps together. Here are some considerations:

  1. Is there something about the course structure that you should change? (It's okay to change aspects of an entire course for just one student. If one is falling apart due to some course issue, it is probably bothering other students as well, even if they cope with it better.)
  2. Is there some way that you can help the student by checking in frequently? (Hello, repeating calendar events!)
  3. Is the issue entirely unrelated to the course? (Depending on the issue, I would implore my colleagues to be open-minded about extensions, or even flatly modified requirements. Sometimes people encounter difficult times in their life, and a little flexibility from you can make all the difference in the world to the student.)

Ultimately, the student is a unique person. Approach them with a loving, open mind, and the right answer will often become clear.

$\endgroup$
  • $\begingroup$ @nocomprende: do you mean that you, the teacher, are deeply introvert; or that the pupils that have trouble are so? $\endgroup$ – AnoE Aug 2 '17 at 10:50
6
$\begingroup$

You've mentioned before that your students are adults who are attempting to make a career change to a programming role. With that in mind, I think the best thing you can do is show them how what you're teaching helps them achieve that goal.

Think about it from their perspective: I'm an (older?) adult, who has had a "real job" for the last X years. Now I'm trying to change careers. I want to know how to get a new job, and how to perform the tasks of that new job. So it's hard for me to sit in a classroom and memorize stuff from a textbook and from lecture slides.

You and I know that memorizing that stuff will help them in their new careers, but that's not always obvious to students- especially novice programmers.

So my suggestion is to always make sure that your lessons directly tie into their goals. Find out what kinds of applications they plan on working on. Make the first assignment a very basic version of that. With each lesson, build on that assignment so that every step gets them closer to a "real life" end product.

Instead of saying "okay now you have to memorize that" and pointing to some lecture slides or a textbook chapter, ask "how can we improve our product?" and then show them concrete things they can do to make those improvements. The lectures and the textbook become references that help get them to their end goal, which I think is easier for professionals to digest.

For a concrete example, let's say your goal application is a point of sale system. Maybe your first application is a command-line program that mimics a basic transaction. Then the next assignment introduces variables by having different items with different costs. Then maybe the next assignment introduces if statements that apply coupons. Then you could have a lesson on creating a basic GUI, or using for loops to repeat actions, etc.

That's just a dumb example off the top of my head, but you get the idea: use your students' goals as a motivator, and tie your lessons directly into those goals. At the end of your course, students should have specific concrete usable information and a newfound ability to accomplish their goals.

$\endgroup$
  • $\begingroup$ @nocomprende Yeah, I think waiting until the end to let the students work on their own activities just delays their interest until the very end, which is how you lose people. Maybe have each homework be a mini-project where they can do whatever they want, using your lessons as tools to improve it over time. $\endgroup$ – Kevin Workman Aug 1 '17 at 20:25
4
$\begingroup$

Play on their terms

First you should either know what qualities some of those students have. Are they competitive? are they bookworms or maybe enthusiastic about other subjects (for example, physics or biology)?

Once you know these things (which can be discovered with a simple mandatory questionnaire of some sort), then a few options branch out:

     1. Class Competition

     there are many ways to go about this, but my personal favorite is to divide them into groups (the entire class, with the under motivated ones fairly distributed).

Ask each team to create a program that would complete some given problem that is related to the most recent subject taught. The team that writes the least complex or the fastest or one that's best by some other criteria is the winner (and gets some prize which isn't related to grades). Make sure to take note of the participation of the under motivated students in each team. Emphasize that team members should try to encourage one another to participate.

This would work quite well for the competitive students, including the under motivated ones.

     2. Reading assignment

You can casually mention at the end of some lesson that the material for this lesson is freely available in <some book name>, and you highly recommend reading it, even if one isn't so interested in the topic. Of course, make sure that the book you tell them about actually is recommended even for people who are not furvant fanatic for the topic (online book reviews can say so). This gets those who are bookworms interested in the topic, or at least it gets them up to scratch in the subject.

     3. Inter-subject project

For the students who are interested in other subjects, you can suggest they try to make a project in computer science, that has to do with the other subject. A physics simulation, a biology-related program (I have near to nothing knowledge in biology, so this is the best example I have, but don't worry; your students who are interested in a subject usually come up with a good idea for a project that combines both subjects) or something else.

This option depends entirely on the students' enthusiasm in other subjects. But students are rarely uninthusiastic in all subjects.

The idea is to encourage them to do something that they want to do, but that also involves Computer Science. This would both teach them much, and show them reasons for being motivated to learn Computer Science.

This solution obviously won't work for every single situation, but with some tweaking it does cover a wide variety of students.

$\endgroup$
  • $\begingroup$ @nocomprende it's not uncommon that students who need motivation can find it in other fields in which they are motivated. $\endgroup$ – ItamarG3 Aug 1 '17 at 15:47
  • $\begingroup$ It's worth noting that competition doesn't work for everyone. Specifically, women. (I remember reading the book "Gender Inclusive Game Design" which specifically said that women (typically, but of course not always) dislike head-to-head competition but will happily compete indirectly (e.g., each person runs a race on their own, and they compete by comparing times). The main thing is not to force the whole class into competition - what about asking for people to voluntarily compete? $\endgroup$ – MikeTheTall Aug 2 '17 at 6:39
  • $\begingroup$ @MikeTheTall true, but it works for some. It's up to the teacher to choose which of the options would best suit their case. $\endgroup$ – ItamarG3 Aug 2 '17 at 12:07
4
$\begingroup$

Have you considered the social aspect of your class?

For most people, I don't think there's anything more motivating than working towards something you want with people you like.

And even if you're doing hard, boring, or confusing work, if your friends are doing it, you'll want to give it a shot too. If your buddies are excited about their future in the field, then you'll very likely become excited too. It's peer pressure. It's infectious.

This is the reason that cohort models are so powerful. With more time around a group of people, taking all the same classes at the same time, you build deep bonds that make you more excited to come to school every day. Proximity is the strongest predictor of friendship.

I have used this approach to build strong cohorts among students I worked with (18-25yo college students). This is done by frequent teambuilding, constantly mixing up their seating, active learning, pair programming, talking about how they are a cohort, calling them a cohort, reiterating how we're all working together towards our goal, etc, etc.

In my setting, students were excited about graduating with their CS degree and getting a great job. Sounds like it could be similar in your case. I'm sure this looks a little bit different for older adults, but everyone loves being part of a group that's going somewhere.

My recommendations:

  • Make sure students have repeated time and activities to become friends with others in the class. The classroom environment must be friendly and welcoming.
  • Emphasize the amazing outcomes of completion of their program
  • Form cohorts, if possible.

People talk a lot about how being a good employee often depends on how much you like the people you work with. I wonder why we don't talk about the classroom in the same way.

$\endgroup$
  • $\begingroup$ Hey, @nova, you may be interested in this question, and in any case, I'd definitely be interested in your response. $\endgroup$ – Ben I. Aug 7 '17 at 1:26
  • $\begingroup$ @BenI. I am interested in that question and all the questions haha. I've been so busy at work I haven't had much time. Hopefully in a couple weeks I'll be able to spend a little more time here. $\endgroup$ – nova Aug 11 '17 at 15:12
2
$\begingroup$

Talk about why you need to learn things. Talk about the purpose behind learning. Have a philosophical discussion and treat their ideas with respect instead of talking down to them like kids, and ask them for solutions to modern problems.

Tell them what the purpose of computers is. Everyone will have their own philosophy, but in my opinion, computers are here to make our lives easier. For thousands of years man has worked in the dirt to survive, and many still do which we rely on for food. (farmers)

Since we have an industrialized society, computers are the backbone of any serious business/service.

Use simple examples to make your point.

Identify how many computers they rely on to get to class. There's a computer running the smart phone alarm clock, there's a computer supporting the car/bus. There's a computer that runs the gas station pump. There's a computer that runs the checkout line at the grocery store. Talk about life without computers and imagine what that would be like, as a mind exercise and they will see the value of computers.

Computers excel at automation. If you have a bunch of identified tasks that need to be done quickly, you could create a script in excel vba. Start with easy languages, especially if its introductory programming, like vba or python with easy syntax. If they like it, cover traditional strongly typed languages later.

Start with programs they use and identify what they wish the app could do.
Driverless cars can save lives and reduce traffic congestion. As a show of hands who wants to sit in traffic for 2 hours every day?

Computers can fix these problems.

Tell them what you know, and why. Hope it helps; Good luck

$\endgroup$
  • $\begingroup$ Welcome to Computer Science Educators! Wow. This is an incredible answer. However i feel as though the last two paragraphs are mainly important. Don't you agree? $\endgroup$ – ItamarG3 Aug 1 '17 at 20:47
  • $\begingroup$ Thanks, sure the last two are pretty good. There will always be malicious people, but that should not stop the good people from working on new things. The few tend to ruin it for everyone else, this is nothing new, and this is why we have countless laws which don't stop the cause of people committing crimes anyway. This requires personal change, the hardest thing to do. $\endgroup$ – Christopher Hoffman Aug 2 '17 at 12:38
2
$\begingroup$

From early on, show how programming can be used to accomplish cool stuff. Here is a very simple Python example. Get a text file with a book in it; the Gutenberg project is a great source. Open it and use read to suck it into a giant string. Now see how many words the file contains. Is the word "syzygy" to be found? Can you figure out how many times a given word is used? Can you find out if a particular phrase is used? How can you use Python's string methods to explore it? Only very basic ideas are needed to do this.

Give programming some punch by doing some "cheap parlor tricks" that will attract student attention.

By the way, here is my musing on memorization. You end up memorizing only a small amount of stuff while programming. You need to know about the basic form of loops, functions and other programming constructs. But that's small stuff. You will wind up memorizing things you use often for the simple reason that it saves work and helps you to code faster. However, you should emphasize that Google and documentation searches can help you find more esoteric stuff.

Python has turtle graphics. JavaScript has the wonderful Canvas object. Get this stuff out when you are teaching looping. You can have a lot of fun drawing cool art. There is a universe of fun and exciting toys out there. (Can you download a web page programmatically and search it for words?) Engage your kids in unearthing, understanding, and applying it.

Above all, write tons of code in front of your kids. Engage their opinions and get them to contribute ideas and whole segments of code. Encourage a little friendly competition and get them to generate and discuss competing solutions to a given problem.

CS can be tons of fun.

$\endgroup$
  • $\begingroup$ Java and Python, and JS are indispensible and ubiquitous. $\endgroup$ – ncmathsadist Aug 2 '17 at 0:22
1
$\begingroup$

Disclaimer: I'm not a teacher myself so take this with a grain of salt if you must.

Nothing motivates a person more than to feel that they, and their work matters. If your students feel unmotivated I feel you should try and take a look at your own behavior that is unrelated to what you are actually teaching.

See, if anyone wants to learn how to do anything on the computer, technically anyone can go to the internet and try and learn it themselves. So I personally feel that the teacher within this all is responsible far more so to motivate the students in learning what they probably already know they should.

This means that drawing diagrams and showing them how its done is an important part of this all, as it helps them understand and learn more easily, but showing genuine interest and concern for the needs and wishes of the students is far more important than simply explaining things in a structural and orderly fashion.

So I'd say to try and ask your students what THEY want to focus on in class. If they struggle with X, but you teach them Y, a lot of people will just get frustrated with the things you didn't teach them (to their feeling) sufficiently.

I personally always felt very motivated to, and know that almost all my former classmates did too, when the teacher would tell us what we'd be doing first, giving some examples, then converse with the class about what they understand and don't about what you just explained to them. Given time constraints it'd be best to focus on what the majority wants and needs, and then give more personal attention and support to the students that have more or specific needs.

Also remember that positive reinforcement (especially nowadays) is far more powerful than negative. In other words, compliments, even if small, will have a far greater impact than to tell them that they'll fail if they don't keep up. If you can show a positive and supportive side of you, then your students will want to work for their own sake and for the sake of doing their good teacher proud.

$\endgroup$
  • $\begingroup$ Don't discount negative reinforcement. They both have their place. Don't fall for the hype; these are system components of our foundational biological motivations, they're not just making people feel good or bad. $\endgroup$ – Ben I. Aug 1 '17 at 13:38
  • 2
    $\begingroup$ I am well aware that negative reinforcement can be important, but from my personal experience and pretty much everyone I've encountered reacts far better to positive reinforcement. I certainly know that if people went the other way with me, I'd currently still be stuck at home without a job. I personally just feel that there is enough fear in the world as it is. Also since when is it a hype? $\endgroup$ – SpiritBH Aug 1 '17 at 13:41
  • $\begingroup$ What you're saying makes no sense to me at all. Are we even talking about the same thing? Are you using the term "negative reinforcement" in some sense that is outside of the system of Applied Behavioral Analysis? What you're saying only makes sense to me if you're somehow taking the term negative reinforcement, and using it as some sort of synonym for being discouraging. (The way I understand the term, it means something entirely different.) $\endgroup$ – Ben I. Aug 1 '17 at 13:48
  • 2
    $\begingroup$ Maybe I should put it this way then: I've rarely ever noticed anyone changing their way over "hey, if you (don't) do X, Y will happen" wherein Y is something negative. The problem being that the people I interact with are almost always intimidated and aware as it is. I myself for one always think of those things myself and any reinforcement of that thought doesn't push me, but makes me get scared and paralyzed. This is just an example, but I just fail to see how this is anything other than intimidation tactics provided the person is already aware. $\endgroup$ – SpiritBH Aug 1 '17 at 13:58
  • 1
    $\begingroup$ @nocomprende Obligatory XKCD: xkcd.com/357 $\endgroup$ – Ben I. Aug 1 '17 at 17:09
1
$\begingroup$

First, be cautious of labeling everyone who appears not to be keeping up with the amount of work you'd expect from them as "under-motivated." You hinted at this, but there could be lots of things that could be affecting the amount of work they do.

I got my Master's degree as an adult learner, and it was a very different experience than when I was a full-time undergraduate. It's definitely very challenging because there's a lot more you have to take care of as an adult that you wouldn't necessarily have to worry about as a "regular" undergraduate. So yes, it is more difficult to stay motivated as an adult student, and adult students are juggling a lot more responsibilities than just school.

I had the experience of (at least feeling) unmotivated in a particular class because it was initially unclear what it was good for. Quite bluntly, it seemed like a really dumb way of doing stuff that I already knew how to do. It wasn't until later that I realized that it was actually laying a foundation for later courses, and that the interesting applications came later. If they had said that from the outset I would've found it a lot easier to be motivated in the class.

TL;DR Make sure you explain why the stuff you're learning is important - don't just assume that your students know why the subject is worth learning in the first place. And, for that matter, make sure that the stuff is important - for example, don't force memorization of stuff that you can easily look up.

$\endgroup$
  • $\begingroup$ I had a similar experience with grad school. I became pretty frustrated by "purely academic" courses that didn't give me any knowledge that I could immediately actually use in real life. While knowledge is valueable in and of itself, I think academic types lose sight of the value of actually getting stuff done as well. A good course will be a mix of both. $\endgroup$ – Kevin Workman Aug 1 '17 at 22:14
  • $\begingroup$ @KevinWorkman The irony is that the course in question ends up actually being highly relevant to my area of interest, but no one actually told me that so I didn't realize it until halfway through the term. Even then, it wasn't because someone actually told me that, it was because I figured it out on my own. $\endgroup$ – EJoshuaS Aug 1 '17 at 22:18
  • $\begingroup$ @nocomprende Therein lies the problem - the fact that we know why a topic is worth knowing about in no way implies that students know why it's worth studying. $\endgroup$ – EJoshuaS Aug 1 '17 at 23:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy