Programming for Business Analytics (Undergraduate)

An undergraduate introduction to data analysis with R for business: wrangling and visualizing data, evaluating causal claims, linear regression, and quantifying uncertainty.
ISS4066 Fall 2026 TSMC Bldg. R421 Monday, 14:20–17:20

Course Overview

This course teaches you to turn messy business data into defensible answers with R. You will learn to wrangle and visualize data, evaluate claims about causality, fit and interpret linear regressions, and quantify how much you should trust an estimate through sampling distributions, the bootstrap, confidence intervals, and hypothesis tests. We practice these methods with real datasets and simulated examples, and the semester culminates in a team project published as a portfolio-ready article with a public GitHub repository.

Agentic AI now writes much of the code. The skill that matters has shifted from writing code to directing and verifying it: without the underlying building blocks, you cannot tell when an analysis is wrong, and you end up steered by the tool rather than steering it. The course therefore builds programming and visualization foundations first, then turns to statistical inference, and every in-class exercise ends with a verification step.

This is the undergraduate course (ISS4066, Mondays). Graduate students take ISS5066 on Thursdays, which carries research-oriented project requirements. Students may not receive credit for both.

Preparation and Participation

Completing the assigned reading before class is part of your responsibility every week, as set out in the syllabus. Follow the Required reading listed for each week in the Schedule tab, work through the examples, and run any accompanying R code. Class discussions and exercises build on this preparation, so come ready to use the ideas and discuss questions that arise from the reading.

We will use class time to work through analysis code, interpret results, compare approaches, and adapt examples to new questions. We will explain and revisit R fundamentals, including objects, operators, data structures, and functions, as we use them in visualization, data wrangling, and later topics. Questions about these foundations are welcome throughout the course.

Required readings are freely accessible online. Further reading is optional and provides additional explanation and depth; purchasing those books is not required. The R Basics companion handout provides fuller explanations and worked examples to consult as needed throughout the semester.

Learning Objectives

  • Data wrangling and visualization: filter, summarize, group, join, and reshape data with the tidyverse, and build clear exploratory graphics with ggplot2.
  • Causality and regression: distinguish randomized experiments from observational studies, and use simple and multiple linear regression to reach defensible conclusions.
  • Statistical uncertainty: reason with sampling distributions, the bootstrap, confidence intervals, and hypothesis tests, including permutation tests and power.
  • Professional workflow: R, RStudio, Quarto, git, and GitHub, plus the habit of checking what AI-assisted code actually did.

Who Should Take This Course

No prerequisites. The course is designed for students from any background who want a working foundation in data analysis for business. Graduate students should enroll in ISS5066.

Teaching Team

Instructor

Jaewon Yoo

Jaewon Yoo · Assistant Professor

Institute of Service Science, College of Technology Management
National Tsing Hua University

Teaching Assistants

Tuan Anh Tran

Tuan Anh Tran

Ph.D. Student, ISS

anhtranpt [at] iss.nthu.edu.tw

Daffa Onielda

Daffa Onielda

IBBA

daffaonielda [at] gapp.nthu.edu.tw

Third teaching assistant, to be announced

To be announced

Third teaching assistant, to be announced once enrollment is final (after the add/drop period, Sep 20)

 

Course Platforms

Purpose Platform
Syllabus, weekly schedule, policies, lecture slides, R scripts This website
Announcements, in-class exercise and assignment submissions, grades, discussion board eeclass
Office hours and project consultations Google Calendar booking
Private matters Email

Course Details

  • Sep 7 – Dec 26, 2026
  • Monday
  • 14:20–17:20
  • TSMC Bldg. R421

Communication

