Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik

Theses

  • Theses_Sajjad_Taheri_Classification_of_Diatoms_Using_Convolutional_Neural_Networks

    Bachelor's Thesis
    Classification of Diatoms Using Convolutional Neural Networks
    Advisor
    Sajjad Taheri
    Author
    Bettina Heigl
    Date
    15.04.2018
    Creating dataset for the diatoms (small algae which can be found in all waters), train a model using convolutional neural nets to classify them, and compare the results with the traditional methods.
  • Theses_Sajjad_Taheri_Getting_Depth_Image_of_Small_Parts_Using_Multi-Cameras

    Bachelor's Thesis
    Getting Depth Image of Small Parts Using Multi-Cameras
    Advisor
    Sajjad Taheri
    Author
    Paul Rangger
    Date
    15.10.2018
    Since the small parts and fasteners are scale-variant (which means that with scaling them we'll end up having another small part), classification of them needs a fixed camera to ensure that the distance between the camera lens and the object is always fixed. However, using two or more cameras, we are able to get the depth information of the objects, including their size. In this bachelor thesis, you will work on getting these depth images, using two or more cameras. The true challenge is to consider the small parts characteristics (their small size and their shiny surface) and find solutions to handle them.
  • Theses_Sajjad_Taheri_Sorting_Fasteners_based_on_their_Similarity_using_Siamese_Networks

    Master's Thesis
    Sorting Fasteners based on their Similarity using Siamese Networks
    Advisor
    Sajjad Taheri
    Author
    Haonan Yu
    Date
    15.09.2019
    The scope of this master thesis is to build an (semi)automatic system to train a Siamese net to find the similarity of the fasteners (namely bolts, nuts, screws and washers). Using the output of the Siamese net, the system should group and sort the fasteners in similar groups (in a fine-grained manner. For example it should put all the AS1800 bolts in one group and all the MS2650 bolts in another one). To successfully undertake this thesis, you need to have solid knowledge on machine learning and convolutional neural networks, together with experience in Python programming and working with at least one deep learning framework (Keras, PyTorch, TensorFlow).
  • Theses_Sebastian_Klepper_Agile_Process_Transformation

    Bachelor’s Thesis
    Context-Aware Process Transformation of Anti-Patterns in Agile Software Projects
    Advisor
    Sebastian Klepper
    Author
    Özge Soydemir
    Date
    15.07.2016
     
  • Theses_Sebastian_Klepper_Continuous_Software_Engineering_for_Complex_Problems

    Research Internship
    Continuous Software Engineering in Complex Problem Domains
    Advisor
    Sebastian Klepper
    Author
    Anselm Coogan
    Date
    15.04.2017
     
  • Thesis - Stephan Krusche - Bachelor and Master Theses

    Master / Bachelor
    Step-wise exercises with interactive help tutorials in Artemis
    Advisor
     
    Many exercises include multiple tasks that depend on each other. Then it is impossible, difficult and/or demotivating for students to continue with the 2nd or 3rd task if they were not able to solve the 1st task. It is also misleading if the 1st task is finished and the student gets the feedback that e.g. 8 out of 12 test cases still fail. In this thesis, you will extend Artemis so that student can receive automatic help in form of live tutorials for exercise parts that they don't understand or cannot solve. Based on a template/solution diff, test coverage analysis and the connection between tasks, tests and code, Artemis will be able to automatically propose hints for tasks which can be further refined by instructors and linked to relevant lecture content. (Master thesis only) The thesis should also evaluate if these improvements help and motivate students to achieve a better learning experience. Artemis is open source and available on https://github.com/ls1intum/Artemis

     

    Master / Bachelor
    Further Development of Apollon (https://github.com/ls1intum/Apollon
    Advisor
      Apollon is an online modeling editor written in React. It offers an easy to use and lightweight experience to learn UML and other notations in an interactive environment. It runs as standalone version on https://apollon.ase.in.tum.de offering a collaborative modeling experience without accounts. It is also integrated into Artemis to enable modeling exercises. Students create models, tutors assess those models and provide feedback which students can then see in order to improve their modeling skills. In this thesis, Apollon should be enhanced with new features such as an improved live collaboration, new diagram types, and an improved experience when assessing UML models.

     

    Master / Bachelor
    Further Development of the IntelliJ Plugin Orion (https://github.com/ls1intum/Orion
    Advisor
      Orion already works for students to participate in programming exercises and for instructors to setup programming exercises, but not yet for the code review of programming exercises by tutors. Inline hints, the support for team based exercises and automatic conflict resolution would be other possible enhancements. 

      

    Master / Bachelor
    Development of an Eclipse Plugin for Artemis
    Advisor
      There is already an IntelliJ plugin for Artemis called Orion (https://github.com/ls1intum/Orion), it would also be interesting to develop an Eclipse plugin with the same feature set.

     

    Master / Bachelor
    Further Development of the Gitlab / Jenkins Integration in Artemis
    Advisor
      Programming exercises in Artemis can be realized with Bitbucket and Bamboo or with Gitlab and Jenkins. Currently, the integration with Gitlab and Jenkins is limited and does not offer all functionality. In this thesis, the missing features would be implemented. In addition, the concept of build agents and dockerized builds should be realized within Jenkins.

     

    Master / Bachelor
    Communication and Discussions on Artemis
    Advisor
      Discussions on Artemis are already context sensitive in Artemis, however their functionality is still limited. In this thesis, the features would be enhanced based on new functionility. Users should be able to link Artemis content (e.g. videos scenes, exercise tasks, specific lecture slides) in questions. There should be dedicated channels for tutor groups and internal communication (e.g. between instructors and tutors). In addition, the mechanism to prevent post duplication should be enhanced and the search for posts within a course should be improved.

     

    Master / Bachelor
    Templates for all Programming Languages in Artemis
    Advisor
      With its VCS and CI architecture, Artemis supports any programming language for programming exercises. Currently, it includes templates for many popular languages, however templates for a couple of languages is still missing. In this thesis, new templates for programming exercises will be developed and tested with the Bitbucket/Bamboo and Gitlab/Jenkins. In addition, static code analysis should be integrated into more programming exercise templates.

     

     
    Master / Bachelor
    Learning Paths in Artemis
    Advisor
      In this thesis, the learning analytics should be enhanced in Artemis to provide learning paths for students. It should be possible for instructors to define dependencies (prerequisite, conists of, duplicate) between learning goals. This information should be used to build individual paths based on the existing experiences of students and will provide first steps into adaptive learning.

     

    Master / Bachelor
    Improving the Communication with External Systems in Artemis
    Advisor
      The communication with the external systems (Bamboo, Bitbucket, Jenkins, Gitlab) in Artemis can be further improved. Artemis should store the console log of failed builds in the database and not always fetch it from the CI system. It should be possible to sync all build plans of an exercise in case the template build plan is changed. Tutors should be able to download the student repository including the tests to simplify the local setup. The build queue and the history of all build times of an exercise should be used to indicate students and instructors how long they need to wait for the next build.