Programming in Empirircal Research


There are lots of excellent resources online for learning more about bash:

Motivation: Why coding is necessary in modern research

As we’ve already heard digital literacy involves the ability to use digital tools and technology effectively and efficiently.

One such critical ability for scientific work is coding/programming. In this chapter, we will therefore discuss and explore some of the fundamental concepts behind wirting code for scientific work and teach the basics of two of the most commonly encountered and useful programming languages.


Roadmap

Sub-chapter 1: Learn to Code - The Basics

Learning to code is becoming increasingly important in today’s digital world. In this sub-chapter, we will introduce the basics of coding, including the fundamental concepts and terminologies. We will also discuss the importance of learning to code and its benefits.


Sub-chapter 2: Jupyter Notebook Tutorial

Jupyter Notebooks are an interactive web-based tool that allows users to create and share documents that contain live code, equations, visualizations, and narrative text. In this sub-chapter, we will provide a tutorial on Jupyter Notebook and guide the readers through the basics of using this tool.


Sub-chapter 3: Python Tutorial

Python is a popular high-level programming language used for various purposes, including web development, data analysis, and artificial intelligence. In this sub-chapter, we will provide a tutorial on Python and guide the readers through the basics of programming with this language. We will discuss the syntax, data types, and control structures of Python.


Sub-chapter 4 Bash Tutorial

Bash is a language for the Unix shell (or the windows PowerShell), a command-line interface for interacting with the operating system. In this sub-chapter, we will provide a tutorial on Bash and guide the readers through the basics of using this tool. We will discuss the different commands and their functionalities.

Before we start:

The following ressources are meant to provide an introduction to coding in general and Python more specificaly. This will not be enough to actually become a “good” programmer.

The most important advice for learing programming is:

  • Play around with code, e.g. use the interactive functionalitfy of the following chapters or download the course material here. Extract the material and open the respective .ipynb files corresponding to the following lessons (intro_python_nb_I.ipynb)

  • Find the motivation to actually want to code: e.g. find an idea/project you want to realize

Also, to reflect on how to think and structure your coding lessons or e.g. find other ressources, check out the following Video (you don’t need to understand/watch each point).



How I would learn to code: if I could start over (Tina Huang)




How to learn to code FAST using ChatGPT (it’s a game changer seriously)(Tina Huang)






Additional Material

Some great Python resources:

The official Python tutorial

Python for research course


There are lots of excellent resources online for learning more about bash: