Velkommen til IT1901 Informatikk prosjektarbeid 1
Welcome to IT1901 Informatics, Project 1
Høst 2024 / Fall 2024
Om IT1901 Informatikk prosjektarbeid 1
Smidig utvikling - Utviklingsmetoden Scrum
Oppsummering
“Software defines, drives, and enables innovation in the systems we use in essentially all areas of modern human activity, including science, engineering, business, government, entertainment, education, energy, defense, health and medicine. As reliance on software grows, society makes exponentially greater demands on the diversity and quality of the software being produced”
Call for position papers, Workshop on the Future of Software Engineering Research, International Symposium on the Foundations of Software Engineering, 2010
Smidig og moderne praksis og konstruksjon
praksis i smidige prosjekter
verktøy for smidig utvikling
mer om objektorientert design
enkle, moderne arkitekturer
desktop
mobil
web
improve practical software development skills and prepare a solid base of current best practices
working with various architectures
source code management
issue tracking
using build tools
automatic testing
continuous integration
documentation
code quality
In the course we will use several tools:
Git for source code management
GitLab for collaboration: repository sharing, issue tracking, issue boards, code review …
Eclipse Che - automatically spin a workspace that is accessible via a browser to work, collaborate, evaluate …
VSCode - recommended IDE to use as it is the same as the gitpod environment
sdkman - recommended tool to manage JDK and Maven
there is one individual development assignment (mandatory to pass to get a grade)
there are 3 group deliverables
one individual report
students will work in groups of 4
fill in the form announced on Blackboard to be assigned to a group
go through the available materials
work on individual assignments
until you are assigned to a group you must
set up your development environment
checkout, build and run the todo list example
The first task for the group is to select the domain.
week 34 - start on individual assignment, intro
week 35 - establish groups and start group work, git++
week 36 - deliver individual assignment
week 38 - Deliverable 1 (10% / group) (basic modular JavaFX application)
week 41 - Deliverable 2 (10% / group) (improved modular application)
week 46 - Deliverable 3 (50% / group) (final technical)
week 47 - Deliverable 4 (30% / individual) Reflection report
the deliverables are due on Thursdays at midnight in the week indicated
if you are late you need to inform the TA
the point of the tasks is to get you produce high quality code
focus is placed on the repository. it is not just the end result that is evaluated but the journey as well
deliverables 1-3 will be basically snapshots of the repository at given times
we will strive to provide quick feedback based on the repo activity
Each group will have to document:
what tools are used and for what purpose (document)
snipets of code generated need to reference properly the source (use comments)
snipets of code copied from stackoverflow or similar need to reference properly the source (use comments)
choose an app / service that you know well and select a couple of features to implement during the semester
point is to learn by implementing these using the required architectures
we are not looking for quantity but for quality, so just few core features will suffice
the chosen app needs to be suitable for a cloud based service
there must therefore be some dynamic data per user managed by the server.
eg. a (currency) calculation will NOT fit such a project.
one good starting point are the cases from the HCI course (MMI)
Trenger 3-5 medlemmer til referansegruppe i faget
Mulighet til å påvirke kurset og forbedre kurset for de som skal ta det senere år
3 møter; uke 5, uke 9 og etter kursslutt
Ca. en time per møte
Meld deg i pausen om du er interessert!
If until next week there are no volunteers we will randomly select 5 students
Ta opp faglige spørsmål og spørsmål om gruppene med studentassistent eller undervisningsassistent for gruppen
Spørsmål om organisering av faget og forslag til forbedringer tas opp med medlemmer i referansegruppen
Minimumskrav til avtale:
Tilstedeværelse
Tidsbruk
Forventninger til den enkeltes bidrag
Hva som skjer ved avvik eller uenigheter
Gruppekontrakt skal godkjennes av studentassistent, signeres av alle gruppemedlemmer - og leveres på Blackboard
The form link is on Blackboard
deadline for answering is on September 1st, 23:59
in the group form you are expressing preferences
course staff will make any changes necessary to get the best group composition possible
fill in the form for group formation
brush up and revisit Java and JavaFX (useful links on BlackBoard)
prepare ideas for the project - so you are ready when the groups are done
prepare your development environment - git, sdkman, vscode, maven etc
log in to https://gitlab.stud.idi.ntnu.no/
ask access to https://gitlab.stud.idi.ntnu.no/it1901/students-2024/sandbox and create a test repo
start with the individual mandatory assignment as soon as it is available (probably tomorrow, latest on Monday morning)
follow BlackBoard for updates