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 thesis. More information on the procedure for performing a Bachelor’s dissertation at the Alpen-Adria-Universität Klagenfurt are available at Completing your programme/Bachelor’s dissertations.
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 project in progress are listed below. Please do also check the web-sites of the research groups for more information.
Available: Elastic Input Devices (David Ahlström)
Arduino is a popular open source hardware and software platform that can be used to »digitalize« physical objects. In this project we will use an Arduino microcontroller and stretch sensors to explore ways to create elastic objects that can be used as computer input devices.
In the first project phase you will get familiar with the Arduino Software (IDE) and its basic hardware (sensors and controller boards). The work in the second project phase will focus on reading data from a stretch sensor and on preparing this data for further use on an Android smartphone and/or smartwatch.
Available: 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 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: macOS and iOS Utility App – iCAL Export (David Ahlström)
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.
The outcome of this project is 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.
Accordingly, in this project you get the chance to learn and practice GUI (Graphical User Interface) programming using Apple’s development tools. You also have the possibility to contribute with an app in the App Store!
In Progress: 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!)