The lab internship is meant to demonstrate the ability to work on your own with methods of computer science in the scope of a small project. In practical computer science, it is often done in the form of an extension of a larger software system, for example in the context of research done at the institute.
Training Period and Definition of the Setting of the Task
The actual internship work usually starts with a training period, in which the following must be done:
- Familiarizing with the literature in the chosen topic
- Familiarizing with the system environment, in which the implementation takes place
- Narrowing down the subject
Result of this phase should be a short description that precisely defines the exact setting of the task and specific goals. Ideally, this description should already include a comparitive presentation of possible solutions considering the literature, a short description of the chosen solution, and a roughly planned working schedule.
The description will be discussed with the supervisors and presented in the form of a concept presentation (length: about 15 minutes) at the end of the training period. The presented concept is treated as a "contract", on which both sides can insist. The work starts at the latest, when both sides agreed hereon. This procedure is supposed to avoid problems in understanding when defining the task and serious false estimations in expenditure of work and with this overdrawn working periods.
Working on the Task
The work will be done according to the working schedule. This means that first of all the chosen solution will be worked out in detail. Then, the system will be implemented. After that, the evaluating analysis and documentation follows. The programmer documentation for the implemented system should be very detailed and include a concept description.
The final presentation takes place at the end of the internship. In contrast to the concept presentation, the emphasis should lay on gained results. The presentation can take 30 minutes and should include the following items:
- Short introduction to the problem
- Presentation of the solution concept and implementation decisions (no program code, but important design decisions)
- Presentation of the results and a demonstration of the implemented system, if possible
During and after the presentation, questions about the topic will be asked.