Welcome!










 TODO: create presentation tool that doesn't suck 

Agenda



  • Getting to know each other
  • About this course
  • Intro to Python
  • Quick Setup
  • Our first crappy little game

About ME :)



  • Hey I'm Vitali, and I'm a geek :)
  • Work @ Volicon, as a "front end developer".
  • I work with C, Python, Java, Javascript, AS3.
  • Also a little bit in PHP, LUA , C++... 
  • Newbie tutor :)



>> vitali.p@volicon.com
>> vitali.pe@gmail.com




YOU?

Goals



  • Our goal is to set you on the "right" track.
  • Game are not just fun to make, but are also challenging!


So... expect to expect to be challenged and have fun!

No.. seriously... :P



  • We'll try to cover software development basics in a fun way.
  • We will focus on the pragmatic side (lots of code!).
  • We will learn together, I'm a newbie teacher and I need your feedback... :) 
  • Oh and it's beta, so don't except stuff to work ...

List of Topics


  1. Intro & Setup
  2. Programming with Python (part 1)
  3. Programming with Python (part 2)
  4. Intro to Object oriented programming.
  5. Creating games with pygame (part 1).
  6. Creating games with pygame (part 2).
  7. Basic debugging and development tools.
  8. Intro to computer architecture.
  9. Advanced python & pygame.
  10. OOP & software design (part 1).
  11. OOP & software design (part 2).
  12. Projects demo and cake :)

Let's talk about PYthon



  • First developed in 1989, by "Guido van Rossum" 
  • Was named after  Monty Python.
  • Currently @ version 3.3




Python is High Level



 dict = {} dict["foo"] = 42 dict["foo"]


vs


 HashMap<String, Integer> map = new HashMap<String, Integer(); map.put("foo", 42); map.get("foo");

PYTHON is Portable



  • Tons of implementations of the VM:
    • Jython
    • Iron Python
    • CPython
    • Stackless Python
    • ...

PYTHON is POPULAR



  • Used everywhere:
    • Web development (Django, flask, zope)
    • Game scripting (Panda3D, Blender)
    • Desktop Applications (Ubuntu utils, etc...)
    •  Tons of other cool places... 

  • HUGE open source community.

PYTHON IS EAsy

  • To Learn:
    • Many open source books
    • Great documentation 

  • To Debug and Test:
    • Rich interactive tools like (ipython) .
    • Monkey patching FTW! 

  • To Develop, Deploy and Prototype:
    • No compile-run cycle!
    • HUGE standard library 
    • Tons of bindings! 

Setup Time!



apt-get install python python-pygame ipython 
....and you're done ;)  



oh crap... you all use windows... :(

using Linux

  • Easier to use for this course
  • But NOT mandatory
  • Great community -> whatsup.co.il 


PyGame workshop - Welcome!

By Vitali Perchonok