This repository contains the source files for a 1 day introduction to object orientated programming course which is taught using Python.
CSS JavaScript Python F#
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

#This course will introduce students to Object Orientated Programming through Python.

The course is a one day workshop and is to be thought of in two parts: a teaching component and a mini-hackathon.

##Introducing Python and OOP:

Object Orientated Programming (OOP) is a programming paradigm that is increasingly sought after by employers. This one day workshop will introduce students to OOP using Python (an increasingly popular language used by Google, Nasa and others). The format will be to introduce students to Python and OOP in the morning. In the afternoon students will be seperated in to groups to work on a "challenge". It is hoped that most of the actual learning will take place during this "challenge".

  • Basic Python:

    • Variables
    • Conditional Statements
    • Flow Control
    • Data Structures
    • Functions
  • Basic Object Orientated Programming:

    • Class
    • Attribute
    • Methods
    • Inheritance

The course site can be found here.


In the afternoon the students will be invited to compete (in teams) in a mini "hackathon" where they will be asked to write code that makes use of the OOP paradigm. In particular they are expected to delegate tasks within the group. See the corresponding README file file for further explanations.

##Contents of the repo

The repo containsi:

  • Slides for the course viewable here.
  • A Scenario Generator directory that can be used to generate artifical data needed for the challenge.
  • An example exercise: and the corresponding solution
  • Two python files with all code from the notes.
  • An Evaluation directory that can be used to evaluate a potential solution to the challenge.

License Information

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 license. You are free to:

  • Share: copy, distribute, and transmit the work,
  • Remix: adapt the work

Under the following conditions:

  • Attribution: You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
  • Share Alike: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

When attributing this work, please include me.