Teaching programming for the amateurs.
Hey there,
If you are lecturers/parents/teachers, any best approaches of teaching programming language to a newcomer?
I have an eldest sibling who actually completed his postgraduate (some bioscience research thing), but he lacked of a proper programming skill, which in future jobs he might need it. (Mostly C++)
Let's say if he needs to learn it, any suitable approach? Any pitfalls and stuff should I observe? He had learned BASIC when he was 8 but didn't get a chance to write or compose his own codes.
I know I can't start with a computer architecture tutorial, or a Thevenin's theorem in front of him. His field is different, and being in Bioscience, he hasn't got much exposure on programming. I had guided a Mechanical Engineering student in working with microcontrollers and he did quite well on his project.
Any opinions?
If you are lecturers/parents/teachers, any best approaches of teaching programming language to a newcomer?
I have an eldest sibling who actually completed his postgraduate (some bioscience research thing), but he lacked of a proper programming skill, which in future jobs he might need it. (Mostly C++)
Let's say if he needs to learn it, any suitable approach? Any pitfalls and stuff should I observe? He had learned BASIC when he was 8 but didn't get a chance to write or compose his own codes.
I know I can't start with a computer architecture tutorial, or a Thevenin's theorem in front of him. His field is different, and being in Bioscience, he hasn't got much exposure on programming. I had guided a Mechanical Engineering student in working with microcontrollers and he did quite well on his project.
Any opinions?
Comments
As a compiled language C++ is best as second language. The compile, link, debug cycle tends to discourage new programmers.
* I know Groovy is a compiled language, but can be run in an interactive mode which hides the compile step from the user.
It's free, he won't get any credits, but he'll learn to program.
The prerequisite is that you know how to type and enter a program in on the computer and know the difference between the letter O and the number 0. Know what the operating symbols are like * which means multiplication and / for division. You need to know what a variable is and how to swap variables. You also need how to do a math problem without a computer before you tell a computer how to do a math problem.
I think if you are going to learn C on a computer, it will probably take you one or two years to learn the computer architecture and that comes from my stepbrother who is a programmer.
I learned Basic on a Commodore 64. I practiced it from typing in programs from the Commodore Reference Manual and other books by Compute!, Compute's Gazette, RUN magazine, Ahoy, The Transactor, etc. There were other books that the magazines put out which I learned BASIC. I then took BASIC in High School and then they made me take it in college. I took Pascal along with other things.
I wouldn't recommend just taking a college course because I've had instructors let you learn it on your own in college and there were plenty of students begging other students for help because the instructor was just there for a paycheck.
You need to get a couple of books on programming C with programs and examples that you can type in and try. It also helps if you learn how to program in a second computer language. The way you are going to learn is practice every single command in the C language. Take a day and practice a new command once or three times every day once you learn the basics of C and then practice, practice and practice until you are an expert.
You also want to get your hands on everything that you can read which may include other languages.. There are also books like 'C for dummies'.
Look on the web to see if there are sites that teach C or help you in C language. The web wasn't available when I learned BASIC or PASCAL.
There are some things you will have to learn apart from C which is how to count in binary or hexidecimal and you can google it or find them in a book somewhere.
Then you need to find publications or organizations for masters in C so that you can be an expert.
I would look to see if there are computer clubs in your area but I'm guessing that most of them focus on how to teach people how to use the internet or how to configure and use Outlook Express because no one wants to program anymore because they are lazy consumers.
Let me know how you make out and what you find and if I can be of any assistance, I would like to help.
And by that I mean that computers and programming is a *constantly* changing thing. You pretty much need to want to do this on your own and be able to learn on your own, otherwise you would not be able to keep up with all the changes.
So my question is why is this person not here asking these questions himself? If he is not very interested in programming, then I don't know if it would be possible for him to become a good programmer? Maybe, I don't know.
I do know I am very interested and hang around here just for fun! However I have no interest in learning something like playing the piano, know little or nothing about it, and would have to force myself to learn anything about it...
Probably because these forums aren't a primary source of information for bioscientists to learn pc programming.
I once taught a class in "electronics for biologists", and the emphasis was definitely hands-on, building a data logging peripheral that hooked to a PC programmed in BASIC. This was an extension class, with participants from the biotech industry, and from science museums, and practicing biologists who had to operate equipment and troubleshoot when things went wrong. I think troubleshooting skills were a major take-away lesson. That would apply both the hardware and to software.