Process Conformance Checking using Python (BSc)
Process Conformance Checking using Python
Language: The language of the course is English; therefore, all meetings and the written reports will be in English.
Process Mining is a growing branch of Data Science that focuses on analysing event data recorded in Information Systems, focusing on the process perspective.
Investments in Process Mining from public and private companies are steadily increasing, and are expected to more than double in the next five years.
Hence a good knowledge of Process Mining is an important skill for Data Scientists.
Conformance Checking is a part of Process Mining and consists of techniques to compare a process model with the real behaviour recorded in an Information Systems to find commonalities and discrepancies. These may signal the need of better control of the process, or that the model needs to be improved to capture reality better. Common implementations of Conformance Checking on Information Systems are event listeners that trigger some kind of alert when deviations occur, or post-mortem analysis to detect fraudulent behaviour, for example violations of the Four Eyes Principle.
This Software Lab course includes tutorials describing some Conformance checking techniques and important basis for software projects.
The course will use Python as the core language for implementation. It is expected that the students will follow the Software engineering principles during the course term.
Important skills will be briefly taught in 4 mandatory sessions. Additional group-specific meetings are offered. You will be required to attend at least 2 of them. During the kick-off meeting, topics will be assigned to the students, and groups will be formed. Furthermore, the deadlines and further conditions will be discussed.
Groups will be formed to work on the assignments
Student work structure
Students will be required to understand and implement the assignment requirements and provide proper visualizations. A proper SDLC lifecycle has to be followed during this phase to track the development. The details of the methodology will be communicated in the introductory session.
The students should produce a written report on the implementation, its advantages and issues individually.
The grading will take into account the written report and the implementation. Even though it is a group project, students are graded individually.
- Software Engineering knowledge(Design, development and testing)
- Prior programming experience. Not necessarily Java or Python.
- Interest to learn Python
- Coursera "Process Mining: Data Science in Action" course
- BPI Course
- Online process mining courses offered by Celonis
- PM4Py: installation tutorial
- PM4Py: documentation
- Python Tutorial The Python Foundation
- Interactive Tutorial covering the basics of Python
- Introduction to Git
- Introduction to Sprint Planning / SCRUM
- Introduction to Unit Testing
- (Advanced) Python design patterns
- (Advanced) Deploying Flask application on Dockers
- Celonis PQL: a Query Language for Process Mining
The registration is carried out by the central registration process using SuPra.
In order to increase your chance for being elected for this lab, please state your qualifications, experiences, and overall grades in your enrolled study as detailed as possible. Please give clearly the reason why you are definitely a suitable candidate for this lab.
All further information will be given using the Moodle platform, into which you will be added after the allocation.