<div>Hi</div><div><br></div><div>Though it&#39;s been a couple of weeks since CampSmalltalk London, I&#39;ve only just got round to creating a ConfigurationOfCampSmalltalkLondon which can be used to download the beginners tutorial Tim Mackinnon and I created. </div>
<div><br></div><div>First some context. The beginners tutorial ran on the first day. We had 9 developers with a mixed background in Ruby/Java/C#/PHP etc. We started by going through the excellent ProfStef tutorial which we used as jump off point for frequent asides into the tools and code in Pharo.</div>
<div><br></div><div>Next we gave them a simple exercise. You can download the code by grabbing ConfigurationOfCampSmalltalkLondon from <a href="http://www.squeaksource.com/MetacelloRepository.html">http://www.squeaksource.com/MetacelloRepository.html</a> and executing:</div>
<div><br></div><div>(ConfigurationOfCampSmalltalkLondon project version: &#39;1.0&#39;) load.</div><div><br></div><div>The aim was to put into practice some of the concepts they&#39;d learnt in the ProfStef tutorial - initially focusing on loops. The tutorial grabs live traffic information from the SE of the UK. Initially there is only one entry in the list viewable from their image at: <a href="http://localhost:8080/camp-smalltalk-london">http://localhost:8080/camp-smalltalk-london</a></div>
<meta charset="utf-8"><div><br></div><div>The first task was to change the code in CSLTransportInfo&gt;&gt;renderPage: to loop over the results and pass them to a custom renderer. Note we wanted to pass-on the joy of developing a web app in Smalltalk - the liveliness of the environment, code editing in the debugger etc - without first having to learn Seaside. So we hid the Seaside code behind some custom renderers.</div>
<div><br></div><div>The second task was the change the renderer in CSLTransportInfo&gt;&gt;modelRenderer to be a CSLListItemRenderer. The task here was to notice the signature of the addItem method had changed and use the inspector and the browser to discover the relevant accessors on the result items. </div>
<div><br></div><div>Finally they changed the renderer again for a CSLMapRenderer and went through a similar routine to step two, though this time the result of their labours was to transform a boring list into an impressive map - graphically  showing traffic incidents.</div>
<div><br></div><div>Those who were more advanced could then filter the results to look at say only incidents along particular roads etc.</div><div><br></div><div>The tutorial session seemed to be well received. I don&#39;t know if anyone out there is planning to run an introduction to Smalltalk - if so they are more than welcome to use the code.</div>
<div><br></div><div>All feedback gratefully received.</div><div><br></div><div>Nick</div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div>