Startup Exercise
This exercise is designed to encourage all students in the class to learn the basics of some new technologies which could be useful for the project. You have a lot of freedom to choose tutorials which you feel will most help you.
Directions
- Complete four (4) online tutorials on technologies which may be helpful for this course. See below for suggestions.
- Create one repo (or many, your choice) on CS's GitLab; push the code you write while completing the tutorials to this repo. This will serve as:
- Extra proof of completing the tutorials, if needed later
- Extra practice working with Git
- Submit to CourSys one (1) Zip file in total containing:
- A folder for each tutorial completed, which contains:
readme.txt
/.md
file containing a 1 to 2 sentence description of the tutorial's topic, plus the URL the tutorial (or description of how to find the material),- screenshot(s) of being "done" the tutorial. This could be a screenshot of your development environment containing the code, a screenshot of the application running, ... anything! Its a screenshot showing your success! It does not have to show all the work you did.
- No need to include your full source code from the tutorial; it's in your repo if we need to see it later.
- A folder for each tutorial completed, which contains:
- Marked based on completion (1 point per completed tutorial). If needed, we may ask to for access to view the GitLab repo(s) you pushed your tutorial work to (but this is not expected, so don't give us access until we request because granting access annoyingly sends us an email)
- See notes page for deadline
Suggested Topics
You are free to pick any technical topics which you feel will be of benefit to completing this course's project.
To have your work count as "completing one tutorial" you must do some active work in learning the material. For example, a good choice would be creating an application using the selected technology; a poor choice would be just watching a video of someone create an application, or just reading an article comparing two technologies. To be clear, you can watch a video, just do the steps yourself; or you can read a book about the topic, just try it out yourself as you go. You must engage and practice the material to become a stronger developer.
Students do not need to have their chosen tutorials pre-approved. Suggested topics include:
- Backend Related
- Java or another language (if you don't have experience with the language your team is using)
- Spring boot: getting started, routes, authentication, dependency injection
- Database: Compare SQL vs noSQL; create simple app accessing a database
- Authentication and various ways it can be implemented (SSO, tokens, sessions)
- REST API: design and basic patterns to create RESTful routes
- Frontend Related
- TypeScript, JavaScript
- React official tutorial; redux can also be useful with it.
- Vue
- Angular
- Bootstrap
- DevOps Related
- Docker: official tutorial and compose for multiple containers.
Advice from a previous student:- Continually creating and removing containers fills up disk space very fast and you'll need to run the
prune
commands every so often to free it up. We had to set up a cron job on our VM because this kept crashing it. - If using Windows Home, ensure you are installing the version targeting Windows Home.
- Continually creating and removing containers fills up disk space very fast and you'll need to run the
- GitLab CI/DC: understand runners and jobs
- Docker: official tutorial and compose for multiple containers.
- Android if needed
- Other
- Any technical topic you feel you need to learn more on before jumping further into the project
- Read a book about a needed technical topic; ~4 chapters (with you doing some active experimentation) can count as doing one tutorial.