Automated Visual Software Analytics (openHPI)

Automated Visual Software Analytics (openHPI)

In this course, we explore how the effectiveness of software development projects can be pro-actively improved by applying concepts, techniques, and tools from software diagnosis. The term "software diagnosis" refers to recently innovated techniques from automated software analysis and software visual analytics that aim at giving insights into information about complex software system implementations, the correlated software development processes, and the system evolution.
As precondition, our interested learners for this course shall have general knowledge about software development processes and procedures and have experience in IT-systems development or software maintenance.

To this end, all common, traditionally separated infomation sources of software development get automatically extracted, related, and combined. The ultimate goals of these techniques are to provide not only software engineers but also all other stakeholders better instruments to monitor, to comprehend, to discuss, and to steer software development activities. In particular we will investigate how "software maps" as cartography-oriented, general-purpose, powerful visual analytics instruments can be used to improve software development effectiveness and transparency.
This course is especially interesting for - IT-project managers - Software developers, software testers and software engineers - Software architects and modelers - Parties responsible for financing the IT-development in a company
Basic Modules:

  1. Complex software and software "engineering": a dilemma
  2. Facets of software complexity
  3. Key principles and methods of automated software analysis
  4. Key principles and methods of software visualization
  5. Concepts of software diagnosis
  6. Diagnosis of statics information
  7. Diagnosis of dynamics information
  8. Diagnosis of evolution-related information
  9. Information mining for complex software systems
  10. Information mapping for complex software systems
  11. Software maps - getting insights into hierarchy information
  12. Application scenario: discovering developer involvement
  13. Application scenario: discovering "code that smells"
  14. Application scenario: monitoring system redesign processes
  15. Application scenario: discovering implementation hierarchy modifications
  16. Hierarchical bundle views - getting insights into relations
  17. Application scenario: system refactoring and decoupling subsystems
  18. Trace views - getting insights into software system dynamics
  19. Application scenario: comparing feature execution of two software versions
  20. Knowing instead of Believing: How software diagnosis improves effectiveness
  21. Literature and further readings

Advanced Modules:

  1. Software maps and layout algorithms
  2. Software maps based on Voronoi maps
  3. Efficient rendering of large software maps
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Nov 2nd 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Nov 9th 2026
5-12 Weeks
Big Data Analytics (openHPI) OpenHPI
Hasso-Plattner-Institut

Big Data Analytics (openHPI)

In diesem kostenlosen offenen Online-Kurs führen wir Sie in das aktuelle und viel diskutierte Thema Big Data Analytics ein. Der sechswöchige Kurs wird Ihnen verständlich machen, warum Daten der Schatz des 21. Jahrhunderts sind und wie man diesen heben kann. Ob Finanzdienstleister, produzierende Unternehmen, Internet-Dienstleister oder Forschungszentren: In Wirtschaft und Wissenschaft wächst das Interesse, in dem gewaltig anschwellenden Meer an erhobenen und anfallenden Daten diejenigen herauszufischen, die es auf interessante Zusammenhänge hin zu analysieren sowie vernünftig zu strukturieren und zu verknüpfen gilt. So können schneller bessere Erkenntnisse gewonnen, Entscheidungen getroffen und Prognosen erstellt werden. Das Meer an Daten führt dann zu einem Mehr an Wissen!

Self Paced
Self-Paced
Working with Integrated Development Environments (Coursera) Coursera
University of Leeds

Working with Integrated Development Environments (Coursera)

Integrated Development Environments (IDEs) are vital in increasing developer productivity and learning to work with them will help you create impressive software projects whether you're a beginner or have some programming experience. This course provides the essential skills and knowledge to excel in software development using Integrated Development Environments (IDEs). You'll cover IDE fundamentals, including environment setup, interface navigation, and valuable features like debugging.

Nov 16th 2026
2 Weeks
Marketing Strategy for Entrepreneurs (Coursera) Coursera
EIT Digital

Marketing Strategy for Entrepreneurs (Coursera)

You live a hands-on-life, and you intend continuing doing so! That is why I guess you already have checked where the QR-code (the logo) for this course lead to, right? And it is in such kind of setting you prefer hands-on-learning. Things you can do, already today, is something you value. You actually did not start this course when enrolling it. You started it long ago, Either as a customer somewhere, or just maybe thinking about marketing for some time. Or maybe you are already working on marketing, of you yourself or maybe your own company. Or as employed somewhere of course. In all these situations what matter is action. Action that contribute to your marketing-journey.

Nov 2nd 2026
5-12 Weeks
Continuous Delivery & DevOps (Coursera) Coursera
University of Virginia

Continuous Delivery & DevOps (Coursera)

Amazon famously delivers new code every 11.6 seconds. Just a few years ago, this was unthinkable: many ‘cutting edge’ firms would release software quarterly. When it comes to digital innovation, velocity is critical and many would say it’s the most reliable determinant of success. Bringing an organization to the state of the art (or even functional capability) in this area requires strong work in a combination of disciplines and a combination of both technical and managerial skills. There is no single cookie-cutter approach for achieving this capability.

Nov 2nd 2026
4 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
4 Weeks
Quantitative Model Checking (Coursera) Coursera
EIT Digital

Quantitative Model Checking (Coursera)

The integration of ICT (information and communications technology) in different applications is rapidly increasing in e.g. Embedded and Cyber physical systems, Communication protocols and Transportation systems. Hence, their reliability and dependability increasingly depends on software. Defects can be fatal and extremely costly (with regards to mass-production of products and safety-critical systems).

Nov 2nd 2026
5-12 Weeks
Continuous Integration (Coursera) Coursera
University of California, Davis

Continuous Integration (Coursera)

In today's world, software development is highly complex and often has large teams of developers working on small pieces of a larger software project. This course will go over the basic principles of using a continuous integration system effectively to constantly improve software. We're going to describe the different stations of continuous test, build, integration and deploy processes required for DevOps practices and apply best practices for quality software management, and tooling to accomplish iterative software build & test processes.

Nov 16th 2026
4 Weeks
Database Management Essentials (Coursera) Coursera
University of Colorado System

Database Management Essentials (Coursera)

Database Management Essentials provides the foundation you need for a career in database development, data warehousing, or business intelligence, as well as for the entire Data Warehousing for Business Intelligence specialization. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy.

Nov 2nd 2026
5-12 Weeks
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Nov 9th 2026
5-12 Weeks