An open API service indexing awesome lists of open source software.

https://github.com/garllon/ruby-mentorship

This is the Guideline for Ruby Mentorship Sessions
https://github.com/garllon/ruby-mentorship

mentorship practise ruby

Last synced: 10 months ago
JSON representation

This is the Guideline for Ruby Mentorship Sessions

Awesome Lists containing this project

README

          

# Ruby - Mentorship

## General

### English

This is a guide for doing a mentorship. It is based on ruby, currently [2.7](https://rubyapi.org/2.7)
The lessons will build on top of each other.

Before you start with lesson 1 now, have a look at this video.
[How to make a sandwich](https://www.youtube.com/watch?v=U3TsVz_pJf4&t=136s&ab_channel=DigitalDixie).
You get a funny introduction about how a computer works and that the computer will only (literally) do what you tell it to do. :)

#### Resources

* The lessons are loosely based on http://ruby-for-beginners.rubymonstas.org
* You can look up methods and their documentation on https://rubyapi.org/2.7
* We are using the following website for the start: https://replit.com/languages/ruby

#### Advanced Setup

##### Editor

We recommend to use the [Atom](https://atom.io) editor as it allows for collaboration and runs on all major platforms.

You can find instructions to set it up here: [Editor](/setup/editor.md#english).

##### Docker

Docker allows you to execute Ruby code independently from your operating system, so that every participant gets to use the same commands.

- [MacOS, Windows](/setup/docker.md#for-macos-and-windows-user)
- [Linux](/setup/docker.md#for-linux-user)

### German

Dies ist ein Guide(Anleitung) zum Durchführen eines Anfängerkurses. Er basiert aktuell auf der Rubyversion [2.7](https://rubyapi.org/2.7).
Die verschiedenen Stunden bauen aufeinander auf.

Bevor du mit der ersten Stunde anfängst, schaue dir doch einmal dieses Video an.
[How to make a sandwich](https://www.youtube.com/watch?v=U3TsVz_pJf4&t=136s&ab_channel=DigitalDixie).
Du bekommst eine lustige Einführung wie ein Computer funktioniert und ein Computer nur (wortwörtlich) tut was du ihm sagst. :)

#### Ressourcen

* Die Lessons basieren lose auf http://ruby-for-beginners.rubymonstas.org
* Du kannst dir die Methoden und ihre Dokumentation unter https://rubyapi.org/2.7 anschauen
* Wir benutzen die folgende Webseite für den Anfang: https://replit.com/languages/ruby

#### Erweitertes Setup

##### Editor

Es wird der [Atom](https://atom.io) Editor empfohlen, da er es erlaubt Dateien gemeinsam zu bearbeiten und auf allen gängigen Plattformen verfügbar ist.

Eine Anleitung zum einrichten ist hier zu finden: [Editor](/setup/editor.md#german)

##### Docker

Docker erlaubt es euch Ruby Code unabhängig von euerem Betriebssystem auszuführen, damit alle Teilnehmer die gleichen Befehle benutzten können.

- [MacOS, Windows](/setup/docker.md#f%C3%BCr-macos-und-windows-benutzer )
- [Linux](/setup/docker.md#for-linux-user-1)

## Lesson 1 - Variables / Variablen

We are explaining what variables are and how to use them:

[English Version](/lessons/1-variables.md#english)

Wir schauen uns an was Variablen sind und wie man diese benutzt:

[Deutsche Version](/lessons/1-variables.md#german)

Example: [Ruby - Variables](/lessons/examples/1_variables.rb)

## Lesson 2 - Methods / Methoden

We continue looking into data types and start with methods.

[English Version](/lessons/2-methods.md#english)

Wir schauen uns weitere Datentypen an und fangen mit Methoden an.

[Deutsche Version](/lessons/2-methods.md#german)

## Lesson 3 - Blocks and Loops / Blöcke und Schleifen / ⬛ & ➰

We learn how to iterate as well as what blocks are

[English Version](/lessons/3-blocks-and-loops.md#english)

Wir lernen wie man ein Array durchläuft und was Blöcke sind

[Deutsche Version](/lessons/3-blocks-and-loops.md#german)

## Lesson 4 - Practice / Übung

We learn about hashes and practice what has been covered so far.

[English Version](/lessons/4-practise.md#english)

Wir lernen Hashes kennen und üben das bisher gelernte.

[Deutsche Version](/lessons/4-practise.md#german)

## Lesson 5 - Write and use files / Schreiben und Benutzen von Dateien

We learn how to write and use files.

[English Version](lessons/5-write-and-use-files.md#english)

Wir lernen das Schreiben und Benutzen von Dateien.

[Deutsche Version](lessons/5-write-and-use-files.md#deutsch)

## Lesson 6 - Another round of practice / Eine weitere Runde üben

We recap and practice what we learned a bit more.

[English Version](lessons/6-practice.md#english)

Üben, üben, üben.

[Deutsche Version](lessons/6-practice.md#deutsch)

## Lesson 7 - Revisiting Strings and Hashes / Wiedersehen mit Strings und Hashes

We learn about String interpolation and symbols.

[English Version](lessons/7-revisiting-strings-and-hashes.md#english)

Wir lernen etwas über String Interpolation und Symbols.

[Deutsche Version](lessons/7-revisiting-strings-and-hashes.md#deutsch)

## Lesson 8 - Organizing Code in Files / Code in mehreren Dateien

We learn how to use code from different files together.

[English Version](lessons/8-organizing-code-in-files.md#english)

Wir lernen wie man Code aus verschiedenen Dateien zusammen benutzt.

[Deutsche Version](lessons/8-organizing-code-in-files.md#deutsch)

## Lesson 9 - Object orientation / Objektorientierung

We learn what classes and objects are and how to use them.

[English Version](lessons/9-object-orientation.md#english)

Wir lernen was Klassen und Objekte sind und wie man sie benutzt.

[Deutsche Version](lessons/9-object-orientation.md#deutsch)

## Lesson 10 - Version control / Versionskontrolle

We learn what version control is, what it is good for and some basic use cases.

[English Version](lessons/10-version-control.md#english)

Wir lernen was es mit Versionskontrolle auf sich hat und grundlegende
Anwendungsfälle.

[Deutsche Verison](lessons/10-version-control.md#deutsch)