Tips on tutoring first time programmers?

  • (2 Pages)
  • +
  • 1
  • 2

15 Replies - 1746 Views - Last Post: 14 September 2012 - 02:06 PM

#1 carnivroar  Icon User is offline

  • D.I.C Regular

Reputation: 28
  • View blog
  • Posts: 382
  • Joined: 18-September 11

Tips on tutoring first time programmers?

Posted 11 September 2012 - 08:43 PM

I am currently being hired to tutor someone taking their very first programming course in Python. I have never tutored before but I've mastered all the material and it's going great so far.

Any tips on tutoring someone in programming? Is it a good or bad thing to introduce the person to material a little beyond the course?

This post has been edited by carnivroar: 11 September 2012 - 08:47 PM

Is This A Good Question/Topic? 1
  • +

Replies To: Tips on tutoring first time programmers?

#2 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5480
  • View blog
  • Posts: 11,762
  • Joined: 02-June 10

Re: Tips on tutoring first time programmers?

Posted 12 September 2012 - 07:09 AM

RUN. Run now. Run far. Run fast.
Was This Post Helpful? 1
  • +
  • -

#3 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10469
  • View blog
  • Posts: 38,802
  • Joined: 27-December 08

Re: Tips on tutoring first time programmers?

Posted 12 September 2012 - 07:18 AM

I think if you are helping them on their homework, try and get them to think about it and explain concepts well. I find new programmers have a harder time with things like arrays and strings more than anything else.

Be careful with how far you stray. If you are showing them a helpful function, I'd say that's fine. If you are covering material well before it is going to be covered in class, I would say don't, as it will confuse them. Plus, instructors often restrict students to using what they have been taught.

Good luck with tutoring, and I hope this helps some!
Was This Post Helpful? 2
  • +
  • -

#4 carnivroar  Icon User is offline

  • D.I.C Regular

Reputation: 28
  • View blog
  • Posts: 382
  • Joined: 18-September 11

Re: Tips on tutoring first time programmers?

Posted 12 September 2012 - 11:49 AM

View Postmacosxnerd101, on 12 September 2012 - 07:18 AM, said:

I find new programmers have a harder time with things like arrays and strings more than anything else.


Yes, absolutely... :P At least it's in Python!

This person is a math major taking a programming course to fulfill the math degree requirement. I was thinking of introducing him to Project Euler to practice and to make him interested in programming.

Other than that I showed him the time.sleep(1) function to create a neat countdown - he really liked it, and it was just one line of extra code on his homework.

