Skip to content

Commit

Permalink
Added various fixes and missing content sections
Browse files Browse the repository at this point in the history
  • Loading branch information
TilBlechschmidt authored Jan 30, 2018
2 parents dece7f2 + cedc1b4 commit b8636e8
Show file tree
Hide file tree
Showing 12 changed files with 156 additions and 19 deletions.
Binary file added src/Abbildungen/Reflexivitaet_Graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Abbildungen/Symmetrie_Graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Abbildungen/Transitivitaet_Graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/DiskreteMathematik/BoolescheAlgebra.tex
Original file line number Diff line number Diff line change
Expand Up @@ -253,4 +253,4 @@
\begin{equation}
(A \rightarrow B) \cdot (B \rightarrow C) \models (A \rightarrow C)
\end{equation}
\end{document}
\end{document}
57 changes: 50 additions & 7 deletions src/DiskreteMathematik/FormaleGrundlagen.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
\subsection{Naive Mengenlehre}
In der naiven Mengenlehre ist eine Menge durch die Elemente, die sie umschließt, definiert.
Eine einfache Menge kann mit $A = \{a, b, c\}$ beschrieben werden. Dabei ist $A$ der Name der Menge und $a, b, c$ sind die Urelemente der Menge. Dabei sind die Elemente atomar, also nicht weiter zerlegbar und divers bzw. wohlverschieden. Es gilt also $\{a, a, b, c\} = \{a, b, c\}$.
\\

Eine Methode zur Beschreibung einer Menge $B$, welche alle durch zwei teilbaren natürlichen Zahlen enthält, ist:

\begin{equation}
Expand Down Expand Up @@ -143,15 +143,15 @@
\end{equation}

\paragraph{Linkseindeutig oder Injektiv}
Eine Relation ist genau dann linkseindeutig, wenn jedem Element aus $B$ höchstens ein Element aus $A$ zugeordnet wird.
Eine Relation ist genau dann linkseindeutig, wenn jedem Element aus $B$ höchstens ein Element aus $A$ zugeordnet wird.
\begin{equation}
\forall b \in B\; \forall a,c \in A\colon \left(a, b\right) \in R \wedge \left(c, b\right) \in R \rightarrow a = c
\forall b \in B\; \forall a, c \in A\colon \left(a, b\right) \in R \wedge \left(c, b\right) \in R \rightarrow a = c
\end{equation}

\paragraph{Rechtseindeutig}
Eine Relation ist genau dann rechtseindeutig, wenn jedem Element aus $A$ höchstens ein Element aus $B$.
\begin{equation}
\forall a \in A\; \forall b,d \in B\colon \left(a, b\right) \in R \wedge \left(a, d\right) \in R \rightarrow b = d
\forall a \in A\; \forall b, d \in B\colon \left(a, b\right) \in R \wedge \left(a, d\right) \in R \rightarrow b = d
\end{equation}

\paragraph{Bitotal}
Expand All @@ -173,6 +173,49 @@
\forall a \in A\; \exists! b \in B\colon \left(a, b\right) \in R
\end{equation}

\paragraph{Transitivität}
Auf einer Menge $M$ ist eine zweistellige Relation $R \subseteq M \times M$ transitiv, wenn für beliebige Elemente $x, y, z \in M$ aus $xRy$ und $yRz$ stets $xRz$ folgt. Der Graph einer transitiven Funktion ist in Abbildung \ref{figure:Mathematik:FormaleGrundlagen:Transitivitaet_Graph} dargestellt.

Ein Beispiel für eine transitive Relation ist die Kleiner-Relation auf den Reellen Zahlen:

\begin{equation}
\forall x, y, z \in \mathbb{R}\colon x < y \land y < z \rightarrow x < z
\end{equation}

\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{Abbildungen/Transitivitaet_Graph.png}
\caption{Eine transitive Relation als Graph dargestellt.}
\label{figure:Mathematik:FormaleGrundlagen:Transitivitaet_Graph}
\end{figure}

\paragraph{Reflexivität}
Eine zweistellige Relation $R$ auf einer Menge $M$ ist genau dann reflexiv, wenn $\forall x\colon xRx$ gilt. Wenn kein Element diese Anforderung erfüllt, dass wird die Relation irreflexiv genannt. Der Graph einer reflexiven Funktion ist in Abbildung \ref{figure:Mathematik:FormaleGrundlagen:Reflexivitaet_Graph} dargestellt.

