ETC5513: Collaborative and Reproducible Practices

Assignment 3

Author

Michael Lydeamore

Published

21 May 2024

🎯 Objectives

  • Work on a reproducible presentation
  • Produce a HTML presentation
  • Practice markdown syntax
  • Demonstrate that you have a strong knowledge of git commands and usage
Important

This is an individual assignment.

Part A - Video Presentation

Create a video that is a maximum of 10 minutes using Zoom which demonstrates your knowledge on git, GitHub, and the command line interface.

Join the GitHub classroom for Part A here. Note your repositories will start empty so you are free to add whatever you feel is needed.

Tip

You will need to plan and rehearse the steps in this video to ensure all the steps are smooth, well explained and that all the different screens are captured in the recording.

The video should demonstrate your ability to use these tools efficiently for version control and collaboration. Make sure you explain what you are doing in each step and why.

Please make sure you include all of the steps described below. Your camera must be on and recorded together with the workings.

You only need to use commands we have learned in class.

  1. Create a new RStudio Project. In this folder, create a simple qmd file called example.qmd that can be knitted into a HTML file. Show this by knitting the file.

  2. From the command line interface, initialise this folder as a git repository and push it to the GitHub classroom repository.

  3. Create a new branch called testbranch. Modify the file example.qmd and add the changes to both the local and remote repositories. Add another commit in this branch where you create a folder called data, and add the data from Assignment 1 to that folder.

  4. Amend the previous commit to include the data folder. Push this amended commit to the remote.

  5. Switch back to the main branch and modify example.qmd in a different way such that it will conflict with testbranch. Commit and push these changes.

  6. Merge the changes in testbranch onto main. Show the conflict and fixing the merge conflict. Push the changes to GitHub, showing the status and changes in GitHub.

  7. Tag this commit v1.0 on main using an annotated tag.

  8. Delete branch testbranch locally and on the remote.

  9. Show the commit log in condensed form in the terminal.

  10. On main, create a new section in example.qmd that includes an easy to make plot. Commit the changes, and demonstrate using the command line interface how to undo the commit without losing your local changes.

Tip

To reset your GitHub repository on GitHub classroom, use the following steps from inside the working directory:

rm -rf .git
git init
git commit -m "Initial commit" --allow-empty
git remote add origin <git-url>
git push -u --force origin main

Note that this will completely overwrite your remote git repository, and will delete whatever was previously in it

Part B - Slides

Create a maximum 10 slide summary of your group report from Assignment 2. The slides must be fully reproducible. Join the GitHub classroom for Part B here.

Tip

Don’t include the images from Assignment 2, you will need to re-compute the plots and tables as part of the slides in order to make the slides reproducible.

The slide format should be as follows:

  • Title slide. Include your name and the title of your report at a minimum.
  • Problem introduction.
  • Dataset description
  • Methods
  • Results
  • Conclusions and/or recommendations

It is up to you to decide how many slides to allocate to each section.

You may choose whether to include the R code output in your presentation or not. However, please keep in mind that we are looking for a professional and cohesive presentation, which may mean the code does not get shown.

Make sure to commit frequently, not just at the end of the work!

Marking Rubric

Part A

  • Each of the instructions will be assessed as to whether they are successfully completed or not (1 mark each, total 10 points)
  • Clear commit messages used in the video (1 point)
  • Presentation has good flow and is clear (2 points)
  • Issues with language and grammar: Maximum deduction of 3 points

Part B

  • Messages in commits are clear and informative (1 point)
  • Presentation is reproducible (2 points)
  • Styling is sensible and does not detract from the presentation (2 points)
  • Presentation tells a clear story (2 points)

Maximum grade: 20 points.

The usage of AI

You may use Generative AI (such as ChatGPT) to correct your English or to help with your R code (for example to find bugs or ask for enhancements to your existing code). However, if you use ChatGPT you must declare it by adding a section in your Quarto report called Appendix, and display screenshots of your ChatGPT queries and interactions related to this assignment.

You cannot use ChatGPT to generate content for this assignment from scratch, including code.

Monash University supports the responsible and ethical use of generative AI. For more info please refer to Monash Policy and practise guidance around acceptable and responsible use of AI technologies.

Tip

Remember you can be better than ChatGPT. If you just use ChatGPT to create content for you, where is your value and why are your skills special?

Assignment Submission

Submit the recorded video via Moodle.

Marking for Part B will take place directly on GitHub classroom.

Plagiarism

Monash University is committed to honesty and academic integrity. There are serious consequences for plagiarism and collusion. If plagiarism and/or collusion is detected further actions will be taken according to Monash University policy and procedures. More info here:

https://www.monash.edu/students/admin/policies/academic-integrity

You cannot re-use assignments that have been submitted or used in other units.