We will use this shared github reporsitory for project file and code, so you
- will never lose your code (because of corrupted USB or hard drive), and
- can easily show it to other people (e.g.,as part of your work portfolio for job application).
Please send me your github account username or email, so I can add you to the repository.
You probably want to check out GitHub Student Developer Pack that provides features that you will need to pay otherwise such as GitHub Copilot.
If you never use git before: git
is the software that maintains different versions of your code, and github.com
is a website where you can save these versions.
- concepts and commandline tool (git): https://git-scm.com/book/en/v2 (first 2 chapters)
- github (a website) tutorial: https://docs.github.com/en/get-started/quickstart/hello-world
- GitHub has a GUI client if you don't want to use command line/terminal
- You can also use Git inside the Visual Studio Code (the recommended IDE, more below): video tutorial and text tutorial.
The repository is public, so don't upload any data that can't be shared
- You can create a separate private repository for sensitve data. Follow the 'data management plan' of your ethics application.
Each cohort has its folder: the current one is 2023-224
- We will use the
readme.md
in the folder for the meeting notes.
Inside the folder, please make a subfolder with your name for your project:
- Include in your folder a
readme.md
file to list all the things in your folder (e.g., which subfolder contains what) and other information such as how to run your code. - Use the your folder for your code and everything else such as collected data and design sketches;
- Don't include large files: as everyone else will download them when they do a 'pull' of the repository.
If you never used markdown before, this guide can get you started.
It is similar to HTML, but much simpler. readme.md
is a markdown file with .md
extension.
Visual studio code support this natively, and you can use extension like markdown all in one to easily turn markdown into a pdf.
Todo list/tasks and coding issue
- Each 'issue' is a task to complete (action from the meeting)
- Assign an issue to the person that is responsible
Planning and project management (we will come back to this for Project Plan/Proposal)
- You can create a kanban board in 'project' (similar to Trello)
- create "milestones', e.g., one for each iteration
- add 'issues' to 'milestones', and set deadline
- An overly detailed example: this project template
- You don't need to use GitHub Project, but some form of project planning and progress tracking is essential.
Recommended: Visual Studio Code https://code.visualstudio.com/.
- This is suitable for both front end (JavaScript) and machine learing (Python) development;
- It is probably the most widely used IDE in industry;
- For front end, it is better for JavaScript development than other editors like Brackets (http://brackets.io/), Sublime Text (https://www.sublimetext.com/), or Notepad++ (https://notepad-plus-plus.org/)
- For machine learning, it can run python fine and can open Jupyter notebooks (need to install relevant plugins)
- Get started: https://code.visualstudio.com/docs
Recommended: Use Latex instead of Word for all the reports: proposal, progress report, final report, and viva.
- This will
- make your report look more professional
- make the references easier
- This is a must if you want of publish the project: this is how many academic papers and books are written
- Recommended editor: Overleaf (https://www.overleaf.com/), like Google Docs for Latex.
- Overleaf has a 'visual editor' mode, which makes it similar to how you would write in Word.
- University of Nottingham has paid overleaf subscription: just register with your university email.
- Learn Latex in 30 minutes: https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes;
- The video recording of my overleaf tutorial: https://youtu.be/PqW8myobrPE
- How to add references: https://www.overleaf.com/learn/how-to/Using_bibliographies_on_Overleaf
- It is possible to use Markdonw in Latex, which can be a bit verbose.