Eine reflexive Relation ist zum Beispiel die Kleiner-Gleich-Relation auf den Reellen Zahlen.

\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{Abbildungen/Reflexivitaet_Graph.png}
\caption{Eine reflexive Relation als Graph dargestellt.}
\label{figure:Mathematik:FormaleGrundlagen:Reflexivitaet_Graph}
\end{figure}

\paragraph{Symmetrie}
Eine zweistellige Relation $R$ auf einer Menge $M$ ist genau dann symmetrisch, wenn für alle $x, y \in M$ aus $xRy$ stets $yRx$ folgt. Der Graph einer symmetrischen Funktion ist in Abbildung \ref{figure:Mathematik:FormaleGrundlagen:Symmetrie_Graph} dargestellt.

Gibt es kein Paar $x, y \in M$ bei dem aus $xRy$ $yRx$ folgt, so nennt man die Relation asymmetrisch.

Gibt es nur Paare $x, y \in M$, für die entweder aus $xRy$ nicht $yRx$ folgt oder $x = y$, so nennt man die Relation antisymmetrisch.


\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{Abbildungen/Symmetrie_Graph.png}
\caption{Eine symmetrische Relation als Graph dargestellt.}
\label{figure:Mathematik:FormaleGrundlagen:Symmetrie_Graph}
\end{figure}

\subsubsection{Inversion oder Umkehrung}
Wenn man eine Relation $r\colon A \rightarrow B$ hat, dann ist die Inversion $r^{-1}\colon B \rightarrow A$. Eine Funktion ist als Relation immer umkehrbar, als Funktion ist sie dagegen genau dann umkehrbar, wenn ihre Umkehrrelation auch wieder eine Funktion ist, also wenn es eine Umkehrfunktion von ihr gibt.

Expand Down Expand Up @@ -271,6 +314,8 @@

Die Funktion $\delta^*\colon S \times \Sigma^*$ kann ganze Wörter verarbeiten.



\paragraph{Startzustand}
Ein Element $S_0 \in S$ wird als Startzustand festgelegt.

Expand Down Expand Up @@ -301,6 +346,4 @@

\paragraph{Typ 3}
Typ 3 Sprachen sind reguläre Sprachen mit einer regulären Grammatik und sind eine Teilmenge der Typ 2 Sprachen.


\end{document}
\end{document}
41 changes: 40 additions & 1 deletion src/Informatik/EinfuehrungProgrammierung.tex
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,43 @@

\paragraph{Quellprogramm}
Quellprogramm\footnote{Auch: Sourcecode} ist ein Programm in einer Hochsprache.
\end{document}

\section{Auswertungsregeln}
\paragraph{Syntax}
Die Syntax einer Programmiersprache legt zulässige Elemente und Struktur fest.

\paragraph{Semantik}
Die Semantik einer Programmiersprache legt die Bedeutung von syntaktisch korrekten Ausdrücken fest. Die Semantik funktionaler Programmiersprachen orientiert sich an der Semantik der Mathematik.

\paragraph{Ersetzungen}
Um die Bedeutung eines Ausdrucks zu bestimmen, werden nacheinander semantisch äquivalente Umformungen mit dem \hyperref[section:Programmierung:Auswertungsregeln:ErsetzungsmodellFunktionsanwendungen]{\emph{Ersetzungsmodell für Funktionsanwendungen}} durchgeführt. Die Reihenfolge der Auswertung von Teilausdrücken in funktionalen Sprachen hat dabei keine Auswirkung auf das Endergebnis.

Beim Ersetzen von Variablen mit Konstanten wird dieser Prozess als Auswertung bezeichnet. Die Reihenfolge der Auswertungen spielt dabei in funktionalen Programmiersprachen keine Rolle.

\paragraph{Ersetzungsmodell für Funktionsanwendungen}
\label{section:Programmierung:Auswertungsregeln:ErsetzungsmodellFunktionsanwendungen}
Eine Funktion wird ausgewertet, in dem jeder formale Parameter im Funktionsrumpf durch das korrespondierende ausgewertete Argument ersetzt wird.

\paragraph{Self Evaluating Expressions}
\emph{Self Evaluating Expressions} sind Ausdrücke, die zu sich selbst ausgewertet werden. Die Auswertung eines Ausdrucks ist beendet, wenn eine solche Expressions erreicht wurde. Beispiele sind Zahlen sowie die Wahrheitswerte $\#t$ und $\#f$.

