Assignments and Working Environment

A note on team learning log assignments with GitHub

Within this course, you will work in teams and hence you will submit your team’s solutions for the course assignments to your team’s GitHub-hosted learning log, i.e. your team’s personal classroom repository. Don’t get confused about “your team’s personal repository”. Once you have a GitHub account, you can create as many (team) repositories as you like at your account and invite any team members you want but for assignments within our courses, always use your respective team classroom repository.

The classroom repository will be created automatically by following a link to the respective classroom assignment which will be provided by the instructors. Your team’s classroom repository will be hosted as part of GeoMOER, our learning log space at GitHub for Marburg Open Educational Resources.

If not stated otherwise, the deadline for an assignment is the date and time of the next course session. The submissions generally encompass R or R markdown with compiled html files or presentations in PDF format.

To start with, get yourself a GitHub account if you have not one already and create your team’s learning log using the link provided by the course lecturers. Be aware that once the team learning log repository is created, you will stick to this and your team until the end of the course.

Aside from submitting assignments, you should use your team repository for everything related to this course which is a potential subject to version control, team collaboration and issue tracking.

A note on team assignments in education

Please remember that also this course uses team assignments, it is very important that each team member knows what and how to do it. Hence, our very strong suggestion is the following: First, try to solve each task at hand individually. Second, meet as a team and share your individual solutions. Help each other, leaf no one behind, discuss problems, pros and cons and build the final team-based solution which will be the one which is submitted and/or forms the basis for the next task in your problem solving workflow. In doing so you will get the maximum from this course because learning and training your skills is most effective in problem-based and peer-to-peer scenarios.

Another important aspect is reliably and punctually. Each team mate depends on all others. Keep your team work smooth by assigning at least these two roles to your team members:

  • Team manager: this person is responsible for the overall team work, project management, discussion management, disciplinary measures (e.g. paying the pizza service bill).
  • Time manager: this person is responsible for managing group appointments (something like a jour fixe would be a perfect option) and keeping the time line of the project and deadlines in mind in order to inform the team manager if something is delayed.
  • Record manager: this person is responsible for keeping notes and the coordination of creating reports or presentations.
  • Cross-check manager: this person is responsible for cross-checking the final products, scripts, solutions prior to submission.

Over time you should switch roles between your team mates.

Please do not take any shortcuts here, just do it right and take as much from this course as you can.

Mandatory working environment

We value freedom of choice as an important good but giving our long-term experience freedom of choice comes to an end when we talk about the mandatory working environment for this course. The reason for this is simple: you work with team-based assignments and a piece of code written on the laptop of person A should run basically without any or very minor changes (i.e. a change of the top level directory path where all your scripts, data, results etc. are stored) on the computer of person B. The situation gets more nasty if you should test some code of a peer which is not part of your team or if the instructors would like to run your script on their own system. Hence, let’s save everybody’s time and focus on the things which are really important. Once the course is finished, feel free to use any working environment structure you like.

Your initial working environment should look like the following. It will grow over time based on additional information supplied within the individual assignments.

└── mpg-envinsys-plygrnd
    ├── data
    │   ├── aerial
    │   │   └── org
    │   ├── auxdata
    │   ├── data_mof
    │   ├── grass
    │   ├── lidar
    │   │   ├── level0
    │   │   ├── level1
    │   │   ├── level2
    │   │   └── org
    │   └── tmp
    ├── doc
    ├── log
    ├── name_of_github_team_repository
    │   ├── doc
    │   └── src
    ├── run
    └── src

The last folder will be the one you have checkout from your GitHub-hosted team learning log.

This is no guideline, this is a rule. Read it, learn it, live it and have a nice ride.

Have a look at the example on setting up a working environment.

Updated: