Real programmers set the universal constants at the start such that the universe evolves to contain the disk with the data they want.

Real Programmers, from xkcd

A very deep dive into a specific aspect of programmer culture.

There are deep divisions in programmer culture over seemingly trivial things. For example, the advocates of different text editors treat their allegiance with a religious fervour. Each student will pick one of these divisive topics and present it to their peers during the week 5 lab. the marks will be evenly split between defining the context, presenting both sides of the argument with balance, and stating their position on the matter and substantiating why they hold that belief.

Deliverables: A 5 minute presentation in the week 5 Lab. A 20 slide presentation in Google slides format. Each slide should be set to have a 15 second automatic timer. The slides should be shared no later than 1pm on Thursday week 5. Details on sharing will be given closer to the date.

That says most of it already!

Here’s a list of possible topics for you to pick from:

  • 40%, 60% or full sized keyboard?
  • Agile vs waterfall
  • Camel vs snake
  • Cherry brown vs Cherry blue
  • CRLF vs LF
  • Double space after a full stop
  • IDE vs text editor
  • Imperative vs functional
  • jif vs gif
  • Long variable/object names versus short and/or abbreviated names
  • Mountain Dew versus Coffee
  • Newbs vs noobs vs n00bs
  • One True Brace vs K&R vs Allman
  • Pair programming or not?
  • Semicolons, yes or no
  • Standing vs sitting vs treadmill
  • Tabs vs Spaces
  • Vi vs Emacs
  • Why python’s lambda is bad or good
  • Working naked?

You should record all your references and put them on the slide that they relate to. That’ll mean that we can go through your slides and see where you’ve got your information from.

Google slides doesn’t give you the option of timing the slides, but we can time them once we have them all. There will be 90 seconds between the presentations for change over and questions, then the next one will start playing.

You’ll actually submit 21 slides, the first one will have your name and student number on it. This will give you some time to grab the mic and steady your nerves; you’ll need to be ready before though, 15 seconds isn’t enough warning to get from your seat to the front. There will be a running order sheet available on the day.

Looking at the assessment criteria:

  1. The submission fits the specification

    This is pretty self explanatory. Don’t throw away marks here. Make sure you have a 21 slide Google slides presentation, where slide 1 is your name and student number. Make sure that it’s shared well in advance of the cut off.

    If you don’t get this bit right, you can’t get any marks for the remaining parts of the assessment.

  2. Defining the context

    What does this mean? Why is this even an issue? Why isn’t there agreement? Present the context of the question. E.g. for Vi vs Emacs, say that they are both text editors, assume that your audience knows absolutely nothing about this topic.

  3. Presenting both sides of the argument with balance

    We shouldn’t be able to tell what your position is yet, that should come as a surprise in the next section. For now, present both sides of the argument as well as you can, as if you are arguing for both sides.

  4. Stating a position on the matter and substantiating why that belief is held

    Now you can break out your position. Tell us why you believe what you do. Back it up with references and examples too.

The key to this assignment is to enjoy yourself and to nerd out in a big way. It’s only by understanding the depth of these sorts of arguments that you can appreciate the culture that you are entering.