Programming Projects

Framework conditions

In programming projects, students can work alone or in small groups to develop language technology software, earning up to a maximum of 6 ECTS credits (for 180 hours). The projects can, but do not have to, be carried out as part of current research projects at the department.

Topics The department maintains a list of open projects. However, the students are also invited to propose their own projects, which may also be interdisciplinary in connection with the main subject.

Time Normally projects are taken on over the summer so that majority of the work can take place in during the lecture-free period. Programming projects must be completed within six months.

Workload Between 60 to 100 working hours should be invested in the development of the project. This does not include any necessary training period that may be required in the applied programming language or environment used.

Submission The commentated program code is to be submitted in machine-readable and printed form. A short technical report (max. 10 pages) should document the work carried out. The project and a summary of the results are to be presented in a short oral presentation for an audience. The checklist below contains the most important points, which should be included in the final submission.

Supervision Regular meetings will take place to discuss progress and problems.

Copyright The University of Zurich owns the copyright and rights of use for the developed code.

Contact

Simon Clematide and Manfred Klenner are the contact points for students interested and will be happy to answer questions relating to programming projects.

Checklist: Submitting a Programming Project

1. Program files

  • All program texts and necessary auxiliary files in a main directory
  • No umlauts (characters with ANSI code > 127) in the file name
  • No file name longer than 31 characters (MacOS restriction)
  • In the main directory, a README.TXT file that provides information about:
    • all files and their function
    • Platform (operating system, programming environment with version information) on which the program is executable
    • Components (e.g., Gertwol, Tagger) used in the project not part of the submission listed with version specifications.
    • Instructions on how to call the main function(s) that make up the program(s).

2. Technical documentation

Documentation is to be submitted in paper form (printed and spiral-bound) as well as electronically. Files should either be in HTML, RTF or PDF format. The documentations should contain the following information:

  • Project objectives and steps of procedure with information about the achievement
  • List of positive and negative results (e.g. This works well because, ... / That did not work, because ...)
  • Documentation of the concepts, algorithms and resources used (This is best done while working on the project! Do not leave this to the end!)
  • Flow charts can often be used to clearly summarize a system
  • Sources for algorithms, classifications and lists (e.g. Where did the algorithm come from? Where does this classification come from? What was a certain list taken from?)
  • Documentation of the various data formats (input and output formats for files)
  • Annotated bibliography/link list (or summaries if this was part of the assignment)
  • Notes on extensions/expansion options
  • Commentated program code (if too big, only in the electronic version)