Lehrstuhl für Angewandte Softwaretechnik
Chair for Applied Software Engineering

Bachelor's Theses

________________________________________________________________________________________

 

Bachelor's or Master's Theses

Master / Bachelor
Step-wise exercises with interactive help tutorials in Artemis
Advisor
 
Many exercises include multiple parts that depend on each other. Then it is impossible, difficult and/or demotivating for students to continue with the 2nd or 3rd part if they were not able to solve the 1st part. It is also misleading if the 1st part 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 instructors can easily add multiple parts for exercises. In addition, Artemis should allow student to receive automatic help in form of live tutorials for exercise parts that they don't understand or cannot solve. While they cannot obtain the full points any more, they can work on the other parts as well and learn the system and the theory behind the concept through interactive live tutorials (comparable to an on-boarding in a mobile app). 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 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
Improving the Notification System in Artemis
Advisor
  Develop useful email notifications to motivate the students to participate in the exercises.

 

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
Improving Questions and Answers in Artemis
Advisor
  Questions and Answers are already context sensitive in Artemis, however their functionality is limited. In this thesis, the features would be enhanced based on the functionality present in StackOverflow. Editing questions and answers with Markdown, allowing students to vote for questions and answers, preventing duplicated questions, allowing tutors to check off answered questions and an overview of all not yet answered questions in the course would be potential features developed in this thesis.

 

Master / Bachelor
Swift Programming Exercises in Artemis
Advisor
  With its VCS and CI architecture, Artemis supports any programming language in programming exercises. Currently, it includes templates for Java, Python and C programming exercises. In this thesis, a new template for Swift programming exercises will be developed and tested with the Bitbucket/Bamboo and Gitlab/Jenkins.

 

Master / Bachelor
Static Code Analysis of Programming Exercises in Artemis
Advisor
  Checkstyle, Findbugs and other static code analysis tools can detect common mistakes during programming. An integration into the programming exercise workflow in Artemis would reduce the effort of manual correction by tutors and increase the learning outcome with respect to code quality for the students.

 

Master / Bachelor
Manual Correction of Programming Exercises in the Code Editor in Artemis
Advisor
  Tutors can already manually correct programming exercises in Artemis, however the user experience is limited, because they cannot annotate the code as e.g. in Github's pull requests. In this thesis, the manual correction of programming exercises in Artemis should be improved, so that tutors can review the code directly, annotate lines and students can view the mistakes directly in the code.

 

Master / Bachelor
Gamification with Leaderboards and Achievements in Artemis
Advisor
  In this thesis, gamification features such as leaderboard, badged, achievements, etc. should be implemented in Artemis to further motivate students to participate in the exercises.

 

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.

________________________________________________________________________________________

 

Master's Theses

________________________________________________________________________________________

 

Guided Research