\paragraph{Funktionsaufruf}
Bei strikter Auswertung werden erst alle Argumente eines Funktionsaufrufs berechnet. Dieses Verfahren kommt bei Racket zum Einsatz. Diesem Verfahren steht die lazy Auswertung gegenüber, welche zum Beispiel in Haskel verwendet wird, bei dem auch die Argumente erst berechnet werden, wenn sie benötigt werden.

\section{Aufschreibregeln für Funktionen}
\paragraph{Regel 1}
Verwende aussagekräftige Namen für Funktionen und deren Parameter.

\paragraph{Regel 2}
Beschreibe den Zweck der Funktion in einem Satz mithilfe eines Kommentars in der Zeile vor der Funktionsdefinition. Der Satz sollte das Resultat der Funktion in Abhängigkeit von den Parametern beschreiben.

\paragraph{Regel 3}
Füge unter der Funktion Tests hinzu, die die Richtigkeit der Funktion auch in Zukunft sicherstellen. Dazu müssen Test für alle Randbereiche vorhanden sein.

\paragraph{Regel 4}
Definiere für jeden Zusammenhang zwischen Größen, die sich aus der Problemstellung ergeben, eine Funktion.

\paragraph{Regel 5}
Ersetze jede Konstante, deren Bedeutung sich nicht aus dem Kontext ergibt, durch einen sprechenden Variablennamen.

\end{document}
63 changes: 59 additions & 4 deletions src/Informatik/InformatikGesellschaft.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,63 @@
\end{quote}
\clearpage

\section{Content}
TODO: Content
\section{Programmierung und Software Engineering}
Für den Unterschied zwischen Programmierung und Software Engineering spielt die Geschichte der Programmierung eine entscheidende Role.

Bisher war der gesamte Inhalt nur Grundlagen, die im Kursübergreifenden Teil gefunden werden können.
\end{document}
\subsection{Geschichte der Programmierung}

\paragraph{40er und 50er Jahren}
In den 40er und 50er Jahren war die Hardware teuer und hatte keine Betriebssysteme, sodass Computer nur von Experten für den Eigengebrauch programmiert wurden. Die so erstellten Programme hatten meistens nur genau eine Aufgabe und wurden danach nicht weiter verwendet.

\paragraph{Ab den 60er Jahren}
In den 60er Jahren gab es eine Wende da Hardware bezahlbar wurde, sodass auch normale Anwender Programme brauchten. Software hat sich unüberschaubar ausgeweitet und die Lebensdauer von Software war nun länger als von der Hardware.

\subsection{Die Softwarekrise}
Aufgrund des abrupten Wandels von Software, die nur von den Entwicklern bedient wurde, zu Software, die für jeden war, und die damit verbundenen Probleme ist es zu der sogenannten Software Krise gekommen. Die NATO SE-Konferenz prägte diesen Begriff 1968 mit folgenden Eigenschaften

\begin{itemize}
\item Software erfüllt nicht die Wünsche der Kunden.
\item Software ist nicht zuverlässig.
\item Softwareentwicklung und -wartung ist zu Zeit und Kostenintensive.
\item Die Kosten für Software übersteigt die Kosten für Hardware.
\item Nur 34\% der Softwareprojekte wurden erfolgreich abgeschlossen.
\end{itemize}

\subsubsection{Ursachen}
\begin{itemize}
\item Software ist ein immaterielles Gut und hat damit keinen Materialwert.
\item Software ist schwer verständlich, sodass es zu Kommunikationsproblemen zwischen Auftraggeber und Entwickler kommt.
\item Software ist nur in den Wirkungen beim Ablauf auf Computern beobachtbar.
\item Software verschleißt nicht, sodass nur Erweiterungen angebaut werden. Dennoch kann Software altern, wie es beim Millenium Bug sichtbar geworden ist.
\item Software Fehler sind schwer zu erkennen.
\item Software ist scheinbar leicht zu verändern.
\item Kleinste Änderungen in einer Software können massive Änderungen im Verhalten der Software zur Folge haben.
\item Nachweiß des wunschgemäßen Verhaltens ist schwierig.
\end{itemize}

\subsection{Schlussfolgerung}
Aufgrund der Softwarekrise soll die Erstellung von Software nicht mehr eine kreative Kunst bleiben sondern eine Ingenieurwissenschaft mit wohldefinierten Vorgehensweisen werden. Deshalb wurde der Begriff des Software Engineering geprägt.

\subsection{Software Engineering}
Unter Software Engineering versteht man

