wiki:LearnProgramming

Learn Programming

Learning is an Incremental Process

But, where to begin? And, how can you be productive before finishing the learning curve?

  1. learn html and css
    • that allows to do layout prototypes, and also identify CSS bugs
  2. learn how to install a local server environment and PHP projects such as WordPress or MediaWiki
  3. learn how to use git, and check out the BW-Rox code (see Download).
  4. learn some basics of PHP, and try them out by modifying templates in BW-Rox.
    • at this point you can already do some work on the layout, and do commits using git. Others can look at your code and say what you should rather do differently.
  5. learn the basic concepts of object-oriented programming, and try to understand how BW-Rox architecture works.
  6. learn SQL
    • now you can do a lot in the code already.
  7. learn the basics of AJAX
    • yeah, now you are an IT expert and you can get a job with a lot of cash!

Ask your Fellow Developers

That's a good way to speed up the learning. And, it can be useful to ask others about awkwardness in the code. But, first try to think for yourself!

In order to make this less of an advertising page, we put our names behind the recommendations. This way, it looks more like a personal opinion.

Programming Beginners' Tutorials

  •  le site du zero THE website which will teach you everything you know from scrach. unfortunately, only a french version is currently available. (bikepunk)

Programming Patterns and Best Bractices

The following sites have been proven a helpful source of information.

We also have some articles in our own trac wiki:

HTML, CSS, basic JavaScript

  •  SelfHTML - the legendary html guide for everyone speaking german or french. A pity for those who don't. (lemon-head, lupochen)
  •  w3schools - many tutorials about web development basics

Advanced OOP JavaScript? and AJAX

git

  •  Pro Git - a book about the distributed version control system

(Web) Usability

good books:

  • "The Design of Everyday Things" by Don Norman - that's a classic for usability people (lemon-head)
  • "Don't make me think" by Steve Krug - very short, but excellent book covering the basics of web usability. (lemon-head)

Helpful Tools

Firefox extensions:

  • Firebug (

Code editors:

  • Notepad++
  • Eclipse with PHP support

FTP:

  • filezilla ftp client