An open API service indexing awesome lists of open source software.

https://github.com/adamslack/python_oo_lessons_amgen

:art: Code to be used to introduce OO principals to GSP progammers using python and R
https://github.com/adamslack/python_oo_lessons_amgen

Last synced: about 1 year ago
JSON representation

:art: Code to be used to introduce OO principals to GSP progammers using python and R

Awesome Lists containing this project

README

          

# python_oo_lessons_amgen
:pencil: Code to be used to introduce OO principals to GSP progammers using python and R

## Repo Structure
This Repository is split into two areas

- :snake: Python Object Oriented Programming
- :dog: R Object Oriented Programming

## :book: Python Object Oriented Programming
The files associated with the Python OOP are there to serve as straightforward examples of how code bases may look.

It begins with a plain procedural example, used to demonstrate the drawbacks that come when not writing code in a more OO or FP style.

The next step demonstrates how the code base may look if developed using a few functions. This is to demonstrate how encapsulating code can yield many benefits.

Following on from that is a demonstration of some OO programming by implementing 'Data Column' and 'Data Frame' Classes.

## :chart_with_upwards_trend: R Object Oriented Programming
The files in this section of the Repo all relate to the purpose of demonstrating how different code bases may look.

The first example demonstrates a procedural implementation of a fuel tracking and plotting program. It serves as a demonstration of the difficulties that might arise when programming without much thought.

Following on from that is a program with the same aim, but encapsulating the implementation in functions. it shows the benefits of encapsulating code, whilst also showing that by doing so, it becomes easier to create more complex programs.

The Final example is oriented around the same aim as the previous two, but in an Object Oriented approach using R6 Classes. It serves as an introduction to OOP as well as R6 classes.

## :blue_book: R Markdown Presentation
The lessons demonstrated in the R Object Oriented Programming section are presented in an R Markdown Presentation (ioslides). These slides give an explanation to the thought processes behind the demonstrations.