[Tutor] Learning Programming

Robin B. Lake rbl@hal.epbi.cwru.edu
Thu, 3 Jan 2002 23:48:14 -0500 (EST)


> Some one wrote yesterday that they were to planning to learn to program
> in Python within a year.  I have wanted to learn programming for
> sometime.  I began with C (on Linux) and though I have read a book on C
> programming (I also did the exercises) I am anything but proficient in
> C.  Subsequently Python was recommended at a good language for a
> novice.  I have completed the tutorial by Josh Cogliati and have written
> a few small modules on my own.
> 
> I have two questions:  
> 
> 1)  What is a reasonable length of time in which to learn a programming
> language ?(I'm a little disheartened at my prgress).
>
I've been teaching programming for 25+ years.  It took a while to
learn that you DON'T want to "learn a programming language", but
rather should "learn how to program".  The difference is that in
learning how to program, you should FIRST learn how to read and
understand a program before you try to write one.  Just like we, as
children, learn to read before we learn to write.

Learning to understand what you read involves knowing something about
what programs DO, how information is stored (Data Structures), and
a bit about logic (loops and logical operations).

Learning to WRITE a program should, in  my experience, be done with
"pseudocode" --- that expresses the structures and the logic of
the problem, without worrying about the details of any programming
language rules.

THEN you can decide which language will best fit your problem.  With
pseudocode in hand it becomes pretty straightforward to translate that
pseudocode into C, Python, Basic or anything short of APL.
 
> 
> 2)  I think I would learn more quickly if I had a project to work
> on...how do you choose a project?  

Most textbooks have projects and problems.  Breaking a project into
simple modules and functions is the subject of another course/lecture.

Cheers,
Robin Lake
lake@cwru.edu

> 
> 
> -- 
> 
> ekotyk
> 
> http://members.shaw.ca/e.kotyk/virtualstudio.htm
> 
>