Gert Lombard's Blog     About     Archive     Feed
My passion is code quality, automated testing, software craftsmanship.

Programming syllabus for the absolute beginner

A friend wants to start learning programming. In fact, she's considering getting a Computer Science degree and changing careers! I want to teach her everything I know: principles of object oriented design, dependency injection, high cohesion & loose coupling, unit testing, code contracts, MVC, jQuery, Python, NoSQL, Android, and .... Aargh, where do I even start?!

I need to come up with a learning plan for the absolute beginner. I want to get to the point where we could use Learn Python the Hard Way to work through the usual programming concepts and hopefully eventually build something interesting like a website or a mobile app. But I want to start at the very basics.

I'm thinking of starting with the following topics:
  • Introduction to HTML (design a page using a few tags and some minimal CSS)
  • Numeric expressions (operator precedence etc)
  • Hello world! (string expressions)
  • Binary math (bitwise operators, bytes, and, or, xor, not, shifts etc)
  • Boolean algebra / if-then-else
Some links I want to look at for learning Python:
  • Tutorial – Bit Banging and Boolean Math without the Math
  • http://lgm.fri.uni-lj.si/PA/PYTHON/PythonProgrammingfortheAbsoluteBeginner.pdf
  • https://wiki.python.org/moin/BeginnersGuide/NonProgrammers
  • http://learnpythonthehardway.org/book/ex1.html
  • http://www.ucs.cam.ac.uk/docs/course-notes/unix-courses/PythonAB