How would you Teach a programming language?
I'm such a curious man :P.
How would you, as a programmer, teach a high school student to program, starting from almost zero?
How would you, as a learner, like to be thought programming languages?
Feel free to share your opinions, personal experiences, or just any random idea about that matter.
How would you Teach a programming language?
Started by manux, Oct 07 2009 05:10 PM
6 replies to this topic
#1
Posted 07 October 2009 - 05:10 PM
|
|
|
#2
Posted 07 October 2009 - 05:25 PM
Nice question!
As a programmer I would first teach the poor students what programming is. How does a processor work, programming languages compilers and interpreters, the OS, just the basics. Then it is time to learn a decent high level programming language - take Python for instance - to learn to think like a programmer. And learning to debug.
As a learner I would imagine that some people just want to do a lot of fun stuff immediately. Myself, I would prefer to learn from a teacher who knew the tricks and knew when to tell us them, and learn from a well-structured book. I would want not only to remember how to program, but also understand it.
I think the "understand" part is important - it always has for me. I'm not happy if someone tells me that you should use malloc if you want a dynamic array in C. I need to know why. What is malloc? What is a dynamic array? This has always been my strength in math as well. Understanding formulas, not only remembering them. It helps a lot.
As a programmer I would first teach the poor students what programming is. How does a processor work, programming languages compilers and interpreters, the OS, just the basics. Then it is time to learn a decent high level programming language - take Python for instance - to learn to think like a programmer. And learning to debug.
As a learner I would imagine that some people just want to do a lot of fun stuff immediately. Myself, I would prefer to learn from a teacher who knew the tricks and knew when to tell us them, and learn from a well-structured book. I would want not only to remember how to program, but also understand it.
I think the "understand" part is important - it always has for me. I'm not happy if someone tells me that you should use malloc if you want a dynamic array in C. I need to know why. What is malloc? What is a dynamic array? This has always been my strength in math as well. Understanding formulas, not only remembering them. It helps a lot.
Hey! Check out my new Toyota keyboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
#3
Posted 07 October 2009 - 05:32 PM
I agree with understanding what you do. I myself could be qualified as better than most students in maths, although I rarely do any exercises the teachers ask. The important thing is really is understanding the formula, and the logic behind it.
Thanks for your comment!
Thanks for your comment!
#4
Posted 08 October 2009 - 05:10 AM
Once students understand the basics of programming such as variables, objects, properties etc. One of the best ways to learn is to try to program a real world problem. Going through books doesn't do much for me. If I want to learn how to use something I normally try to replicate something that is already made. Example: Have the user create an address book application. This is a great beginner application. Or you can do something even easier such as a program that looks at a declared folder and prints out all of the file names contained in the folder. There are endless examples but you get the idea.
-CDG10620
Software Developer
Software Developer
#5
Posted 08 October 2009 - 05:19 AM
Yes, but if you have a good book it will include that sort of exercises and help you through it.
Hey! Check out my new Toyota keyboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
#6
Guest_Jordan_*
Posted 08 October 2009 - 06:41 AM
Guest_Jordan_*
Excellent question. To answer your question, I wouldn't. In real life, I get very frustrated with computer beginners because many people don't listen or pay attention and I'm not great at teaching verbally. On the rare occasions that I do instruct someone on how to do something using a computer I make sure they have a pencil and piece of paper. If I have gone over something, I expect it to be written down or memorized and not asked about again. If they interrupt me I will stop the lecture and not continue. I am a shrewd. My preferred method of teaching is via written instruction.
My preferred method of learning is via written instruction (books). :)
My preferred method of learning is via written instruction (books). :)
#7
Posted 08 October 2009 - 08:39 AM
I've actually taught some programming. The best (from my perspective) method was to start with a class purely on flowcharting/pseudo-code. I've seen many students start with VB or another RAD tool and get something cool to happen, but be clueless as to what is actually happening. Forcing students to trace through variable updates, arrays with variable indices, etc goes a long way towards helping them UNDERSTAND what the computer is doing. It also frustrates the snot out of students who do not naturally think that way.
It's a painful way to start programming, but it makes learning other languages MUCH easier. It teaches the skill of programming outside of the skill of language syntax, which helps new programmers focus on language syntax when they get to that point. If you understand the concept of while loops, for loops, etc. You can focus on the details of how they're implemented in C, VB, Delphi, PHP, whatever without trying to figure out which one you should be using in this situation.
It's a painful way to start programming, but it makes learning other languages MUCH easier. It teaches the skill of programming outside of the skill of language syntax, which helps new programmers focus on language syntax when they get to that point. If you understand the concept of while loops, for loops, etc. You can focus on the details of how they're implemented in C, VB, Delphi, PHP, whatever without trying to figure out which one you should be using in this situation.


Sign In
Create Account


Back to top