View PosttlhIn`toq, on 12 September 2012 - 07:09 AM, said:

RUN. Run now. Run far. Run fast.


:cry: LOL.
Was This Post Helpful? 0
  • +
  • -

#5 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2256
  • View blog
  • Posts: 9,444
  • Joined: 29-May 08

Re: Tips on tutoring first time programmers?

Posted 12 September 2012 - 01:27 PM

Tip: Where possible relate and associate and examples concepts to real-world things that they can personally relate to.

Eg.
It helps me the to think of an Element in an Array as a Letter Box.
because it has an address. The Letter Box at House No 2
And an Array as a Street of Letter Boxes.


You can then example the concept to the Array of a Reference Type.
So you the the street of letter boxes and they're all empty (Null), the state where first initialized. Along come the postman and place a letter in the Letter Box at no 3. (Non-Null)

This post has been edited by AdamSpeight2008: 12 September 2012 - 01:28 PM

Was This Post Helpful? 3
  • +
  • -

#6 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7645
  • View blog
  • Posts: 12,898
  • Joined: 19-March 11

Re: Tips on tutoring first time programmers?

Posted 12 September 2012 - 02:12 PM

One of the most important things you can give a student is a justified enthusiasm for writing programs and for learning about programs. If you convey that to them, especially the latter, and get them excited not only about "being a programmer" but also about actually writing the damned code, then they'll do most of the work for you - you'll just have to steer.
Was This Post Helpful? 3
  • +
  • -

#7 Tayacan  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 145
  • View blog
  • Posts: 275
  • Joined: 18-January 11

Re: Tips on tutoring first time programmers?

Posted 13 September 2012 - 07:11 AM

I've tutored/taught several students in various languages, and one thing I always find is that if they have trouble grasping a concept, they usually just need to hear it with different words. Drawings help too.

If you're helping with homework, that places some strict limitations on what you can teach them, especially if they're not interested (I once tutored a communication student who had to take a CS course, and she just wanted to get the assignments done, nothing else). You'll generally have to stick to stuff that's relevant to the specific assignment. A tip is to never give them the actual solution, but a similar example instead. Also, most beginners have a tendency to ask "is this code correct?" before even trying to run it. Don't answer! Tell them to hit that F5 button!
Was This Post Helpful? 2
  • +
  • -

#8 carnivroar  Icon User is offline

  • D.I.C Regular

Reputation: 28
  • View blog
  • Posts: 382
  • Joined: 18-September 11

Re: Tips on tutoring first time programmers?

Posted 13 September 2012 - 07:01 PM

View PostTayacan, on 13 September 2012 - 07:11 AM, said:

Also, most beginners have a tendency to ask "is this code correct?" before even trying to run it. Don't answer! Tell them to hit that F5 button!

Great advice. I was afraid I was helping too much - I usually correct mistakes before they run the program. I won't do that anymore.

View Postjon.kiparsky, on 12 September 2012 - 02:12 PM, said:

One of the most important things you can give a student is a justified enthusiasm for writing programs and for learning about programs. If you convey that to them, especially the latter, and get them excited not only about "being a programmer" but also about actually writing the damned code, then they'll do most of the work for you - you'll just have to steer.


Project Euler is a great idea then! Some of the problems can definitely be done by beginners (with the the help of a tutor B) ).
Was This Post Helpful? 1
  • +
  • -

#9 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7645
  • View blog
  • Posts: 12,898
  • Joined: 19-March 11

Re: Tips on tutoring first time programmers?

Posted 13 September 2012 - 07:24 PM

View Postcarnivroar, on 13 September 2012 - 09:01 PM, said:

Project Euler is a great idea then! Some of the problems can definitely be done by beginners (with the the help of a tutor B) ).


Absolutely - and some of the early ones can be done with really no help at all beyond a simple introduction to the language. Problem 1, for example, could be done in several ways. They could do it with a simple loop, or with a sum and a lambda, or with a sum and a list comprehension, just to name a few that come to mind. There are probably more that'll come to me later. As they get to each of those elements of the language, you can have them see how that approach helps them solve the problem in a neater fashion, meaning "neat" in both senses.

So you can look over the early problems, and think of what techniques you could use to solve them, and use them as exercises when they've learned those techniques.

As they get into the harder ones, they'll need less of that guidance. Ideally, they'll start running off ahead of you - if they catch a glimpse of your account, they might take that as a little challenge. :)

If you can put up a white board in your teaching space, that's a great tool for getting them to walk through their ideas. What's really cool is if you can get them to the point where you're working together on a problem that you yourself haven't solved - then they really feel like they're getting somewhere!

This post has been edited by jon.kiparsky: 13 September 2012 - 07:26 PM

Was This Post Helpful? 1
  • +
  • -

#10 Vhite  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 5
  • Joined: 26-May 11

Re: Tips on tutoring first time programmers?

Posted 14 September 2012 - 04:20 AM

Don't use any fancy words. When I was on highschool, most of my class swore never to touch programming again because they couldnt learn it even if they wanted. Our teacher was an old linux veteran and he has long ago forgotten than that words like implement, compile, declare or explicit are not common in word banks of non-english speaking folk.
Was This Post Helpful? 0
  • +
  • -

#11 Tayacan  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 145
  • View blog
  • Posts: 275
  • Joined: 18-January 11

Re: Tips on tutoring first time programmers?

Posted 14 September 2012 - 06:02 AM

View PostVhite, on 14 September 2012 - 11:20 AM, said:

Don't use any fancy words. When I was on highschool, most of my class swore never to touch programming again because they couldnt learn it even if they wanted. Our teacher was an old linux veteran and he has long ago forgotten than that words like implement, compile, declare or explicit are not common in word banks of non-english speaking folk.


Actually, I'd say that extending their vocabulary is not a bad idea, as long as it's done right. Don't just throw the fancy words around - introduce them, preferably one at a time.
Was This Post Helpful? 1
  • +
  • -

#12 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7645
  • View blog
  • Posts: 12,898
  • Joined: 19-March 11

Re: Tips on tutoring first time programmers?

Posted 14 September 2012 - 06:29 AM

View PostTayacan, on 14 September 2012 - 08:02 AM, said:

Actually, I'd say that extending their vocabulary is not a bad idea, as long as it's done right. Don't just throw the fancy words around - introduce them, preferably one at a time.


+1

Talking about programming is a lot easier if you have the words to do it with, so learning the vocabulary is a good investment of effort. And a good teacher should always be aware of how well their students are getting the material. Especially one-on-one, your student's body language will tell you when there's a word or a concept that they're not grasping, even if they say "uh-huh, I get it".

Pro tip: when you introduce a word, try to use it a few times in good contexts - once or twice before you define it, and once or twice after you define it.
Another pro tip: if a student asks you to define a word or explain a concept, say "thank you" before you define it or explain it. Not "good job", like you were testing them and they passed, but "thank you", like you're partners in this endeavor and they're helping you do your part better.
Was This Post Helpful? 2
  • +
  • -

#13 Welly  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 84
  • Joined: 07-December 08

Re: Tips on tutoring first time programmers?

Posted 14 September 2012 - 12:25 PM

One thing that helps me learn is by writing program flow charts. Using easy to understand analogies. And programming exercises. Fun exercises none of those boring or extreme ones.

ex 1: loops. Printing text.
make a program that makes a square with spaces inside depending on input from user. Say a 4 is given.
* * * *
*     *
*     *
* * * *



ex 2: Operators
Make a program that finds out if a number entered at execution time is even or odd.

ex 3: if/else and standard output.
Make a tic-tac-toe ascii program with AI to play against.

ex 3: I/O Standard input/output
Make a program text editor.

This post has been edited by Welly: 14 September 2012 - 12:28 PM

Was This Post Helpful? 0
  • +
  • -

#14 carnivroar  Icon User is offline

  • D.I.C Regular

Reputation: 28
  • View blog
  • Posts: 382
  • Joined: 18-September 11

Re: Tips on tutoring first time programmers?

Posted 14 September 2012 - 01:36 PM

View PostWelly, on 14 September 2012 - 12:25 PM, said:

ex 3: if/else and standard output.
Make a tic-tac-toe ascii program with AI to play against.


Lol, we're talking about someone who has been programming for 2 weeks. Even I wouldn't know how to implement AI (though I made a nice tic tac toe program before).


Thanks all for the great advice. Does tutoring look good on a resume? I've been offered an official position as a tutor at my school - I have to decide between that or research with a physics professor. Or maybe I can handle both at he same time.
Was This Post Helpful? 0
  • +
  • -

#15 Vhite  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 5
  • Joined: 26-May 11

Re: Tips on tutoring first time programmers?

Posted 14 September 2012 - 01:55 PM

View PostTayacan, on 14 September 2012 - 03:02 PM, said:

View PostVhite, on 14 September 2012 - 11:20 AM, said:

Don't use any fancy words. When I was on highschool, most of my class swore never to touch programming again because they couldnt learn it even if they wanted. Our teacher was an old linux veteran and he has long ago forgotten than that words like implement, compile, declare or explicit are not common in word banks of non-english speaking folk.


Actually, I'd say that extending their vocabulary is not a bad idea, as long as it's done right. Don't just throw the fancy words around - introduce them, preferably one at a time.

Yes, thats true. I was just speaking from my experience and as you can imagine, that was not the case. :)
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2