Ptt16 Assignment1

An implementation of the 101system

Summary

Make a "contribution" to 101companies by designing and implementing and documenting an "original" implementation of the 101system.

Details

  • Study the feature model of the 101system (http://101companies.org/wiki/Namespace:Feature). Eventually, you will need to identify a few features that you want to address. Don't overdo it. A popular set of basic features is: Hierachical_company, Total, Cut, Serialzation. However, you are welcome to do more interesting features such as these: Persistence, Mapping, and GUI-related features.
  • Look at a few contributions, e.g., those mentioned on the slides of the 101companies lecture. You can easily find things on the 101wiki by its search function. You can navigate from the wiki to the repo by the corresponding "101repo" tab on the wiki page for each contribution. This also helps you identifying some technology or design options that are as yet unexplored.
  • Document your contribution.
  • Upload your implementation with its documentation.

Logistics

  • Submit your code via gitlab or github. If you use github, please leave a "link" to the github repo in the gitlab repo by means of a README.[md|txt] or index.html file. You are encouraged to use a public github repo because, in this manner, we could actually incorporate your solution into 101repo, if you agree. However, if you feel safer to use the uni's more closed gitlab deployment, this is totally fine with the PTT16 team.
  • Make sure to document your contribution according to the section structure assumed for contributions (http://101companies.org/wiki/Namespace:Contribution). If possible, use Markdown syntax and the file README.md. In principle, you could also use 101wiki's syntax, but then you would need to submit your contribution a bit earlier so that we can grant you editing rights.
  • Make sure to document a simple procedure for building and testing your contribution. If we have to fight too hard, then this may count "against you", up to the point that your contribution will not be accepted. Please be kind with the course assistants and make good use of their time.
  • Don't clone (including minor changes) an existing contribution. You can reuse code from 101companies and from elsewhere overall, but you *must* give credit, if you use someone else's code. Plagiarism is not acceptable. Please take this very seriously.

Bonus

This assignment is eligible for collecting a bonus for the exam, as explained on the course page.

A solution for this assignment qualifies for the bonus, if:

  1. all team members leave traces of their work on gitlab/github;
  2. the team applies for bonus by email to softlang with "[course:ptt16-assignment1] application for bonus" as the subject line (without the quotes) while explaining (in the body of the email) how to find traces according to item 1, if this is not obvious in terms of the commits;
  3. the README.md file which comes with the contribution should have:
    1. a "Characteristics" section, which convinces the PTT16 team that something original and useful has been accomplished;
    2. a "Usage" section, which can be used by the PTT16 team to easily run the contribution.