Skip to content

Evaluation WS 2024/25 (improvements for SS 2025) #10

Description

@geritwagner

Scheduling (GW):

  • The Git session should also be in week 1
  • The sessions should be on the same day (e.g., Friday 14-18) EXCEPT for the Python sessions, which should be in the same week
  • The best-practice session could be offered in week 6 (instead of week 5)

Organization

  • Move Git (and python) notebooks to just-the-docs page? (advantage: the notebook is easier to find and not closed by Codespace operations) (LT)
  • Add "Einführung in die Informatik" (in addition to EiAPs"), check whether JaP is still mandatory (buttons, syllabus, ...)
  • Slides in first session: per default, each group receives the same grade. If group members do not contribute equally, let uns know (we may be able to help), and as a last resort, group members can receive different grades. (LT)
  • Clarify the scope: not focused on the dev setup. Include checks (git config --global user.name, git config --global user.email, pre-commit run --all, ssh -T git@github.com
  • Reinclude the mandatory merge before the best-practice session (LT)
  • Include the mandatory merge in the deliverabeles (LT)

Git session

  • Update times (LT)
  • Add countdown timer for exercises (LT)
  • Add solutions for learn-git-branching (LT)
  • Drop pingo (replace?) (LT)
  • Add teaching notes on the whiteboard explanation (explain merging into main vs merging into dev; explain git status in committing) (GW)
  • Create more reliable setup for the merge methods in practice-branching. It should work even if the merge/rebase/squash are repeated. (GW)
  • Merge exercise: explanation for the code (GW)
  • Collaborating notebook: optional/take-home exercise (LT)
  • Opening the PDF for branching (merge rebase, squash) is a problem
  • Add a video explanation of git branching in the teaching notes (GW)

Python session

  • Install poetry (uv?) in the Codespaces setup (not in the python notebook) (GW)
  • Clarify that we work on "colrev run" throughout the two sessions (we always refine the same module) (LT)
  • Session 2: give an intro on python classes/... (syntax) / Use a Python-syntax cheatsheet and an instruction on how to search GitHub code as a basis for parts 4 and 5-6. For each task: state explicitly how we expect it to be solved (which information to consult) (GW)
  • Check: how would students discover the get_operation() part (ui_cli/cli.py?) (GW)
  • End of python: include a reminder (slide / link) on what to do for the merge (LT)
  • Use colrev only in session 2 (1 should be on Python basics) - IMPORTANT: Check and update git reset --... commands before!
  • Link materials like youtube-tutorials

Cheatsheets (resources)

  • Include docs sub-pages (cheatsheets) on Python, Python packaging, Git, CoLRev

Feedback from the session

  • Include an overview of CoLRev (user workflow)
  • Explain the methods of SearchSources in the documentation (where should students start?) - extend the SearchSource Interface documentation to clarify what the methods do (GW)
  • Clarify the use of pre-commit hooks / Cover code quality/pre-commit/typing information at the end (GW)
  • Suggest option to open the data directory in a separate Codespaces tab (hover: path on command line)
  • Include an anonymous survey in the middle of the work sessions to assess fair contributions and take measures if necessary
  • Suggest the use of Iterators for API retrieval (give examples)

TBD: how do we deal with pull-requests when the colrev packages are extracted to separate Python packages?

Optional (ideas)

  • Make sure that students have run the colrev package --init and selected the SearchSource option (GW)
  • Check devcontainer setup of CS50 (https://cs50.readthedocs.io/cs50.dev/)
  • Session to explain more about Colrev and help setting up working environment (2 hour slot between Kick-Off session and first Git session)
  • Integrate learngitbranching into notebooks (upworker?)
  • Collect recommended questions for reflection
  • Collect best-practices (questions) for the hacking sessions

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions