Intro To Programming

UniTo Master in Economics

1 Welcome to Introduction to Programming

  • This website is the home of the course Introduction to Programming.
  • This course assumes no prior programming experience.
  • Below you will find setup instructions and a syllabus.
  • You can obtain all material for this course from the associated github repository at link

1.1 Objectives of this Course

  • After this course, we want you to be able to participate or conduct your own research project in an efficient way. Research nowadays means data sciencey stuff in most cases, certainly in Economics.
  • We want you to have a basic understanding of how an operating system (in particular, your OS) works.
  • We want to be able to achieve a basic level of automation in repetitive tasks.
  • We will introduce Python thoroughly.
  • We will also show R.
  • Maybe, we will have time to look at julia as well.

2 Program

This course has several submodules.

  1. Installing Software and Preparing environment (you do that at home, see below in Section 3).
  2. OS Basics: What is an OS, how to work with it.
  3. Python
  4. R
  5. julia (maybe)

I just want to run some python code right away!! 👉 https://github.com/floswald/hello-devcontainer-with-jupyter

Module Session Number Topic Author
OS Basics 1 The Unix Shell The Software Carpentry Project + Florian Oswald
OS Basics 2 Shell: Files and Directories The Software Carpentry Project + Florian Oswald
OS Basics 3 Shell: Working with Files and Directories The Software Carpentry Project + Florian Oswald
Homework 1: complete and run a bash script on gh-actions Florian Oswald
Python 4-12 Python Intro The Software Carpentry Project + Florian Oswald
R 13 R Intro Florian Oswald
R 14 R {tidyverse} [Grant McDermott](https://grantmcdermott.
R 15 R and python generics Florian Oswald
R 16 R {data.table} Grant McDermott + Florian Oswald
R 17 Building R packages Florian Oswald
R 18 Spatial Data with R Florian Oswald

Optional Material

Module Session Number Topic Author
* Shell: Pipes and Filters The Software Carpentry Project + Florian Oswald
* Git Version Control The Software Carpentry Project + Florian Oswald
julia 19 julia intro 1 Florian Oswald
julia 20 julia intro 2 Florian Oswald
R 21 Quick Intro to NLP with R Florian Oswald

3 Setup Instructions

  • You must bring your own laptop to each class.
  • Please make sure you have an up to date operating system, i.e. run a software update before we start.
Very Detailed Installation Instructions
  • I put together a suite of extremely detailed installation instructions. You should follow those here before coming to the first session in class!
  • Each Operating System has different instructions to follow.

4 Code of Conduct

If you decide to participate in this course, I expect you to abide by the following minimal code of conduct.

  1. Be polite to the other class participants.
  2. While in class, do not spend time on messaging apps, chat rooms, computer games, or similar content.

You can expect your instructor to abide by the same code of conduct, so this is a matter of mutual respect. If you are found in breach of the above you will be given a single warning, and I will ask you to no longer join the course after a second time. Your grade will be “fail”.

5 License

All lectures of this course are derived from the work of the Software Carpentry. Their material is licensed under creative commons license 4.0, whereby I am allowd to share and remix the content, if appropriate attribution is given.

Those terms apply to anyone wanting use material on this website as well. Thank you.

© Florian Oswald, 2025