mircoschoenfeld
  • publications
  • teaching
  • talks and workshops
  • community service
  • research projects
  • lab@ubt
  • blog

Software Technology and Applied Programming

Contents

  • Course Description
  • Slides
  • Transfer Paper
    • Possible aspects
    • Applied Data Analysis
    • Example projects
  • R Tutorials
    • Legend
  • References

This is the main course website for the seminar "Software Technology and Applied Programming". This is a living document and new content will be added here. The seminar is start of a series followed by an Introduction to Artficial Intelligence and Intelligent Data Processes.

Course Description¶

The goal of this course is to outfit you with sufficient understanding of technological basics in the digital project world. It covers important principles of software development projects, tools and environments for software development, as well as a deep dive into an applied understanding of programming, versioning, and integration.

To convey both an understanding of the important principles of "algorithmic thinking" and offer a future-proof competency worth investing time into, this course builds on the language "R". It offers great potential for various kinds of data analyses, while also requiring a good understanding of the basics. At the same time, its learning curve is not that steep as with other programming languages so that we have a chance to produce appealing results in a short time. Hopefully, this serves as an entry point into the wonderful world of programming.

Slides¶

Title Slides Material
Introduction
Getting Ready
Software Engineering


Algorithmic Thinking
Escape the maze
Programming Paradigms


R Markdown
Programming with LLMs
From Data Models to Databases
Data Structures
Quality in IT projects
git
Algorithm design principles

Transfer Paper¶

Your transfer paper should consider the following guiding question:

How can data analytics be put to good use in your company/department/project/scenario?

Possible aspects¶

Approaching your particular question might include one or more of the following aspects:

  • What are you aiming to improve?
  • What do you want to introduce - an approach, a technology, a software, a workflow?
  • What are functional and non-functional requirements of it?
  • What is the intended outcome?
  • Who is affected by your change?
  • How is quality and success going to be measured?
  • What are possible challenges and pitfalls?

Applied Data Analysis¶

You are most welcome to illustrate or motivate or evaluate your proposed change by a self-made data analysis. Another way of illustrating your proposed change is to model the scenario with tools like ER modeling, User Stories, or similar techniques for conceptual models.

Analyzing data yourself is not mandatory.

Example projects¶

  • Digitization in Human Resources: Implementation of a Digital Evaluation Tool
  • Data driven sales optimizations: Further development of sales processes
  • Digitization projects to improve quality and efficiency
  • Cross-market data-driven rollout strategies
  • Introduction and migration to a new management software
  • Project management of feature rollouts in e-Commerce

R Tutorials¶

In this section, you will find a list of tutorial videos and slides helping you to prepare the course.

Section Title
Prerequisites Getting Help
Prerequisites Find Help on the Internet
Prerequisites Thinking in Scripts
Basics Getting Started in RStudio
Basics About Variables
Basics About Vectors
Dataframes About Dataframes
Dataframes Modifying dataframes
Working with external data Read in data files
Working with external data Obstacles with data files: Separators
Visualization Draw scatter plots and line plots
Visualization Draw pie charts
Visualization Draw bar charts
Visualization Customize your plots
Programming Deep Dive Execute Code Conditionally
Programming Deep Dive for-loops
Programming Deep Dive Functions
Programming Deep Dive Functions accepting parameters
Advanced visualization Add legends
Advanced visualization Save your figures to files
Advanced visualization Adjust the axes
Advanced visualization Add more details to your plot
Advanced visualization Combine multiple figures on one canvas
Data Wrangling Sorting values and dataframes
Data Wrangling Aggregate data
Data Wrangling Merge tables
Data Wrangling Advanced use of merge: specify columns
Data Wrangling Advanced use of merge: missing data
Data Wrangling Advanced use of merge: multiple columns
Data Wrangling Advanced use of merge: continuous merge

The full list of tutorial videos introducing R is available online. Feel free to peek into topics that interest you. You can also check out the course website of my R tutorial which puts the tutorial videos into better order.

Legend¶

Session was a lecture
Session was a practical
Find slides here
Find code material here
Find external material here
This session has a self assessment quiz attached

References¶

  • Adam Drake. Command-line tools can be 235x faster than your hadoop cluster. 2024. https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html.
  • ISO/IEC JTC 1/SC 7. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Quality-in-use model. Standard, International Organization for Standardization, Geneva, CH, November 2023. https://www.iso.org/obp/ui/en/#iso:std:iso-iec:25019:ed-1:v1:en.
  • LZV.NRW. Interactive panel of common file formats. 2023. https://www.q-terra.de/lzv/.
  • Alex Douglas, Deon Roos, Francesca Mancini, Ana Couto, and David Lusseau. An Introduction to R. online, https://intro2r.com/, 2022. https://intro2r.com/.
  • David Farley. Modern Software Engineering: Doing What Works to Build Better Software Faster. Addison-Wesley Professional, 2021.
  • Kieran Healy. The Plain Person’s Guide to Plain Text Social Science. The Internet, 2019. https://plain-text.co/.
  • Scott Chacon and Ben Straub. Pro Git (Second Edition). Apress, 2014. https://git-scm.com/book/en/v2.
  • Garrett Grolemund. Introduction to R Markdown. R Studio, 2014. https://rmarkdown.rstudio.com/articles_intro.html.
  • Ian Sommerville. Software engineering. ISBN-10, 2011.
  • Richard N Taylor, Nenad Medvidovic, and Eric Dashofy. Software architecture. John Wiley & Sons, Chichester, England, 2008.
  • John Gruber. Markdown. The Internet, 2004. https://daringfireball.net/projects/markdown/basics.
  • Kent Beck, Mike Beedle, Arie Van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, and others. The agile manifesto. 2001. http://agilemanifesto.org/.
  • Kent Beck. Extreme programming explained: embrace change. addison-wesley professional, 1999.

  • « Seminar: Critical Data Studies (Summer 2025)

Published

8. Jul, 2025

Last Updated

Jul 12, 2025

Tags

  • lecturenotes 12
  • teaching 22

Links

  • recordings

Find me here

  • This website contains no ads, cookies, trackers or social media buttons.
  • Powered by Pelican and Elegant.