In addition to theory, our study programs emphasize practical courses that allow students to obtain practical experience. For obtaining the practical experience in the Bachelor program, students need to do a Softwarepraktikum that is the key part of the Bachelor’s thesis. More information on the required procedure for finishing your Bachelor’s studies at the Alpen-Adria-Universität Klagenfurt are available at Completing your programme/Bachelor’s theses. Detailed information about writing a Bachelor’s thesis in the specialization Interactive Systems you find here.
The Softwarepraktikum is a project in industry or in research usually performed by a team of 2-3 students. Each team is guided by a member of the academic staff and supervised by a professor.
Available projects and projects in progress are listed below. Please do also check the web-sites of the research groups and notices from companies at the institute’s information board for more information and available projects.
More available Bachelor’s thesis projects offered in the specialization Interactive Systems are listed here.
Available: Desktop-Tool for BibTeX References (David Ahlström)
BibTeX is a literature management software for the formatting of bibliographies, which is often used by academic authors. The goal of this project is to create a Java-based desktop application that allows authors to quickly copy an save references they find on the Web (typically from the Internet sites of large publishers) to their personal collection of BibTeX-formatted reference liststs.
Available: In-Air Interaction for Desktop Computers (David Ahlström)
Recent advances in software and hardware technology for object tracking make it now possible to detect and accurately track the position of virtually any object that is moved around within the range of the tracking hardware. In this project we will explore how a Leap Motion Controller can be used to track a user’s fingers and hands as they move around on and above the keyboard and back and forth between the keyboard and the mouse while the user is surfing the Web.
The intention is to design suitable finger and hand gestures that can serve as alternative input mechanisms. For example, wiggling up and down with a finger could be mapped to window scrolling and a quick pointing gesture to the left could be used to reload the previous webpage.
In this project you will get familiar with the Leap Motion Controller and its API and then implement a »gesture module« that maps finger and hand tracking information to various interface actions, such as for switching between applications, copy & paste, scrolling, or zooming.
Technologies & Tools: Java • Python • C++ (your pick!)
In the graphic design community and in the usability community there is an on-going discussion about how fast and easy people can read text on computer monitors and smartphone screens. The readability of a text piece is influenced by several factors. Such as the letter size, text and background color, the line length, and the shape of the individual characters making up the text.
The intended outcome of this project is a software package that provides the functionality that is necessary to conduct user studies on readability. This includes functionality to configure different test cases (i.e., combinations of various text attributes such as letter size, text color, and typeface) and functionality to present the different test cases to study participants, as well as functionality to log the time participants need to read the text in the different test cases.
Available: Several Practica by Econob (Prof. Dr. Pinzger)
The econob – Informationsdienstleistungs GmbH offers several practica (Softwarepraktikum) in the area of software evolution analysis and quality assurance in software engineering. Check out the TEWI blog for more information on available practica or contact Martin Pinzger.
In progress: Alive Icons — Interactive App Icons (David Ahlström)
Most app icons on smartphones are static and serve only one purpose: to let the user launch the corresponding app. Some app icons do also provide the user with app-dependent information. For example, an app icon for a calendar app ypically also displays the current date and an app icon for a communication app may show the number of unread messages or missed calls. In this project we will explore ways how we can extend the somewhat limited functionality provided by standard app icons.
In the first part of the project we will design and implement two app icon ‘extentions’. Both allow the user, each in different way, to first select a parameter from the homescreen, and then automatically pass the parameter to the app when the app is launched.
The second part of the project consists of implementing a test framework that provides the functionality which is necessary to test and compare the usability of the app icon ‘extentions’ designed in the first part of the project with a group of people. This mainly includes tracking and logging the touchpoints events that are generated when test participants use the extentions.
In progress: Sensor Based Interactions For Smartwatches (David Ahlström)
Today’s smartwatches are equipped with high-quality sensors, such as a gyroscope and an accelerometer. These sensors could open up new possibilities to extend the user’s input vocabulary beyond the smartwatch’s small touchscreen. This project aims at interpreting the sensor signals that are generated when the user gestures in the air or swipes a finger (on the hand where the watch is worn) across an uneven surface and to map signal patterns to input commands.
So far, a software package has been implemented that enables long-term logging of the smartwatch’s sensor data while the user goes about doing his or her daily activities. The next two steps in this project can either be completed as two separate Bachelor projects by two groups of students or in combination as a Master project for one student.
PROJECT A – Analyzer Module
The analyzer module is a software package that can be used to analyse the logged raw sensor data and to identify regularities and patterns in data. The core of the module will be a Support Vector Machine that can be trained to automatically classify sequences of sensor data into pattern categories.
PROJECT B – Test Module
The test module is a software package that provides the necessary functionality to run a user study where participants wear a smartwatch while swiping a finger across a series of different everyday objects with non-flat (bumpy) surfaces, such as a comb, a bottle, or a computer keyboard. The intention with such a user study is to collect the vibration signals picked up by the sensors in the smartwatch and then compare these signals with signals that are generated when a user goes about doing his or her daily activities (using the analyzer module from Project A).
Technologies & Tools: Java • Android • Support Vector Machine
In progress: Bend-Input For Smartphone Interactions (David Ahlström)
Arduino is a popular open source hardware and software platform that can be used to »digitalize« physical objects or to enhance computing devices, such as smartphones, with additional sensors. In this project we use an Arduino microcontroller and bend sensor to explore ways to create new input possibilities (beyond the standard touch-screen interactions) for smartphones.
Busy people with tight time schedules and full calendars often face problems finding empty »slots« in their schedules for new appointments. Often, persons negotiate about the date and time for an upcoming meeting over email, sending a list of possible dates and times to meet, back and forth.
Remarkably, with electronic calendars, such as the iCal App, it is difficult to quickly become an overview of empty time slots between day X and Y. Moreover, the user cannot generate a list that only contains empty time slots.
Accordingly, the outcome of this project was a utility app for macOS and iOS that reads the stored iCal calendar events and provides powerful filtering functionality to let the user easily view and export information about both upcoming events and empty time slots that are available for new meetings.