\section{Zusammenfassung}

\begin{slide}{Inhalt}

\begin{itemize}\itemsep 2pt
\item Verifizieren, Spezifizieren (Korrektheit, Termination)
  (Vorbedingung, Nachbedingung, Invariante, \glqq Terminante\grqq)
\item
  Testen (Blackbox, Unit, Whitebox) (Überdeckungen)
\item
  Quelltextverwaltung
\item
  Entwurfsmuster, Refactoring, Code Smells
\item
  Klassen (Immutabilität, Vererbung bricht Kapselung)
\item
  Dokumentation (selbsterklärender Code, Schnittstellen-Dok.)
\end{itemize}

\end{slide}

\begin{slide}{Einordnung der Softwaretechnik}

\begin{itemize}
\item
  wissenschaftliche Grundlagen 

  (Mathematik, Logik, Berechenbarkeit, Algorithmik)
\item
  Methoden, Verfahren und Werkzeuge

  (vgl. Entwurfsmuster, Refactoring-Unterstützung in Eclipse)
\item
  \dots und der Mensch? 

  (vgl: de Marco: Software? Peopleware!)
\end{itemize}

\end{slide}

\begin{slide}{Rolle der Hochschulen}

\url{http://www.cs.utexas.edu/users/EWD/transcriptions/EWD13xx/EWD1305.html}

It is not the task of the University to offer what society asks for, 
but to give what society needs.

The programmer should not ask how applicable the techniques of sound programming are, 
he should create a world in which they are applicable; 
it is his only way of delivering a high-quality design.

Machine capacities now give us room galore for making a mess of it. 
% Opportunities unlimited for fouling things up! 
Developing the austere intellectual discipline 
of keeping things sufficiently simple is in this environment a formidable challenge, 
both technically and educationally.

\end{slide}

\newcommand{\CS}{C\#}

\begin{slide}{Verhältnis von Theorie und Praxis}

\glqq Nichts ist praktischer als eine gute Theorie.\grqq

Beispiel: von \CS-2.0 zu \CS-3.0
\url{http://msdn.microsoft.com/vcsharp/future/}:
\begin{itemize}\itemsep 0pt
\item LINQ (Language integrateg query, typsicheres eingebettetes SQL + XQuery)
\item Lambda-Ausdrücke
\end{itemize}

\url{http://en.wikipedia.org/wiki/Typed_lambda_calculus}
\begin{itemize}\itemsep 0pt
\item Lambda-Kalkül (Church, 1936)
\item intuitionistische Logik (Brouwer, 1920)
\item kartesisch abgeschlossene Kategorien (Eilenberg, Mac Lane, 1945)
\end{itemize}

\end{slide}

\begin{slide}{Auswertung der Umfragen zur LV}

\begin{itemize}
\item
  Trennung von VL Objektorientierte Konzepte
\item
  Trennung von VL Softwaretechnik I 
\item
  Zusammenhang mit Softwarepraktikum
\end{itemize}

\end{slide}

\begin{slide}{Zukünftiger Bachelor/Master-Plan}

Bachelor:
\begin{itemize}
\item wie jetzt: 3: ST I, 4: ST II + Software-Praktikum
\item Objektorientierung wird aufgelöst in:
  (Java-)Programmierung (2. Sem),
  Funktionale und Logische Programmierung  und \dots
\end{itemize}

Master:
\begin{itemize}
\item
  neues Pflichtfach: Prinzipien von Programmiersprachen
\item
  (bisheriges Pflichtfach Compilerbau wird Wahlfach)
\end{itemize}

\end{slide}

\begin{slide}{Autotool-Highscore}

\begin{verbatim}
        40 :      37686   Andreas Tharandt
        35 :      40301   Mike Wedemann
        33 :      37607   David Redlich
\end{verbatim}
  
Buchpreise gesponsort von Siemens Leipzig.

Angebote für Praktika, Diplomarbeiten, Stellen:
\url{http://www.imn.htwk-leipzig.de/~waldmann/edu/diplom/}

\end{slide}
