User Tools

Site Tools


courses:2011_exp_prototyping_week46

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:2011_exp_prototyping_week46 [2011/11/26 07:41]
stoffel [Results]
courses:2011_exp_prototyping_week46 [2011/11/28 04:41] (current)
stoffel [Results]
Line 1: Line 1:
 +Week
 +[[courses:​2011_exp_prototyping_week42|:​ 42 :]]
 +[[courses:​2011_exp_prototyping_week43|:​ 43 :]]
 +[[courses:​2011_exp_prototyping_week44|:​ 44 :]]
 +[[courses:​2011_exp_prototyping_week45|:​ 45 :]]
 +: __**46**__ :\\
 +2011.11.14 - 2011.11.18
 +----
 +======Bare Metal Code - Advancing your coding skills======
 +Part of [[courses:​experience_prototyping_fall_2011|]]\\
 +
 +=====Tutors=====
 +[[http://​studiolab.ide.tudelft.nl/​studiolab/​saakes/​|Daniel Saakes]] (Netherlands / Japan)\\
 +[[http://​www.dh.umu.se/​default.asp?​ML=11214|Stoffel Kuenen]] (UID)\\
 +=====Summary=====
 +=====Materials=====
 +  * Computer
 +  * [[workshop:​kit|UID Arduino kit]] 
 +=====Program=====
 +====Monday====
 +{{:​arduino:​monday.zip|examples for monday}}
 +
 +  * Intro: overview of the week / targets for the week
 +  * Level Excercise
 +  * Discussion on what participants want to get out of it
 +  * Theory: basic coding concepts, c++ recap
 +  * First idea generation (individual)
 +  * Plenary discussion of first ideas
 +====Tuesday====
 +{{:​arduino:​tuesday.zip|examples for Tuesday}}
 +  * Theory : code strategies: bare metal, os / big mainloop / interrupts / blocking, non-blocking,​ loops, state machines
 +  * indiv. presentations
 +  * Project work (individual)
 +  * Clinic (1:1 discussions)
 +====Wednesday====
 +  * Individual presentations
 +  * Theory 1: timers & finite state machines. Three Examples in the zipfile.
 +  * {{:​arduino:​wednesday.zip|examples Wednesday}}
 +  * Theory 2: debugging strategies. hardware debugging. software debugging. testing. defensive coding..
 +  * Project work (individual)
 +  * Clinic (1:1 discussions)
 +  * (1500-1600 wednesday afternoon lecture)
 +====Thursday====
 +  * Individual presentations
 +  * Theory: talking xBee
 +  * {{:​arduino:​send_messages.zip|thursday xBee example}}
 +  * Project work (individual)
 +
 +  * FINALLY: the XBee mood code is here: {{:​arduino:​send_mood.zip|thursday xBee example}}
 +  * download. unzip. copy the files Xbee1.cpp, Xbee1.h and mood_client.h in the folder of your sketch.
 +  * add : #include "​mood_client.h" ​
 +  * add : mood_setup();​ in the setup()
 +  * add : mood_update();​ in the update();
 +
 +
 +  * Clinic (1:1 discussions)
 +====Friday====
 +  * Final presentation
 +  * Workshop spaces cleanup
 +  * Theory: beyond arduino
 +  * General discussion and closing
 +=====Resources and Bibliography=====
 + ​[[http://​shop.oreilly.com/​product/​0636920010920.do|Making things Talk 2nd edition, Tom Igoe.]] Must read (and do) for interactive prototyping,​ jumps all over the place, but easy read with lots of examples.\\
 + ​[[http://​shop.oreilly.com/​product/​9780596807740.do|Building Wireless Sensor Networks, Rob Faludi.]] Must read (an do) to get started with xBee modules (and some internet connectivity). Easy read with lots of examples.\\
 + ​[[http://​shop.oreilly.com/​product/​0636920021414.do|Getting started with Arduino, 2nd edition, Massimo Banzi.]] Advised reading: Appendix C/Arduino Quick Reference.\\
 +[[http://​www.amazon.co.uk/​C-Programming-Language-2nd/​dp/​0131103628/​ref=sr_1_1?​ie=UTF8&​qid=1320260581&​sr=8-1|The C Programming Language, Kernighan, B.W., Ritchie, D.M.]] The C Bible. Advised reading: chapter 1-6 for a nice generic c language overview. Other chapters 7-8 handle (unix) specific file operations. \\
 +[[http://​www.amazon.co.uk/​C-Programming-Language-Third/​dp/​0201889544/​ref=sr_1_fkmr0_3?​s=books&​ie=UTF8&​qid=1320260734&​sr=1-3-fkmr0|The C++ Programming Language, 3rd edition, Stroustrup, B.]] Advanced bible. Not for the faint hearted. Advised reading: Introductory Material: 2 "A tour of c++", Part 1, part 2.\\
 +[[http://​ocw.mit.edu/​courses/​electrical-engineering-and-computer-science/​6-00-introduction-to-computer-science-and-programming-fall-2008/​|MIT Open Course Ware: introduction to programming]] Video Lectures for the basics of programming. Uses the Python scripting language.\\
 +\\
 +=====Results=====
 +{{vimeo>​32645647?​large}}\\
 +\\
 +{{vimeo>​32679938?​large}}\\
 +\\
 +{{vimeo>​32688350?​large}}\\
 +\\
 +{{vimeo>​32776922?​large}}\\
 +\\
 +
 +
  
courses/2011_exp_prototyping_week46.txt · Last modified: 2011/11/28 04:41 by stoffel