Module 1 Programming Primer

by Patrick Boily and Jen Schellinck, with contributions from Chunyun Ma and Ehssan Ghashim

Programming languages go in and out of style. To be a strong programmer, it is important to understand not just the ins and outs of a particular programming language, but how computer languages and computing infrastructure work more generally.

In this module, learners are first introduced to some of the core concepts of computer programming in a language-agnostic way, before being shown the basics of R and Python, two of the most common programming languages used in modern data analysis.


1.1 Programming Fundamentals
     1.1.1 Compiled vs. Interpreted Languages
     1.1.2 Some Fundamental Concepts
     1.1.3 Code Components
     1.1.4 Designing With Pseudo-Code
     1.1.5 From Pseudo-Code to Code That Runs
     1.1.6 Debugging
     1.1.7 R/Python

1.2 Introduction to R
     1.2.1 Why Use R
     1.2.2 Installing R / RStudio
     1.2.3 Test, Test, Test!
     1.2.4 Customizing RStudio
     1.2.5 Upgrading R / RStudio
     1.2.6 Basics of R

1.3 More About Programming in R
     1.3.1 Help and Documentation
     1.3.2 Simple Data Manipulation
     1.3.3 Exploring Data
     1.3.4 A Word About NAs
     1.3.5 Loops and Conditional Statements

1.4 The tidyverse
     1.4.1 Pipeline Operator
     1.4.2 Tidy Data
     1.4.3 The dplyr Package

1.5 Basics of Python
     1.5.1 IDE for Python
     1.5.2 Introduction to Python
     1.5.3 NumPy and Arrays

1.6 Python for Data Science
     1.6.1 Pandas and Data Frames
     1.6.2 Data Wrangling
     1.6.3 Data Aggregation
     1.6.4 Combining Python and R

1.7 Exercises