Set up a Linux computer (Ubuntu Linux is the easiest to set up), and spend the summer learning to program in Python.
Python is easy to learn (not much syntax), easy to read (explicit vs implicit), has a big ecosystem (more packages/libraries), is taught at universities so it's easy to find good programmers to help, and is used by many large websites/companies so it's a good language to know.
Here are some of the best online Python tutorials, including a link to videos and course material for MIT's introductory computer science course, which uses Python: http://www.quora.com/How-can-I-learn-to-program-in-Python/an...
Build something that you want to use so it will be meaningful to you. Do you have a blog? That's usually a good first exercise. It's easy to do using Flask -- follow the tutorial (http://flask.pocoo.org/docs/).
Here are some tips to get you started:
Use Emacs as the text editor to write your code -- it usually comes pre-installed on Ubuntu, and it has a Python mode. Here are some Emacs tutorials (there are some good videos on YouTube too):
http://philip.greenspun.com/teaching/manuals/usermanual/emac... http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial... http://www.gnu.org/software/emacs/tour/ http://cmgm.stanford.edu/classes/unix/emacs.html
Use PostgreSQL as your database. To install it on Ubuntu, use this command:
$ sudo apt-get install postgresql
Use SQLAlchemy (
http://www.sqlalchemy.org/) to connect your Python website to PostgreSQL.
Here's a good SQL tutorial: http://philip.greenspun.com/sql/
When you build a blog, you don't have to worry about building a public authentication and comment system if you use something like Disqus (http://disqus.com/) -- you just include the Disqus JavaScript tag at the bottom of the blog's entry page.
Here are some good JavaScript tutorials: http://www.quora.com/What-are-good-books-preferably-found-on...
Use StackOverflow to ask programming questions: http://stackoverflow.com/
UPDATE: Here are links to some commonly-used scientific Python packages (http://www.drewconway.com/zia/?p=204).
Python is easy to learn (not much syntax), easy to read (explicit vs implicit), has a big ecosystem (more packages/libraries), is taught at universities so it's easy to find good programmers to help, and is used by many large websites/companies so it's a good language to know.
Here are some of the best online Python tutorials, including a link to videos and course material for MIT's introductory computer science course, which uses Python: http://www.quora.com/How-can-I-learn-to-program-in-Python/an...
Build something that you want to use so it will be meaningful to you. Do you have a blog? That's usually a good first exercise. It's easy to do using Flask -- follow the tutorial (http://flask.pocoo.org/docs/).
Here are some tips to get you started:
Use Emacs as the text editor to write your code -- it usually comes pre-installed on Ubuntu, and it has a Python mode. Here are some Emacs tutorials (there are some good videos on YouTube too):
http://philip.greenspun.com/teaching/manuals/usermanual/emac... http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial... http://www.gnu.org/software/emacs/tour/ http://cmgm.stanford.edu/classes/unix/emacs.html
Use PostgreSQL as your database. To install it on Ubuntu, use this command:
Use SQLAlchemy (http://www.sqlalchemy.org/) to connect your Python website to PostgreSQL.Here's a good SQL tutorial: http://philip.greenspun.com/sql/
When you build a blog, you don't have to worry about building a public authentication and comment system if you use something like Disqus (http://disqus.com/) -- you just include the Disqus JavaScript tag at the bottom of the blog's entry page.
Here are some good JavaScript tutorials: http://www.quora.com/What-are-good-books-preferably-found-on...
Use StackOverflow to ask programming questions: http://stackoverflow.com/
UPDATE: Here are links to some commonly-used scientific Python packages (http://www.drewconway.com/zia/?p=204).