Letting the lunatics run the asylum - students developing code for the production environment

1,519 views

Published on

This presentation (delivered in Las Vegas in July 2011 at the Blackboard Developers Conference) reflects on the work of 3 students who spent a summer learning and developing building blocks. Their project topics were provided by faculty. The experience highlights problems faced by novice building block developers and how to overcome these. It also provides suggestions for suitable and unsuitable test environments and ends with pointers for what constitutes a realistic (deliverable and maintainable) project, some of which come directly from the mouths of the students.

Published in: Education, Business, Technology
1 Comment
0 Likes
Statistics
Notes
  • The actual presentation includes linked video clips of the students talking. These are not included here. Instead you see strange blank extra placeholder slides - presumably what slideshare does when it can't add the links :-) Hope that's not too annoying. Malcolm.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
1,519
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
12
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • This presentation reflects on the work of 3 undergraduate students who spent a summer learning and developing building blocks. Their project topics were provided by faculty. The experience highlights problems faced by novice building block developers and how to overcome these. It also provides suggestions for suitable and unsuitable test environments and ends with pointers for what constitutes a realistic (deliverable and maintainable) project, some of which come directly from the mouths of the students.
  • Warn the audience to watch what they say! Questions and video at end must not be recorded.
  • Who am I – someone who chose to code Blackboard stuff – to say who’s mad!!!
  • This is what some sys admins looked like when they first heard this idea!
  • Asking for the moon?
  • Students only know the bits of Blackboard that their lecturers have made them useFor example most don’t know that there is a course control panel
  • Really the heroes of this presentation/project
  • Used Google Wave (RIP)Allows them to ask for more information. Wave regularly monitored by members of the team. Ultimately they voted on things they wanted to do – a form of audit trail too!
  • 1. Content Item: Expanding Content 2. Course Tool: Photo Roster 3. Custom Content: FlashCard Quiz 4. Course and Portal Twitter module 5. Course Tool: Manage Contacts
  • Highly variable. Some very sparseFor sparse read skeletal, written by lecturers, very different to the detailed functional specs students used in previous CS projects
  • Balsamiq Mockups – great tool
  • Scope Creep – unequal power relations – hard for students to say no to staff – needs careful management
  • Testing on Load- balanced systems?
  • Weblogs = we know what you’re doing!
  • Log UI needs to be sortable before it is usable
  • Blackboard QA been at work?Usernames and passwordsWhy so closed?
  • Initially to share docs, then code samples, finally code!
  • Students often don’t use the same vocabulary as the manual to describe interface components
  • Clicking the More button triggers JavaScript that changes the link text from More to Less and toggles the visibility of the Hidden DIV.
  • Bug which meant you couldn’t edit content which had unclosed divs– so you couldn’t fix the problem – needed to be fixed – change pattern magic codeIs exposing the stack trace a security concern? Not in this case methinks!
  • Note data have been anonimised.
  • GlobalSettings too – properties file
  • Need dirty data for testing – hard to create blocked users. Some decisions took a long time – many committees didn’t meet over Summer!
  • Letting the lunatics run the asylum - students developing code for the production environment

    1. 1. 12th July 2011 8:30 am Venetian Congress Center - Titian 2303<br />Letting the lunatics run the asylum - students developing code forthe production environment<br />DrMalcolm MurrayDurham University, UK<br />
    2. 2. Slides freely available…<br />http://www.slideshare.net/malcolmmurray<br />
    3. 3. This session is being recorded…<br />http://www.audioh.com/projects/recorded_delivery.html <br />
    4. 4. Letting the lunatics run the asylum<br />http://commons.wikimedia.org/wiki/File:County_Insane_Asylum,_Milwaukee.jpg<br />
    5. 5. Students developing code for the production environment<br />http://www.vinyltap.co.uk/shop/item/510008517750895.aspx<br />
    6. 6. Sound pedagogy<br />Learning by doing<br />Biggs’ 3 Levels of Teaching<br />http://www.johnbiggs.com.au/<br />http://www.flickr.com/photos/david_jones/3302564430<br />
    7. 7. http://www.flickr.com/photos/yeimaya/21271886/<br />Projects<br />
    8. 8. Selecting Projects<br />Previous trial allowed students to design their own projects – not very successful<br />This time faculty submitted bids for student time via an open competition<br />Students could choose from the list of bids which met the criteria <br />
    9. 9. Aims of the Development Fund<br />To enhance the learning and teaching experiences of Durham students<br />To develop high quality electronic learning objects which enhance the learning experience of students in the University<br />To enhance the employability of students by providing opportunities for summer placements working with staff to design and develop the ELOs<br />
    10. 10. Potential Developers<br />2nd & 3rd Year Computer Science undergraduates<br />Seeking Summer Employment<br />Some Java Experience<br />Only used Bb as a Student<br />Never written a Building Block<br />Limited Supervisor Availability<br />http://www.zazzle.co.uk/no_crying_in_computer_science_mug-168267831934931190<br />
    11. 11. The “Inmates”<br />Matthew<br />Chris<br />Daniel<br />
    12. 12.
    13. 13. Successful Projects<br />
    14. 14. Functional Specs<br />
    15. 15. Learning from the Students<br />
    16. 16. Initial Issues with the Projects<br />Required iterative/agile development<br />Some projects very ambitious<br />Threat of scope creep<br />
    17. 17. What faculty are asking for…<br />…vs. what we can realistically build<br />http://www.facebook.com/group.php?gid=235422146882<br />http://www.flickr.com/photos/penguinbush/2768719983<br />
    18. 18. http://www.flickr.com/photos/natej/3251899986/in/photostream/<br />Test Environment<br />
    19. 19. Test Environment<br />Gave each student a clean test server<br />- virtual installs (on VMWare)<br />Need Blackboard Sys Admin accounts<br />Next time, may try VirtualBox<br />
    20. 20. Security Concerns<br />Totally isolated from production<br />Ensure you use different passwords!<br />Remember config files store these in plain text<br />Server and database only accessible on-site<br />Clean server – no “real” users or courses<br />Forbid the creation of accounts for friends<br />Draw their attention to the weblogs<br />
    21. 21. Access all Areas?<br />Definitely Not<br />Root access – use sudo<br />Didn’t but would next time<br />Command line access to server<br />Logs, config and property files, etc.<br />Restarting the server<br />Still considering<br />Database access – more need in 9.1?<br />
    22. 22. Think pink…<br />
    23. 23. IDE<br />Mix of Netbeans and Eclipse<br />Gave them the SDK and JARs<br />Used the devcon webinars to set it up<br />
    24. 24. http://www.flickr.com/photos/23954607@N03/2325477734/<br />Scaffolding<br />
    25. 25. Supporting Novice Developers<br />Provided a series of demo building blocks<br />Portal Module<br />Course Tool<br />Custom Content Type<br />Team work (peer support)<br />Project Management<br />
    26. 26. Documentation<br />// TODO: DEVELOPER INPUT NEEDED HERE<br />http://www.spreadshirt.co.uk/access-denied-2c-underwear-C4408A14152441<br />
    27. 27. Dropbox was invaluable<br />
    28. 28. New to Blackboard Development<br />Do you speak Manual/TagLib?<br />
    29. 29. http://www.flickr.com/photos/m0php/3862856338<br />Output<br />
    30. 30. Expanding Content<br />
    31. 31. How It Works<br />Title (and Title Colour)<br />Icon<br />JavaScript<br />Hidden DIV<br />Body Text<br />
    32. 32. Production Robustness<br />
    33. 33. Support for Future Versions<br />Taking advantage of Blackboard 9.1 CSS<br />
    34. 34. More Complex Examples<br />
    35. 35. Using the bbNG Tag Library<br />Steep learning curve<br />Few quirks with inventoryLists<br />
    36. 36. Entitlement & Persistence<br />Course Photo Roster<br />Staff Info<br />Who can see the photos?<br />Course Role and Institutional Role Checks<br />Persisting User Preferences<br />User Registry<br />
    37. 37. Scalability<br />Load photos from Campus Card database<br />Time-out Risk?<br />
    38. 38. Implementation Issues<br />Confusion – availability & row status<br />Each photo took 0.3 seconds to load<br />Copy them nightly as Avatar images<br />Discovered these were insecure<br />Not resolved until after project had ended<br />
    39. 39. FlashCards: Coming Unstuck<br />
    40. 40. Clash of the Libraries<br />JavaScript libraries – jQuery & ProtoType<br />Developed initially outside Blackboard<br />Browser Compatibility Issues<br />Scope Creep – Guilty!<br />
    41. 41. http://www.flickr.com/photos/minette_layne/2306348177/sizes/l/in/photostream/<br />Reflection<br />
    42. 42. Students’ Reflections<br />
    43. 43. Recommendations<br />Success requires staff commitment & planning<br />Select projects and students carefully<br />Early steps need extensive scaffolding<br />Gets students familiar with thinking in Blackboard<br />Try it: very rewarding, we will do it again!<br />
    44. 44. Thank You<br />To you – for attending this talk<br />To Matthew, Chris & Daniel – for being fun to work with<br />To all the staff in the Learning Technologies Team and the Technology Enhanced Learning Group - who provided support, time & advice<br />
    45. 45. Questions?<br />Get in touch:<br />malcolm.murray@durham.ac.uk<br />@learntechdurham<br />@malcolmmurray<br />http://www.dur.ac.uk/lt.team/blog/<br />http://building-blocks-developer.com/<br />
    46. 46. Please provide feedback for this session on the back of used dollar bills sent to the author or by emailingDevConFeedback@blackboard.com. <br />The title of this session is:<br />Letting the lunatics run the asylum<br />

    ×