BarnCamp 2017 workshop proposals
Example Entry
- Proposed by
- Exampley Mc Exampleface
- Time
- 3-4 years
- Level
- Some experience of using a wiki required
- Resources
- Laptop and 10 mice, USB hub (10 port)
- Number
- up to 10 people all huddled round a laptop and USB hub with 10 mice in it
You will learn how to make generic fictional entries into wiki pages, demostrating the format of the page expected, together with some humour. You will also use bullet points to:
- show how bullet points are used in Mediawiki
- add some much needed recursive self reference
- make friends
You'll then finish off your description with how exciting workshop will be, or with an uncomfortable orphan sentence type paragraph.
This is the end of the example.
Coding
Keeping your code clean
- Proposed by
- adelayde
- Time
- 3-4 hours
- Level
- experience of programming at a intermediate to advanced level, or beginners who are keen to get into coding.
- Resources
- projector, sound, laptop (have one), this may be suitable for active workshop in the second part.
- Number
- up to 30 with people working in pairs or mobs for Part II
Part I (talk/discussion): No matter if you're new to coding, or a seasoned coder, applying the principals of Clean Code can help you maintain and understand your own code, especially when you come back to it six months later. Applying Clean Code principals to code makes modularisation and reusability easier, aids other programmers who may want to work on your code, aids with self-documentation, and sets the foundation for adopting test driven development. In the workshop we'll address how:
- small is beautiful
- simple is best
- comments suck
- reusability is king
- code should be crafted not thrown at the screen
- readability trumps cleverness and complexity
Part II (practical workshop): But what about that horrible code you're having to work on that somebody else, or even you, wrote? We'll also have a look at how to tackle nasty, unreadable, spaghetti, untestable legacy code; how we can gradually improve it in small, iterative steps; and ultimately how we can get it into shape, rather than just throwing our arms in the air and re-coding the whole lot. We'll cover:
- identifying ways in to legacy code
- performing minuscule iterative improvements
- how we can use test driven development to make this process safer.
Programming language: undecided but will try to cover a number of different ones in the examples, and for the practical will look at something everyone can get up and running, hopefully in a web browser, but popular, such as Python, Ruby or JavaScript.