Lecture slides and R scripts are posted on this page under Materials as the course progresses. In-class exercises, assignments, grades, and announcements are on eeclass (NTHU's learning platform; enrolled students are added automatically). For private matters, email the instructor.

What's New

This page is updated during the semester. Recently changed items are listed below.

  • Sep 14, 2026: The existing reading list has been clarified across the weekly schedule: Required reading identifies preparation for each class, and Further reading provides optional references. Direct links and section ranges make the free readings easier to find. An R Basics companion handout adds explanations and worked examples to the reference slides under Materials.
  • Sep 13, 2026: Lecture slides and R scripts are now posted on this page under Materials, starting with Week 2 (Data Visualization) and the R Basics reference slides that accompany the Week 1 readings. Week 3 is Data Wrangling; there is no class on Sep 28 (Teachers' Day); exercise E3 is in Week 5.
  • Sep 6, 2026: Fall 2026 page published. No class meeting on Sep 28 (Teachers' Day) and Oct 26 (Retrocession Day observed); the schedule already reflects this.
  • No take-home quizzes this year. The 5% "Quizzes & In-Class Exercises" component consists of five in-class exercises (1% each), submitted on eeclass the same day.
  • Project showcase with Q&A in the final week.
  • ISS4066, Mondays. Graduate students should enroll in ISS5066 (Graduate).

Topics Covered

Data Wrangling & Viz

Transforming messy data into tidy formats and communicating insights with ggplot2.

Causality & Regression

Evaluating causal claims and using simple and multiple linear regression.

Statistical Uncertainty

Sampling distributions, the bootstrap, confidence intervals, and hypothesis tests.

Professional Workflow

R, RStudio, Quarto, git, and GitHub, plus directing and verifying AI-assisted analysis.

Weekly Schedule (Undergraduate, Mondays)

Assignments are due before class starts (14:20); Sunday deadlines are 23:59. Two Mondays are university holidays with no make-up class (Sep 28, Oct 26). The schedule is tentative; eeclass announcements take precedence. Use the resource links under each week to open slides and handouts or download R scripts.

Before every class: complete that week’s Required reading and work through the examples, including any R code. This preparation is expected in the syllabus and supports your participation in class discussions and exercises. Further reading is optional. All required readings are freely accessible online.

Part I: Working with Data in R

Week 1 (Sep 7): Course Introduction and R Programming Basics Slides R basics (reference) R basics (handout)

  • Course aims, organization, and expectations
  • Working in R and RStudio: objects, functions, and packages
  • Reproducible reports with Quarto
  • Required reading: MD §§1.1–1.4 (R/RStudio, objects, functions, packages, and data frames). Install R and RStudio before class.
  • Further reading (optional): AAG §§4.3, 5, 6 (R basics); VT Ch. 1–2 (working with and communicating data).

R Basics reference materials: The reference slides and companion handout under Materials cover operators, data types, data structures, and writing functions, with explanations and examples to consult throughout the semester.

Self-introduction on the eeclass discussion board by Fri Sep 11
Swirl tutorials 1–3 by Week 2

Week 2 (Sep 14): Data Visualization Slides R script

  • Exploring college education and poverty in Midwest counties
  • Building plots layer by layer with ggplot2: geoms, labels, scales, and mapping versus setting aesthetics
  • Comparing distributions with histograms, density plots, boxplots, and facets
  • Plotting grouped data and trends over time with Gapminder
  • Required reading: MD §§1.2–1.4 (review); MD §§2.1–2.7 (grammar of graphics, scatterplots, line graphs, histograms, facets, and boxplots).
  • Further reading (optional): AAG §7.2 (ggplot2); AAG Ch. 3–5 (additional R background); VT Ch. 3–4 (tools and patterns over time).
In-class exercise E1 (gapminder)
Assignment 1 released
Due: Group formation survey, Sun Sep 20

Week 3 (Sep 21): Data Wrangling with dplyr

  • Operating on rows, columns, and groups
  • Bar plots
  • Required reading: MD §§3.1–3.6, MD §3.8 (pipes, filtering, summaries, groups, new variables, sorting, and selecting columns); MD §2.8 (bar plots).
  • Further reading (optional): AAG §§12.1–12.9 (dplyr); VT Ch. 7 (visual comparisons).
In-class exercise E2
GitHub setup guide posted

Week 4 (Sep 28): No class (Teachers’ Day)

  • Use the week for Assignment 1, the R basics reference slides, and swirl; TAs hold office hours as usual

Part II: Causality, Prediction, and Regression

Week 5 (Oct 5): Causality

  • What is a causal effect?
  • Randomized experiments; calculating effects
  • Observational studies
  • Required reading: IMS §§2.2–2.3 (experiments and observational studies); course notes on potential outcomes, average treatment effects, and comparisons of group means (to be posted before class).
  • Further reading (optional): QSS §§2.1–2.5.
In-class exercise E3
20-minute debrief of E3
Assignment 2 released
Due: Assignment 1
Due: Milestone 1: GitHub repository, Sun Oct 11

Week 6 (Oct 12): Relationships, Importing, and Tidying Data

  • Z-scores and correlation
  • Writing reusable functions for standardization
  • Pivoting longer; joining datasets
  • Required reading: MD §§4.1–4.2 (importing and tidy data); MD §§3.7.1–3.7.3 (joins); MD §5.1.1 (correlation); IMS §13.2.2 (Z-scores).
  • Further reading (optional): AAG §§6.1, 15.2–15.3, 18.2; QSS §§3.5–3.6.
Optional, Oct 12–23: book a slot via Google Calendar to discuss your research question before the proposal
Due: Milestone 2: data and proposal, Sun Oct 25

Week 7 (Oct 19): Prediction and Iteration

  • Predicting election outcomes
  • Loops; evaluating predictions; time-series plots
  • Required reading: Course notes and R examples on election prediction, loops, and storing and evaluating predictions (to be posted before class); review MD §2.4 (line graphs).
  • Further reading (optional): QSS §4.1; AAG Ch. 10 (loops); VT Ch. 4 (patterns over time).

Week 8 (Oct 26): No class (Retrocession Day observed)

Week 9 (Nov 2): Regression and Model Fit

  • Modeling with a line; linear regression in R
  • Model fit
  • Required reading: MD §5.1 and MD §5.3.2 (linear regression, fitted values, residuals, and least squares); IMS §7.2.5 (R-squared).
  • Further reading (optional): QSS §§4.2.1–4.2.4, 4.2.6; IMS §§7.1–7.3 for additional explanation and practice.
Assignment 3 and Problem Set 1 (IMS Ch. 7) released
Course withdrawal period Nov 2–20
Due: Assignment 2

Week 10 (Nov 9): More on Regression

  • Multiple regression
  • Categorical predictors
  • Required reading: MD §5.2 (categorical predictors); MD §§6.1–6.2 (multiple regression).
  • Further reading (optional): QSS §§4.2.6–4.3.2; MD §6.3 (model comparison and related topics).
In-class exercise E4 (NYC condominiums)
Problem Set 2 (IMS Ch. 8) released
Due: Problem Set 1, Sun Nov 15
Due: Milestone 3: first visualization, Sun Nov 15

Part III: Statistical Uncertainty

Week 11 (Nov 16): Sampling and Sampling Distributions

  • Sampling framework
  • Random variables; the normal distribution and the central limit theorem
  • Required reading: MD §§7.1–7.3 and MD §7.5 (sampling, sampling distributions, and the central limit theorem).
  • Further reading (optional): IMS §§13.1–13.3 (normal models and standard errors).
Due: Assignment 3
Due: Problem Set 2, Sun Nov 22

Week 12 (Nov 23): The Bootstrap and Confidence Intervals

  • Resampling; bootstrap CIs for means and ATEs
  • Computing and interpreting CIs
  • Required reading: MD §§8.1–8.5 (resampling and confidence intervals); IMS §20.2 (bootstrap intervals for a difference in means).
  • Further reading (optional): AAG §21.4; MD §8.6 (a worked comparison of two groups).
Assignment 4 released

Week 13 (Nov 30): Hypothesis Testing

  • Hypothesis tests with infer; two-sample and permutation tests
  • Issues with hypothesis testing; power
  • Required reading: MD §§9.1–9.4 (randomization tests and interpretation); IMS §20.1 (two-means randomization test); IMS §14.4 (power).
  • Further reading (optional): MD §§9.5–9.6 (worked example and issues with testing).
In-class exercise E5
Problem Set 3 (IMS Ch. 11–12) released
Team consultations Nov 30–Dec 4: book a slot via Google Calendar
Due: Milestone 4: first analysis, Sun Dec 6

Week 14 (Dec 7): Models of Uncertainty

  • Normal approximation and standard errors for confidence intervals and hypothesis tests
  • Comparing groups: confidence intervals and two-sample tests for experiments
  • Required reading: IMS §§13.1–13.3 and IMS §13.6 (normal models, standard errors, and confidence intervals); IMS §20.4 (intervals for a difference in means).
  • Further reading (optional): IMS §§13.4–13.5 (additional examples).
Assignment 5 released
Due: Assignment 4
Due: Problem Set 3, Sun Dec 13

Week 15 (Dec 14): Inference for Regression

  • Uncertainty for regression coefficients
  • Presenting OLS regressions
  • Required reading: MD §§10.1–10.3 (regression tables, uncertainty, and conditions for inference); IMS §25.1 (multiple-regression output).
  • Further reading (optional): QSS §7.3; MD §10.4 (simulation-based inference).

Part IV: Showcase

Week 16 (Dec 21): Project Showcase, Q&A, and Peer Evaluation

  • Teams present at stations; the instructor and TAs rotate for Q&A
  • Peer evaluation
  • Preparation: Review the project instructions and evaluation rubric on eeclass, and prepare your presentation and responses to questions.
Due: Final report, Sun Dec 20
Due: Assignment 5, Sun Dec 27

Lecture Slides & Handouts


Reading Materials

Completing the assigned reading before each class is part of your responsibility throughout the semester, as set out in the syllabus. The weekly schedule now distinguishes Required reading (before class) from Further reading (optional). Work through the required sections and their examples, running any accompanying R code, and arrive ready to participate in discussions and exercises. Bring questions from your preparation so we can work through them in class.

We learn R through practical data-analysis questions. Class time will focus on working through code, interpreting results, and making changes to answer new questions. Programming foundations such as objects, operators, data structures, and functions will be explained and revisited as we use them in visualization, data wrangling, and later analyses. Questions about these foundations are welcome throughout the course.

Required reading: freely accessible resources

Further reading: optional references

These books provide additional explanations and examples. Purchasing them is not required.

Software

Grading

Component Weight
Final project (report, showcase Q&A, milestones, peer evaluation) 40%
Assignments (5) 20%
Problem sets (3) 15%
In-class exercises (5) 5%
Attitude / participation 10%
Attendance 10%

Within the final project: written report, showcase presentation with Q&A, four milestones, and peer evaluation. A rubric is provided on eeclass.

Final Project

A team project on a topic of your choice. Develop a research question, locate and prepare data (a pre-cleaned dataset from an R package is not sufficient), apply the methods from the course, and publish a portfolio-ready article or webpage with a linked GitHub repository containing all code.

Sample Evaluation

To give you a clear sense of expectations and grading criteria, here is a sample final report with the instructor’s evaluation from last year’s graduate section (names and student IDs removed):

  • Sample Final Report (PDF): “Occupational Abilities and Wage Outcomes”, a team project combining O*NET ability measures with BLS wage data, from visualization through regression to interpretation
  • Sample Instructor Evaluation (PDF): rubric scores by section, comments, and suggestions (92/100)

Project Milestones

Milestone Due
GitHub repository Sun Oct 11
Data and proposal Sun Oct 25
First visualization Sun Nov 15
First analysis Sun Dec 6
Final report Sun Dec 20
Showcase and Q&A Mon Dec 21

Assignments

Five assignments, each a short Quarto report on a provided dataset applying the method just covered (data wrangling and visualization, causality, regression and prediction, the bootstrap, hypothesis testing). Late submissions lose 1 percentage point of the assignment’s weight per day.

Problem Sets

Three problem sets drawn from Introduction to Modern Statistics (Ch. 7; Ch. 8; Ch. 11–12), submitted as a single PDF.

In-Class Exercises

Five short exercises done during class without generative AI and uploaded to eeclass the same day. Each ends with a verification step: check what your code actually did before you trust the output.

Course Policies

AI Use Policy

Students are permitted to use AI tools, including large language models and agentic coding assistants (e.g., ChatGPT, Claude, Gemini), for assignments and the final project. You are fully responsible for everything you submit. The final project is designed so that a high-quality result requires genuine understanding; AI accelerates competent work but does not substitute for it. However, it is imperative that the final submission predominantly reflects the student’s understanding and personal input. Students who use AI tools must adhere to the following guidelines:

Attempting to cheat the system by relying heavily on AI-generated content without substantial personal input is ultimately the student’s loss, as it undermines the learning process.

In line with NTHU’s Implementation Guidelines on AI Ethics Statements and Learning Assessment (Sep 2026): if AI use is identified but not disclosed as required, the work may be re-evaluated or assigned no credit. In-class exercises are completed without generative AI. When the instructor uses AI to produce teaching materials or learning resources, this is indicated in the materials. By enrolling in this course, students are considered to have agreed to this statement.

Academic Honesty

All submitted work must be your own. A first violation results in a zero for that assignment; subsequent violations result in a failing grade. Cheating, plagiarism, self-plagiarism, and misrepresentation of authorship all count. Submissions may be checked with Turnitin.

Attendance and Participation

Attend every class with your laptop. Attendance is recorded from Week 2 and counts for 10%; each missed class costs about 1% of the final grade. Notify the instructor or a TA before class if you must miss it. Participation is assessed through in-class discussion and the eeclass discussion board.