accertatevi che tutto quello che vi serve (git, jest,...) sia disponibile sul computer che intendete usare durante l'esame. A volte sui computer del laboratorio ci possono essere problemi ad es di spazio su disco etc, accertatevi che i problemi vengano fuori prima dell'esame e non durante.
Potete usare il vostro computer MA dovete sapere usare git da command line.
Simulazione 11 dicembre 2018:
Evaluation is different for who attends lessons regularly and takes part to the class project, and those who don’t. Attending classes takes time, and the class project also takes time, so the exam is different if you choose to be in the project.
Written/oral: A part of the exam will consisting of questions and exercises. Questions will be written in most cases but we reserve the right to do an oral exam as well if we have doubts on the answers given or if we have questions on the contributions to the class project. Exercises may involve writing API, implementing, deploying on heroku, testing, and all the good stuff we tried out in class
Project: During the semester you will work in a small group on a project. Multiple groups will work on the same project, so that there is an aspect of coordination within and among groups.
During the project, EACH student will
- Design APIs,
- Write code and tests
- Review other students' code and API
- Deploy code and API through test and production environments, so that it is made publicly available
- Make the work visible by working and committing on the appropriate branches, so that we can examine the progress and the contribution of each on GitHub. If it’s not visible to us on GitHub, for us you have not done it and you will not get credit for it.
Because we collaborate with others, the code and API should be ready at the specified time, which means that you have to keep a constant pace - which is what modern software development methods recommend.
Written/oral: 22 points
Project: 10 points
Students who do NOT attend classes (studenti non frequentanti), or that attend but do not take part to the project, or that drop out of the project for *whatever* reason will take the written/oral exam only, but they will have additional practical exercises to solve and have to study additional material.
Additional study material, comparable in effort to attending classes and working on the project, is available here
L'esame in generale puo' riguardare tutto quanto visto durante il corso.
Per la parte di teoria trovate varie domande di esempio nelle pagine dei vari topics.
Per la parte invece di "pratica", ci possono essere varie modalita'.
Alcuni esempi:
E1:
Create un servizio che riceve consegne di esami dagli studenti (e, in generale, a "workers" di consegnare "assignments". il servizio consente ad un worker di mandare il proprio assignment (esame), caratterizzato da
taskID - a string
assignmentID - a string
workerID - a string
assignmentResult - an object
gli utenti possono anche modificare un assignment consegnato, guardare assignments, e cancellare assignments (ovvero ritirarsi).
non implementiamo metodi di controllo degli accessi: per semplificare assumiamo che tutti possano fare tutto.
vi chiediamo di:
RIcordiamo di non modificare nulla dopo la consegna.
NON e' necessario memorizzare le info in un database.
Per i casi di test, basta mettere casi di test che testano un casi valido di get, di post, e di delete
In generale, se non riuscite a fare tutto (e' tanto, se partite da zero), concentratevi sul fare poche funzionalita' fatte bene (ad es, un paio di metodi di API descritti bene, una o due funzioni implementate come si deve, una serie di casi di test per un metodo o due pensati bene con equivalence partitioning e boundary value analysis, magari anche con coverage se avete il tempo)