\begin{itemize}
\item die Entwicklung,
\item die Pflege und
\item den Einsatz
\end{itemize}
von \emph{qualitativ hochwertiger} Software unter Einsatz von

\begin{itemize}
\item wissenschaftlichen Methoden,
\item wirtschaftlichen Prinzipien,
\item geplanten Vorgehensmodellen,
\item Werkzeugen und
\item quantifizierbaren Zielen.
\end{itemize}

\subsection{Usability Engineering}
Eine Erweiterung des Software Engineering ist das Usability Engineering. Mit dem Aufkommen des \emph{Apple Lisa} in den 80ern merkte man, dass interaktive, technische System nicht unabhängig von der Arbeitswelt betrachtet werden können, sondern die Aufgaben und das Umfeld entscheidend für die Gestaltung des Systems ist. Seit den 90er Jahren ist es deshalb ein strategisches Ziel aller Unternehmen eine intuitive Benutzerschnittstelle zu haben.

Verschärft wird der Druck durch das Konzept von \emph{Software as a service} (SaaS), da die Konkurrenz nur ein Klick entfernt ist und ein Produkt auf den ersten Blick überzeugen muss.
\end{document}
2 changes: 1 addition & 1 deletion src/Informatik/TechnischeGrundlagen.tex
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,4 @@
\paragraph{Vektorgrafiken}
Vektorgrafiken speichern das Bild mithilfe von primitiven Objekten wie Linien und Kurven. Die eigentlichen Bildinformationen, die auf gerasterten Bildschirmen angezeigt werden können, werden erst berechnet, wenn die Auflößung bekannt ist. Auf diese Weise kann verlustfrei an Bilder gezoomt werden. Vektorgrafiken eignet sich damit sehr für am Computer erstellte Bilder.

\end{document}
\end{document}
4 changes: 2 additions & 2 deletions src/Seminare/RhetorikI.tex
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
\\
Nun steht man auf um die Präsentation zu beginnen. Hier kommt es häufig vor, dass unterbewusst die Hände zur Hilfe genommen werden, was im besten Fall vermieden werden sollte. Sobald man aufgerichtet ist entsteht der natürliche Reflex die Kleidung zurecht zu rücken. Dies wirkt unprofessionell und in den allermeisten Fällen sitzt diese bereits angemessen.

\subsubsection{erster Blickkontakt}
\subsubsection{Erster Blickkontakt}
Der unterbewusste, erste Eindruck ist geschaffen und das Publikum bildet sich eine bewusste, zweite Meinung über den Präsentierenden. An dieser Stelle kommt Blickkontakt ins Spiel. Nicht sofort Richtung Bühne los sprinten sondern einen Moment verweilen. Ruhe und Gelassenheit ausstrahlen und diese wertvollen Momente benutzen um einen Blick in die Runde zu wagen. Einen schnellen Blick über die Zuhörerschaft schweifen lassen, kurzzeitig mit den Augen auf bestimmten Personen verweilen und dann die Reise zur Präsentationsfläche antreten.

\paragraph{Aufgang} Der Weg zur Bühne sollte auf keinen Fall dafür verwendet werden den Boden genauer zu inspizieren sondern stattdessen dazu verwendet werden einen langsamen Blick in die Runde zu werfen und sich Sympathie-Inseln zu suchen (dazu mehr in Abschnitt \ref{section:Seminar:RhetorikI:SympathieInsel}), während man idealerweise und sofern möglich in einem Halbkreis auf die Bühne schreitet.
Expand Down Expand Up @@ -129,5 +129,5 @@
\section*{Danksagung}
Zum Abschluss möchten die Autoren einen großen Dank an Jan Friedrichs und sein Team von Adventure Learning ausrichten, die sehr viel Zeit und Ehrgeiz investieren um den Studenten der Nordakademie die Kunst der Rhetorik nahezulegen.
% TODO Thank Jan and the whole crew from Adventure Learning for the weekend and recommend it to the reader.

\end{document}
2 changes: 1 addition & 1 deletion src/Seminare/WissenschaftlichesArbeiten.tex
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@
\item Beobachtungen
\end{itemize}

\end{document}
\end{document}
2 changes: 1 addition & 1 deletion src/Sprachen/Englisch.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@

\section{Content}
No content yet...
\end{document}
\end{document}
2 changes: 1 addition & 1 deletion src/Wirtschaft/ABWL.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@

\section{Content}
No content yet...
\end{document}
\end{document}

0 comments on commit b8636e8

Please sign in to comment.