-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkursuebersicht.tex
129 lines (111 loc) · 3.31 KB
/
kursuebersicht.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
\documentclass[a4paper,10pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
%opening
\title{Einführung in die Programmiersprache Ruby (zwei Tage, jeweils 7-8 Stunden)}
\author{Thomas Preymesser\\Sven Suska}
\begin{document}
\maketitle
\begin{abstract}
In einer zweitägigen Einführung werden die grundlegenden Aspekte der objektorientierten Programmiersprache Ruby gezeigt.
Dieser Kurs richtet sich an interessierte Einsteiger in die Sprache Ruby, aber auch an Personen, die schon mit Ruby on Rails gearbeitet haben und einen tiefergehenden Einblick in die dahinter stehende Sprache Ruby erhalten m"ochten.
Grundlegende Programmierkenntnisse in einer beliebigen anderen Sprache sind vorteilhaft.
Wir bieten von diesem Kurs auch eine konzentrierte Version an, die im Rahmen eines ca. dreistündigen ''Schnupperkurses'' in die Ruby-Programmierung abgehalten werden kann.
\end{abstract}
\section*{Tag 1}
\subsection*{Block 1}
\begin{itemize}
\item Ruby Sprachelemente
\begin{itemize}
\item Zahlen, Strings
\item Variablen
\item Methoden
\item irb
\end{itemize}
\item Ruby Objektorientierung
\begin{itemize}
\item Klassen
\item Klassenvariablen, -methoden
\item Reflection: methods, instance\_methods
\end{itemize}
\item Iteratoren, Bl"ocke, Kontrollstrukturen
\begin{itemize}
\item Bl"ocke
\item Syntax der Kontrollstrukturen, if, case, while
\item Variablen-G"ultigkeit, Closures
\item Iteratoren
\item catch / try / Exceptions
\end{itemize}
\end{itemize}
\subsection*{Block 2}
\begin{itemize}
\item Ruby-Standard-Objektmodell
\begin{itemize}
\item Vererbung, Superklasse
\item Modules, Module-Mixin
\end{itemize}
\item Ruby-Spezialit"aten im Objektmodell
\begin{itemize}
\item Eigenklasse
\item obj $\ll$ Eigenklasse $<$ Klasse
\item Exceptions definieren
\end{itemize}
\item Meta-Programmierung
\begin{itemize}
\item method\_missing()
\item const\_missing()
\item define\_method()
\end{itemize}
\end{itemize}
\subsection*{Block 3}
\begin{itemize}
\item Threads, Fiber
\item Proc\#binding
\item ObjectSpace
\end{itemize}
\section*{Tag 2}
\subsection*{Block 1}
\begin{itemize}
\item Bibliotheken, Testunterst"utzung
\begin{itemize}
\item RubyGems (Kommandozeile, Versions-Bedingungen, Quellen im Netz)
\item Test::Unit (inkl. Metaprogramming-Aspekte)
\item RSpec
\end{itemize}
\item Logging
\item Debugger
\item Facets
\end{itemize}
\subsection*{Block 2}
\begin{itemize}
\item Anwendung in Rails und anderen Bibliotheken
\item Rails
\begin{itemize}
\item Scaffolding
\item Anwendung von Metaprogrammierung in ActiveRecord
\item Zusammenspiel von Controller und Views
\item Fragen zu Ruby-Aspekten von Rails
\end{itemize}
\item Datamapper/Merb
\item Desktop-GUI-Programmierung
\begin{itemize}
\item Tk, Wx, reactive
\item Fx
\end{itemize}
\end{itemize}
\subsection*{Block 3}
\begin{itemize}
\item Ruby-Implementierungen
\begin{itemize}
\item Unterschiede Ruby 1.8 -- Ruby 1.9 (Hash-Syntax, fileutils, viele Gems noch nicht 1.9 kompatibel)
\item JRuby
\item andere Implementierungen (Rubinius)
\end{itemize}
\item Referenzen
\begin{itemize}
\item IDEs
\item B"ucher
\item Webseiten, Blogs
\end{itemize}
\end{itemize}
\end{document}