DE-RSE / learn-and-teach

RSE-related training resources
Creative Commons Zero v1.0 Universal
2 stars 4 forks source link

Material #2

Closed CaptainSifff closed 7 months ago

CaptainSifff commented 11 months ago

I found something that might be useful: https://aisel.aisnet.org/wi2022/sustainable_it/sustainable_it/2/

CaptainSifff commented 11 months ago

More MAterial: https://zenodo.org/records/8324828

CaptainSifff commented 11 months ago

another list: https://github.com/practical-tutorials/project-based-learning

MakisH commented 11 months ago

Yet another list, which took over the nice name first: https://github.com/hifis-net/awesome-rse-education, linked from https://github.com/hifis-net/awesome-rse

I am wondering if it makes sense to start yet another standard

MakisH commented 10 months ago

It would be great help to start if everyone could give one resource about each pillar:

Please describe why a resource is good and which skills one could learn from there (roughly), relating to the competencies in the paper.

Let's get a first batch till February 2.

MakisH commented 10 months ago

Let me start with an example.

Software Engineering skills: Research Software Engineering with Python

This is an ebook that one can read from front to back, covering the shell and CLI tools, Git basics, Makefiles, Configuration files, as well as a bit of Teamwork, Testing, Error-Handling, and Packaging. The level is mostly basic (also for people that have barely any previous experience with programming), but covers a wide range of essential skills.

Skill codes from the paper:

Notes: This has not much to do with Python and Python is not required.

Research skills: Nature Masterclasses

This is a video series discussing topics from academic writing and analyzing data, planning and performing experiments and data collections, managing data, leading, or planning a career in research. Available through university libraries.

Skill codes:

Notes: I have not yet used this resource, but the table of contents sounds like something I wish I had discovered early in my PhD, when I had more time to read and watch such material. I still hope to follow some of these courses eventually.

Communication skills: Julia Evans - Help! I have a manager!

This is a (paid) zine, discussing how to communicate with your manager (here: postdoc/professor). How to set clear expectations, ask and process feedback, and how to keep conversations constructive.

Skill codes from the paper:

Notes:

Other zines in this series cover a plethora of technical/software engineering skills, such as Bash, Git, Debugging, and more, giving a good overview and showcasing some more advanced tools.

Further impulses

CaptainSifff commented 10 months ago

Let's start one by one: Software Engineering skills: Solid Principles The solid principles are covered in multiple resources from the clean code community. What to me sounded the most applicable things were the SOLID principles, where the C++ community has some nice videos As one principle that I find universally applicable from the set of SOLID principles(all of them are to varying degree) is the Single Responsibility Principle, to which this video invest almost half his time of his keynote talk. Tony has also coined the nice moniker for it, the "KYSS" principle: Keep Your Stuff Separate.

Skill codes from the paper:

Covered: DOCBB, LIBS, SRU, TEAM, MOD, USERS Not covered at all: NEW, RC, DOMREP, TEACH, PM, SP

CaptainSifff commented 10 months ago

Research Skills:

Good Scientific practice:

DFG Codex SWC Code of Conduct

Covered: RC, SRU, TEAM, TEACH, SP, USERS

samumantha commented 10 months ago

CodeRefinery

Project currently funded by Nordic e- infrastructure collaboration. RSE network/community and workshops with public and mainly self-learning ready materials. General workshop and materials topics (programming language agnostic; but introduces some specific tools in hands-on materials): Intro to and collaborative git, reproducible research, social coding, documentation, jupyter, automated testing and modular code development. Also provides materials on community teaching and instructor training, as well as some other related materials, eg on CMake or data visualization with Python. All lessons

covered : DOCBB, SWREPOS, SRU, SP, ..? with instructor training also: TEAM, TEACH, ..?

samumantha commented 10 months ago

Better Scientific Software

Materials all around writing better scientific software and beyond: https://bssw.io/items

covered: DOCBB, LIBS (?), SWLC (?) , SWREPOS, MOD (?), SRU, SP , TEACH, PM

samumantha commented 10 months ago

Another porject, similar to CodeRefinery and Bssw: INTERSECT

In addition to their own materials they also provide a list of other RSE learning materials

samumantha commented 10 months ago

Not sure how this fits in here, but it is linked to SRU and SP : Self assessment tool for FAIR research software: https://fairsoftwarechecklist.net/v0.2/

samumantha commented 10 months ago

Specific to Python but with lots of good general hints too: https://www.pyopensci.org/python-package-guide/index.html Linking to SP

jpthiele commented 10 months ago

Sadly somewhat in between SE and R but the Good enough practices for scientific computing are a nice ressource.

guadabsb15 commented 10 months ago

Mostly SE skills but also some Research skills

This O'REILLY book: Effective Computation in Physics is a great resource that in my opinion can be very useful for other fields as well. One of the authors, Kathryn Huff, has contributed and been involved with the carpentries, JOSS ...etc. The topics range from terminal, classes and objects to deploying software, testing, debugging, and copy right.

skills from paper: DOCBB, LIBS, SWLC, SWREPOS, MOD, SRU, SP, DOMREP

CaptainSifff commented 10 months ago

Oh well, thinking hard about something that I could put under the communication skills, I remembered the 4 hour work week I feel this ties in somewhat with PM skills?

The other resource relevant for the TEACHING skill could of course be the SWC Instructor training

samumantha commented 9 months ago

TEACHING, related to above mentioned Carpentries instructor training: CodeRefinery instructor training and built on both there is the ENCCS - best practices for HPC training

CaptainSifff commented 9 months ago

I have a strong feeling, that it wouldn't hurt if we mention this: https://www.computer.org/education/bodies-of-knowledge/software-engineering

MakisH commented 9 months ago

There is now a contributing guide on how to add new resources on the website: https://github.com/DE-RSE/survey_rse_training/blob/main/CONTRIBUTING.md

I transferred some of the material in the new structure via #11. @CaptainSifff @jpthiele since I did not see any ready-to-copy descriptions and skills for the (very nice) resources you posted, and since I assume you would like to try out the system, I leave transferring your contributions as an exercise to you. :sweat_smile: I have reacted to everything I have already transferred as :eyes:.

Let's try to already transfer everything we have collected here and close this issue. Next contributions can happen directly via PRs (very easy) or individual issues.

MakisH commented 9 months ago

If we want to link to lists of resources as well, I would make a separate tag for that (maybe a different audience option meta). Maybe we could also rename the audience to intent.

MakisH commented 7 months ago

Some of the material originally suggested here (by @CaptainSifff and @jpthiele) are still not on the website, but please open separate PRs for that. I am closing this for now, please always open one issue/PR for each resource / group of resources.