46
Dr Malcolm Murray Letting the lunatics run the asylum - students developing code for the production environment Dr Malcolm Murray Durham University, UK 12th July 2011 8:30 am Venetian Congress Center - Titian

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

Embed Size (px)

DESCRIPTION

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.

Citation preview

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

Dr Malcolm Murray

Letting the lunatics run the asylum - students developing code for

the production environment

Dr Malcolm MurrayDurham University, UK

12th

Jul

y 20

11 8

:30

am V

enet

ian

Con

gres

s C

ente

r -

Titi

an 2

303

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

Dr Malcolm Murray

Slides freely available…

http://www.slideshare.net/malcolmmurray

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

Dr Malcolm Murray

This session is being recorded…

http://www.audioh.com/projects/recorded_delivery.html

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

Dr Malcolm Murray

Letting the lunatics run the asylum

http://commons.wikimedia.org/wiki/File:County_Insane_Asylum,_Milwaukee.jpg

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

Dr Malcolm Murray

Students developing code for the production environment

http://www.vinyltap.co.uk/shop/item/510008517750895.aspx

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

Dr Malcolm Murray

Sound pedagogy

Learning by doing

http://www.flickr.com/photos/david_jones/3302564430

Biggs’ 3 Levels of Teaching

http://www.johnbiggs.com.au/

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

Dr Malcolm Murray

Projects

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

yeim

aya

/21

27

18

86

/

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

Dr Malcolm Murray

Selecting Projects

Previous trial allowed students to design their own projects – not very successful

This time faculty submitted bids for student time via an open competition

Students could choose from the list of bids which met the criteria

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

Dr Malcolm Murray

Aims of the Development Fund

To enhance the learning and teaching experiences of Durham students

To develop high quality electronic learning objects which enhance the learning experience of students in the University

To enhance the employability of students by providing opportunities for summer placements working with staff to design and develop the ELOs

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

Dr Malcolm Murray

Potential Developers

2nd & 3rd Year Computer Science undergraduates

Seeking Summer Employment

Some Java Experience

Only used Bb as a Student

Never written a Building Block

Limited Supervisor Availability

http://www.zazzle.co.uk/no_crying_in_computer_science_mug-168267831934931190

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

Dr Malcolm Murray

The “Inmates”

Matthew Chris Daniel

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

Dr Malcolm Murray

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

Dr Malcolm Murray

Successful Projects

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

Dr Malcolm Murray

Functional Specs

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

Dr Malcolm Murray

Learning from the Students

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

Dr Malcolm Murray

Initial Issues with the Projects

Required iterative/agile development

Some projects very ambitious

Threat of scope creep

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

Dr Malcolm Murray

What faculty are asking for…

http://www.flickr.com/photos/penguinbush/2768719983

…vs. what we can realistically build

http://www.facebook.com/group.php?gid=235422146882

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

Dr Malcolm Murray

Test Environment

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

na

tej/3

25

18

99

98

6/in

/ph

oto

stre

am

/

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

Dr Malcolm Murray

Test Environment

Gave each student a clean test server

- virtual installs (on VMWare)

Need Blackboard Sys Admin accounts

Next time, may try VirtualBox

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

Dr Malcolm Murray

Security Concerns

Totally isolated from production

Ensure you use different passwords! Remember config files store these in plain text

Server and database only accessible on-site

Clean server – no “real” users or courses

Forbid the creation of accounts for friends

Draw their attention to the weblogs

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

Dr Malcolm Murray

Access all Areas?

Definitely Not Root access – use sudo

Didn’t but would next time Command line access to server

• Logs, config and property files, etc.• Restarting the server

Still considering Database access – more need in 9.1?

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

Dr Malcolm Murray

Think pink…

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

Dr Malcolm Murray

IDE

Mix of Netbeans and Eclipse

Gave them the SDK and JARs

Used the devcon webinars to set it up

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

Dr Malcolm MurrayScaffolding

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

23

95

46

07

@N

03

/23

25

47

77

34

/

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

Dr Malcolm Murray

Supporting Novice Developers

Provided a series of demo building blocks Portal Module Course Tool Custom Content Type

Team work (peer support)

Project Management

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

Dr Malcolm Murray

Documentation

// TODO: DEVELOPER INPUT NEEDED HERE

http://www.spreadshirt.co.uk/access-denied-2c-underwear-C4408A14152441

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

Dr Malcolm Murray

Dropbox was invaluable

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

Dr Malcolm Murray

New to Blackboard Development

Do you speak Manual/TagLib?

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

Dr Malcolm Murray

http://www.flickr.com/photos/m0php/3862856338

Output

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

Dr Malcolm Murray

Expanding Content

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

Dr Malcolm Murray

How It Works

Icon Title (and Title Colour)

Body Text

JavaScriptHidden DIV

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

Dr Malcolm Murray

Production Robustness

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

Dr Malcolm Murray

Support for Future Versions

Taking advantage of Blackboard 9.1 CSS

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

Dr Malcolm Murray

More Complex Examples

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

Dr Malcolm Murray

Using the bbNG Tag Library

Steep learning curve

Few quirks with inventoryLists

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

Dr Malcolm Murray

Entitlement & Persistence

Course Photo Roster

Staff Info

Who can see the photos? Course Role and Institutional Role Checks

Persisting User Preferences User Registry

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

Dr Malcolm Murray

Scalability

Load photos from Campus Card database Time-out Risk?

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

Dr Malcolm Murray

Implementation Issues

Confusion – availability & row status

Each photo took 0.3 seconds to load

Copy them nightly as Avatar images

Discovered these were insecure

Not resolved until after project had ended

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

Dr Malcolm Murray

FlashCards: Coming Unstuck

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

Dr Malcolm Murray

Clash of the Libraries

JavaScript libraries – jQuery & ProtoType

Developed initially outside Blackboard

Browser Compatibility Issues

Scope Creep – Guilty!

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

Dr Malcolm Murray

Reflection

htt

p:/

/ww

w.f

lickr

.co

m/p

ho

tos/

min

ett

e_

layn

e/2

30

63

48

17

7/s

ize

s/l/i

n/p

ho

tost

rea

m/

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

Dr Malcolm Murray

Students’ Reflections

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

Dr Malcolm Murray

Recommendations

Success requires staff commitment & planning

Select projects and students carefully

Early steps need extensive scaffolding

Gets students familiar with thinking in Blackboard

Try it: very rewarding, we will do it again!

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

Dr Malcolm Murray

Thank You

To you – for attending this talk

To Matthew, Chris & Daniel – for being fun to work with

To all the staff in the Learning Technologies Team and the Technology Enhanced Learning Group - who provided support, time & advice

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

Dr Malcolm Murray

Questions?

Get in touch:

[email protected]

@learntechdurham

@malcolmmurray

http://www.dur.ac.uk/lt.team/blog/

http://building-blocks-developer.com/

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

Dr Malcolm Murray

Please provide feedback for this session on the back of used dollar bills sent to the author or by emailing

[email protected].

The title of this session is:

Letting the lunatics run the asylum