Ignite amsterdam from 0 to C


Published on

how and why I created from 0 to C.
this is a 5 minutes presentation for Ignite Amsterdam.
this is the text part. slides available as separate presentation

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Ignite amsterdam from 0 to C

  1. 1. since I was a little kid I had the insane need to take stuff apart. figure out how and why it worked. break it down to the point of no return. needless to say my parents werent always happy with this curiosity of mine.Friday, April 19, 13
  2. 2. at a later age school tried to impose weird symbols on me. but I thought that too many other things around me were much more interesting:dj-ing,Vespa engines, soldering stuff together, building things.Friday, April 19, 13
  3. 3. I had also been typing since the age of 10, this proved to be very helpful because of my hand writing. in the end I believe it made me more comfortable around machines, including computers, which I kept loving.Friday, April 19, 13
  4. 4. this brought me to become a "programmer", which later became "visual programmer for UIs". I worked with designers who took care of concept and look & feel. I had to write the code to make it happen and many times I was just executing a task.Friday, April 19, 13
  5. 5. much later i learned I could write my own code to obtain a physical output. this initiated my flirt with the world of micro-controllers: tiny computers with VERY limited resourcesFriday, April 19, 13
  6. 6. this tiny world that you access, at one point takes you to see things in different perspectives. you start digging down, and your thoughts are populated by bits and bytes. when you notice this kind of behavior I think its time to start worryingFriday, April 19, 13
  7. 7. when you start digging into such things its hard to stop. at least Im not able to. when your brain is on idle (for instance while doing the dishes) you can achieve some sort of “Eureka moment” in which you realise that those symbols from school are connected to what youve been doing for 20 years as a programmerFriday, April 19, 13
  8. 8. at one point I took a whole month off, away from work and the rest of my world... well... if youre into that, you end up connecting more and more dots, and possibly find better ways to explain some things to yourself. in a visual way.Friday, April 19, 13
  9. 9. I thought: "if I can understand it then anyone can". it just needs to be "interesting" enough. and "playful" rather than boring. it has to be “childs play”. think about it: "make believe" sounds better than "simulation"Friday, April 19, 13
  10. 10. so in an attempt to explain how easy programming can be, I decided to create "from 0 to C": a playful way to learn the basics and concepts of programming in a more tangible way. I picked C because it is as powerful as simple and its a great bridge to other languagesFriday, April 19, 13
  11. 11. I believe the last thing you need, to learn how a computer works, is having a screen before your eyes. I cannot draw, but paper and pen help me visualize and understand things better. "seeing" and "touching" are the key.Friday, April 19, 13
  12. 12. this workshop takes you through a journey which begins with "unlearning numbers":detaching yourself from the symbols that identify quantities and concentrating on the quantity itself. something that can be physically there, and Yummy.Friday, April 19, 13
  13. 13. this slightly changes the way you understand things. you enter a process of "learning by discovery". I certainly would have loved studying like this. a relaxed environment and playing all day long. and of course... ehm... no tests.Friday, April 19, 13
  14. 14. i introduced pingpong balls, egg cartons, lasercut boxes, m&ms as a mean of counting in physical space and "designing" your own way of doing it. we even end up playing with mixed numeric systems. those can be quite interesting.Friday, April 19, 13
  15. 15. to explain how to work with text and how a computer or a programming language handles it, I turned to a laser-cut alphabet. single letters are joined together by a piece of string and magnets. this is how I visualized a "string of characters"Friday, April 19, 13
  16. 16. one of the games we play is "the Ice Cream Shop". its basically the most efficient yet slowest ice-cream buying experience. why? because to play the game you have to really analyze everything that happens in matter of interaction between the customer and the shop staffFriday, April 19, 13
  17. 17. in this Role Playing Game, we split the interaction into single small parts. we dont even think about it, but theres a lot happening when you - order an ice-cream - pay for it - get change back.Friday, April 19, 13
  18. 18. if we were to analyze the game and the actions we just performed, wed realize that we have in turn called a function passing a list of flavors called another function passing an amount of cash got "something" back (change, if any)Friday, April 19, 13
  19. 19. by day 3 this is not jibberish anymore. the participants understand, in a practical way, concepts such as: - boolean algebra - variables (containers) - data types, - return values,Friday, April 19, 13
  20. 20. so that was a sneak peek into "from 0 to C". sure the concepts and ideas mostly came out of my head, but this wouldnt have been possible without the help of these people. thank you for your time and patience :)Friday, April 19, 13