BM09AFM Data and coding

Catch-up

Caspar David Peter

Rotterdam School of Management

September 12, 2024

The big picture

BM09AFM Data and coding

What is the course about?

  • Companion to Analytics in Accounting and Financial Management (BM08AFM) and Accounting & Financial Management Research (BMRMAFM)
  • Expertise and hands-on experience in R…
    • Short-term: Needed for the courses/MSc thesis
    • Long-term: Developing analytical skills for a successful professional career
  • Insight into cutting-edge data analysis tools

Modus operandi

Self-guided learning!

Workflow

BM09AFM Data and coding

Exercise workflow - Instructor

Workflow

flowchart TD
  Lecture -->|inspire| Idea 
  Practice --> |inspire| Idea
  Idea--> Exercise
  Exercise --> Data
  Exercise --> Code
  Test_Functions --> Exercise
  Code --> Test_Functions
  Exercise --> |implement into| Notebook
  Notebook --> Introduction
  Notebook --> Exercises
  Exercises --> |evaluate| Results
  Results --> |improve| Exercises
  Notebook --> |motivate| Congrats
  Introduction -->|reality check| Beyond_Code
  Beyond_Code --> Study & Career

Every exercise needs several iterations to get to production quality!

Idea

  • Each exercise is a self-contained unit, and
  • ideally links with lectures/practice examples

Data and code

  • Get or use data from a paper, database, etc.
  • Make code solutions incl. test functions

Notebook structure

  • Introduction to the exercise
  • Beyond the code
  • Exercises and test to evaluate code
  • Motivational congrats message

BM09AFM Data and coding

Exercise workflow - Student

Workflow

flowchart TD
  Lecture & Practice --> |relate to| Exercise
  Exercise --> Instructions
  Instructions--> |References|Self_study
  Self_study --> Code
  Instructions --> |include and guide\ncoding| Code
  Code --> |improve| Test_function
  Test_function --> |evaluate| Code
  Code --> |success| &#x1F37B

Exercise

  • Each exercise ideally links with one or more lectures

Instructions

  • References for self-study & incl. coding guidance

Code

  • Write code based on instructions
  • Evaluate and improve code yourself
    • test functions

Current state of affairs

BM09AFM Data and coding

Current state of affairs

graph TD

    %% Subgraph for Category 1
    subgraph Category1["Notebooks 101"]
        Exercise1["Basics"]
    end

    %% Subgraph for Category 2
    subgraph Category2["Data manipulation and visualization"]
        Exercise2["Introduction to R"]
        Exercise3["Tidyverse"]
        Exercise4["Visualization"]

    end

    %% Subgraph for Category 3
    subgraph Category3["Data analytics"]
        Exercise5["Textual analyses"]
        Exercise6["SQL databases"]
        Exercise7["TBD"]
        Exercise8["TBD"]
    end

    %% Subgraph for Category 4
    subgraph Category4["Research design - replications"]
        Exercise9["Experiment"]
        Exercise10["DiD"]
        Exercise11["RDD"]
        Exercise12["IV"]
        Exercise13["Synthetic control"]
    end

    %% Optionally connect categories (if needed)
    Category1 --> Category2
    Category2 --> Category3
    Category3 --> Category4

Inventory

  • Start date: 1st of October
  • 13 exercises in total (Github)
    • 6 exercises close to production
    • 5 exercises in progress
    • 2 exercises “TBD”
  • Canvas (home)page is up-to-date
    • Course manual link is public
    • Course description now updated (hopefully)
    • Office hours scheduled/booking via link

Challenges and open questions

BM09AFM Data and coding

Technical challenges

Infrastructure

graph TD
    classDef transparentArrow stroke-opacity:0.4;
    
    Server --> Student1
    Server --> Student2

    subgraph JupyterLab
        Student1(Student 1) --> Exercise1_1(Exercise 1)
        Student1 --> Exercise1_2(Exercise 2)
        Student1 --> Exercise1_3(Exercise 3)
        
        Student2(Student 2) --> Exercise2_1(Exercise 1)
        Student2 --> Exercise2_2(Exercise 2)
        Student2 --> Exercise2_3(Exercise 3)
    end

    linkStyle 0,1,2,3,4 stroke-width:2px, color:grey, stroke-opacity:0.4;

What are the challenges?

  • All server ingredients are there, but there has not been time to set it up for the course
  • What is difficult?
    • Dependencies
    • Data
    • “Load management”
  • Why did it take so long?
    • (Exact) student number for DB
    • Server capacity/No. of VMs

BM09AFM Data and coding

Open questions

What exactly do students need to do to pass?

  • Currently: Complete all exercises, which does not mean that they are all correct
  • Alternative: Pass/fail per exercise based on completion percentage, e.g. 50%

Additional Canvas resources?

  • Introduction to the course and course objectives document?
  • Explanation of the exercises - already on Github, FAQ?
  • Discussion board on Canvas?

Evaluation (external)

  • Each exercise automatically graded
  • Database with student results and progress - automated Feedback?

Student experience

Student experience

What does it look like?

Let’s go to Jupyter lab