Learning to Program

5 points by kgosar ↗ HN
Whats the best way for a student who will be studying computer science this fall with no programming experience to begin learning to program?

8 comments

[ 4.6 ms ] story [ 28.9 ms ] thread
One of many good ways:

https://docs.python.org/3/tutorial/index.html

Use Python 3 unless you know you have a reason not to.

As you progress through the tutorial, be aware of when you start to think about problems and experiments that start to pop up in your head. Pursue small pieces of those.

And if you do use Python for your beginnings, install and use the ipython shell for trying little bits and pieces of Python. Easy from the repository if you're on Linux. If you're on Windows, probably easiest is to install the Anaconda distribution; ipython comes with it.

Coursera would be a good start ... or just borrow a book on C++ from the library and follow the instructions. If you have any questions, post them on StackOverflow
Just start programming. You can do worse than the first of the Racket Tutorials:

http://docs.racket-lang.org/

and then Feilisen's How to Design Programs:

http://www.ccs.neu.edu/home/matthias/HtDP2e/

The PLT group has been seriously studying the pedagogy of programming and computer science for more than 20 years. The use of Scheme as a teaching language goes back forty years to its inception.

Good luck.

@OP Studying HtDP is a good choice for someone entering Computer Science. HtDP is written by experienced CS professors and will introduce you to many important CS topics.
First I'd start by experiencing programming.

Don't be serious, take anything to start, go through http://code.org Make it easy - ensure you will have success right off. Then take what you know and try something on your own get a feel for how to write effective code. Once you get past the fear of programming then you can start enjoying it.

From there you then can think of what you want to do with programming and figure out what tools you will need and what to learn.

In addition to the resources mentioned, find a buddy, or a mentor, to work with (even if they're also new to programming). You'll both learn a lot more together than alone.

If you find books like "How to Design Programs" to be boring, there's a bunch of "Head First" books that might be more enjoyable. Or even "how to program" books that are aimed at a younger audience (i.e., kids) can be useful.

Just note that "Computer Science" and "programming" are two different things (yes, there's overlap, but they're different).

Definitely find someone to learn with you or to help guide you. I've been self teaching for a couple years and it can be a grind at times. Finally found a buddy to help me with data structures and algorithms (super fun btw) and it's a much better experience.