An Introductory Guide to Programming
1
Introduction
1.1
Background
1.2
Business Environment
1.3
Advantages of Programming
1.4
Outline of the guide
2
Environment set up
2.1
Notepad
2.2
Text editors
2.2.1
Tabbed browsing
2.2.2
Interactive code input
2.2.3
Code mapping
2.2.4
Additional tools
2.3
Running Code
2.4
Integrated Development Environment (IDE)
2.4.1
Text Editor
2.4.2
Console
2.4.3
Project Pane
2.4.4
Environment
2.4.5
Debugging
2.5
Notebooks
3
Fundamentals I
3.1
Comments
3.2
Assignment
3.3
Reserved words
3.4
Line breaks
3.5
White space
3.6
Arithmetic operators
3.7
Variable types
3.7.1
Boolean
3.7.2
Numeric
3.7.3
String
3.7.4
Arrays
3.7.5
Coercion
3.8
Logical operators
4
Fundamentals II
4.1
Control Structures
4.1.1
If statements
4.1.2
Switch statements
4.1.3
For loop
4.1.4
While loop
4.2
Functions
4.3
Import statement
4.4
Function operators
5
Programming work flows
5.1
Structured Programming
5.2
Object-oriented Programming (OOP)
5.3
Functional Programming (FP)
5.3.1
Recursive Functions
5.3.2
Anonymous Functions (aka Lambda Expressions)
5.3.3
Functionals
5.3.4
Closures
6
Algorithms
6.1
Big O notation
6.2
Examples
6.2.1
Sorting
6.2.2
Searching
6.2.3
Random Sampling and Monte Carlo
6.3
Data structures
7
Version control
7.1
Git
7.2
Initial set up
7.3
The three states of version control
7.4
Making changes
7.5
Branching
7.6
Remotes
7.7
Graphical User Interfaces
8
Data Vizualisation
8.1
Extract, Transform and Load
8.1.1
Extract
8.1.2
Transform
8.1.3
Load
8.2
One dimensional plots
8.2.1
Distribution graph
8.2.2
Proportional graph
8.3
Bidimensional plots
8.3.1
X-Y plots
8.3.2
Time evolution charts
8.4
Network diagrams
9
Modelling
9.1
Plots
9.2
Linear regression
9.3
Generalised Linear models
9.4
K-means clustering
10
Epilogue
11
Contributors
12
References
12.1
Introduction
12.2
Fundamentals
12.3
Workflows
12.4
Algorithms
12.5
Version Control
12.6
Data Visualtisation
12.7
Modelling