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

Software Technology and Applied Programming

Contents

  • Course Description
  • Transfer Paper
    • Scientific Literature
    • Scope of your work
    • Possible aspects
    • Example projects
  • R Tutorials
    • Legend
  • References

This is the main course website for the seminar "Software Technology and Applied Programming". 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.

Transfer Paper¶

As a digital leader, you aim to improve processes or practices in your organization. So, the core of this assignment is the transfer of scientific knowledge or practice into your business environment.

This seminar series provides you a space to identify, develop, and refine the aspect you want to improve. This Transfer Paper (TP) is the first document to develop a narrative around your improvement. You are welcome to build on this idea throughout the following seminars, especially "Digital Processes" and "Artificial Intelligence".

The objective of this TP is to develop your own creative and innovative question.

Scientific Literature¶

A crucial aspect of demonstrating transfer of scientific knowledge is a proper literature review of current state of the art of your context. The literature needs to be scientific literature. It is accetable to use blogposts or newspaper articles as motivation to your work, but the core of your question needs to be backed by properly published and publicly accessible research. To be clear, this does not mean open access accessibility for every paper in your reference section. But your reference section must not be based on a selection of websites or company-internal material alone that no one else can access.

Summarizing, integral features of a very good transfer paper are

  • a description of a relevant problem
  • a motivation why this problem needs to be addressed
  • a concrete research question
  • a literature section
  • ...that cites scientific literature
  • ...that reflects the state of the art in that context
  • ...that fits the substance of the text
  • an interdisciplinary coverage of the topic (potentially)
  • a conceptual description of how you plan to answer the question
  • proper and consistent formatting of citations and list of references

Scope of your work¶

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

Analyzing data or programming anything yourself is, of course, not mandatory. You can also do a proper review of scientific literature deriving recommendations for improvement.

In any case, your work needs to

  • contain an appropriate selection of illustrations/analyses/discussions
  • be backed by scientific literature
  • use a neutral language -- you're not writing marketing material
  • be critical regarding the chosen services/techniques/programs
  • reflect your own work critically discussing if your research/evaluation allows for a substantial conclusion

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?

Note that not all of these aspects need to be covered in all possible topics. Depending on your focus and question, you may only need to cover some or none of these aspects.

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.

  • « Lecture "Bits, Bytes, and Beyond: Foundations of Computer Science" (Winter 2026/27)

Published

19. Oct, 2026

Last Updated

Oct 17, 2026

Tags

  • lecturenotes 12
  • teaching 23

Links

  • recordings

Find me here

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