Programmierwerkzeuge-01-Programmieren

TeX document icon Programmierwerkzeuge-01-Programmieren.tex — TeX document, 9 KB (9622 bytes)

File contents

\documentclass[12pt, twoside]{scrartcl}
%Anfang OERMacros.tex
% Zum Erstellen mit pdfLaTeX wird diese Datei und der CC BY Button by.png im selben Verzeichnis benötigt. 
% by.png ist unter https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by.png zu finden. 

% Für den Lizenzhinweis zur Nutzung dieser OER kann das Macro \OERLizenzHinweis verendet werden. 

\usepackage[utf8]{inputenc}
\def\Autor {Reinhard Brocks}
\def\HomeAutor {https://www.htwsaar.de/ingwi/fakultaet/personen/profile/Reinhard\%20Brocks}
\def\OERLizenzHinweis 
{
	\includegraphics{by} % by.png ist unter https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by.png zu finden. 
	\begin{minipage}[b]{11cm}\footnotesize
		\href{\HomeAutor/oer/pwz/programmierwerkzeuge-01-programmieren/at_download/file}{Programmierwerkzeuge - \mysubtitle} 
		von 
		\href{\HomeAutor}{\Autor} 
		ist lizenziert unter einer 
		\href{http://creativecommons.org/licenses/by/4.0/}{Creative Commons Namensnennung 4.0 International Lizenz}.
	\end{minipage}
}


\def\HinweisLatex {Für die Nutzung und die Bearbeitung steht das Dokument \href{\HomeAutor/oer/pwz/latex}{hier} 
	auch im \LaTeX-Format zur Verfügung.}

\def\MailAutor {reinhard.brocks@htwsaar.de}

\def\MiniKontakt 
{
	Fragen und Verbesserungsvorschläge bitte an Prof.~Dr.~\Autor, 
	Hochschule für Technik und Wirtschaft des Saarlandes. \\
	E-Mail: \href{mailto:\MailAutor}{\MailAutor}\\[2ex]
}

\def\Kontakt
{
	\MiniKontakt
	Einen Überblick über die Unterrichtseinheiten zu \glqq Programmierwerkzeuge\grqq{} 
	findet man \href{\HomeAutor/oer/pwz/programmierwerkzeuge-00-unterrichtskonzept/at_download/file}{hier}.\\[1ex]
}

\def\Disclaimer 
{
	\begin{footnotesize}
		\textbf{Disclaimer}: Der Autor übernimmt keine Haftung für eventuelle 
		Datenschutz- und sonstige Rechtsverletzungen in anderen Webangeboten, 
		auf die er einen Link gesetzt hat. Für die Inhalte der von ihm 
		verlinkten Fremdangebote sind die jeweiligen Herausgeber verantwortlich. 
		Vor dem Einrichten von Links sind die Webseiten der anderen Anbieter 
		mit großer Sorgfalt und nach bestem Wissen und Gewissen geprüft worden. 
		Es kann jedoch keine Gewähr für die Vollständigkeit und Richtigkeit von 
		Informationen auf verlinkten Seiten übernommen werden. 
		Falls auf Seiten verweisen wird, deren Inhalt Anlass zur 
		Beanstandung gibt, bittet der Autor um eine Mitteilung 
		(\textit{\href{mailto:\MailAutor}{\MailAutor}}).
	\end{footnotesize}
}
%Ende OERMacros.tex%
%Anfang PackagesMacros.tex
\usepackage{a4,german}
\usepackage{hyperref}
\usepackage{hyperxmp}
\usepackage{color}
\usepackage{graphics}

\parindent 0pt
\definecolor{Definitionsfarbe}{RGB}{0,100,0}
\newcommand{\TextBegriff}[1]{\textcolor{Definitionsfarbe}{\textbf{#1}}}
%Ende PackagesMacros.tex%

\def\mysubtitle {Unterrichtseinheit 1: Tätigkeiten des Programmierers}
\def\mykeywords {Programmierwerkzeuge, Programmierung, Kreativität}

\hypersetup
{
	pdftitle={Programmierwerkzeuge},
	pdfsubject={\mysubtitle},
	pdfauthor={Reinhard Brocks},
	pdfkeywords={\mykeywords},
	pdfcopyright={CC BY 4.0},
	pdflicenseurl={http://creativecommon.org/licenses/by/4.0/}
}

\title{\textbf{Programmierwerkzeuge}}
\subtitle{\mysubtitle \\[2ex]{\small Lehr- und Lernmaterialien}}
\author{}
\date{}

\begin{document}
\maketitle
\thispagestyle{empty}
\vfill

\begin{tabular}{|p{3cm}|p{10,5cm}|} \hline 
	Zielgruppe	&	Lernende, die schon eine Programmiersprache gelernt und 
					erste Erfahrungen in der Programmierung gesammelt haben.\\ \hline 
	Lernziele	&	Die Lernenden sollen sich Gedanken über die Tätigkeit 
					des Programmierens machen. Sie können die unterschiedlichen 
					Aufgaben und Arbeitsschritte eines Programmierers benennen. \\ \hline 
	Stichwörter	&	\mykeywords\\ \hline 
\end{tabular} \\[2ex]

\Kontakt

Versionsgeschichte\\[1ex]
\begin{tabular}{|l|l|l|}\hline 
	Datum 	& Änderung \\ \hline 
	26. Oktober 2019 	& Erste Version \\ \hline 
\end{tabular}\\[1ex]

\OERLizenzHinweis\HinweisLatex
\newpage

\section*{Programmierwerkzeuge - Tätigkeiten des Programmierers}
\subsection*{Aufgabe: Programmierung und kreativer Prozess, 90 Minuten}
Erörtern Sie die Aussage \glqq Programmieren ist ein kreativer Prozess\grqq{}. 
\\[2ex]
\textbf{Arbeitsschritte}
\begin{enumerate}
	\item 60 Minuten: Diskutieren Sie die Aussage in Gruppen von vier bis sechs Lernenden. Halten Sie die Ergebnisse auf einer Flipchart fest.  
	\item Jede Gruppe präsentiert die Arbeitsergebnisse inklusive kurzer Diskussion (5 Minuten pro Gruppe).
	\item Diskussion und Zusammenfassung 
\end{enumerate}

\textbf{Selbstdiagnose} %Selbsttest
\begin{enumerate}
	\item Ich kann die Tätigkeiten eines Programmierers benennen. 
	\item Ich habe eine Meinung zur Frage \glqq{}Ist Programmieren kreativ?\grqq{}.
\end{enumerate}

\newpage
\subsection*{Arbeitsergebnisse}
\textbf{Definition} \TextBegriff{kreativer Prozess}: \textit{Der Vorgang des Herstellens oder des Produzierens, der durch 
	von spontanen Ideen ausgelöste Tätigkeiten, aber auch durch strukturiertes und logisches Vorgehen (routiniertes Bearbeiten) 
	charakterisiert ist. Erstellen verschiedene Personen zu einer Aufgabe auf unterschiedliche Weise (verschiedene) Lösungen, 
	so ist das ein Anzeichen für einen kreativen Vorgang.} 

\textbf{Definition} \TextBegriff{Programmieren}: \textit{Schreiben von Quellcode auf Basis eines Softwareentwurfs zur 
	Erstellung eines Computerprogramms. Gibt es vordefinierte Strukturen, die eingehalten bzw. umgesetzt werden müssen, 
	so ist das ein Zeichen für eine nicht kreative Tätigkeit.} 

Programmieren kann in kreative und automatisierbare (nicht kreative) Einzeltätigkeiten unterteilt werden. 
\begin{enumerate}
	\item \textbf{Liste der kreativen Tätigkeiten (Schreiben, Nachdenken):} implementieren, dokumentieren, Anforderungen formulieren, Tests schreiben, Fehler suchen und beheben, Laufzeit und Speicher optimieren, Tools und Frameworks auswählen, Arbeit planen und dokumentieren
	\item \textbf{Liste der automatisierbaren Tätigkeiten:} kompilieren, Tests ausführen, Dokumentation generieren, Installationspaket erstellen, Code verwalten, Entwicklungsumgebung installieren und konfigurieren.
\end{enumerate}

Tools sollten den kreativen Prozess der Programmierung unterstützen. Dies kann z.\,B. durch benutzerfreundliche Software erreicht werden. Ferner sollten automatisierbare Tätigkeiten durch Tools erledigt werden. Tools schaffen Zeit, da wiederkehrende, immer gleich ablaufende Tätigkeiten automatisiert werden. 

Außerdem haben die Projektrahmenbedingungen, wie z.\,B. Aufgabe, Zeitplan und  Vorgaben, einen Einfluss auf den kreativen Anteil beim Programmieren. 


\subsection*{Hinweise für den Dozenten}
Diese Unterrichtseinheit dient zur Einführung in das Thema \glqq Programmierwerkzeuge\grqq. Sie kann in Form einer Gruppenarbeit stattfinden. 
Sie wurde im Rahmen der Vorlesung \glqq Programmierwerkzeuge\grqq{} an der htw saar gehalten. Der Begriff \glqq{}Programmierung\grqq{} 
wird hier recht weit gefasst und mit Tätigkeiten während des gesamten Prozesses der Softwareerstellung und damit mit 
\glqq{}Softwareentwicklung\grqq{} gleichgesetzt. In gleicher Weise wird auch \glqq{}Programmierer\grqq{} und  
\glqq{}Softwareentwickler\grqq{} synonym benutzt. Es geht nicht darum, die Begriffe \glqq Kreativität\grqq{} und 
\glqq Programmieren\grqq{} ordentlich zu definieren. Es reicht, wenn eine grobe Vorstellung davon entwickelt wird. 
Einen Überblick zur Programmierung findet man z.\,B. unter \cite{Prog} und zum kreativen Prozess unter \cite{Kreativ}. 
Eine \glqq Musterantwort\grqq{} muss nicht notwendigerweise an die Lernenden verteilt werden. Falls die Zeit nicht ausreicht, 
ist es für die Konsolidierung des Wissens förderlich, dass die Präsentationen der Ergebnisse erst zu Beginn des nächsten Unterrichts stattfinden. 

Die Diskussionen der Lernenden sind zu Beginn teilweise nicht zielführend. Das liegt daran, dass die Begriffe \glqq Programmieren\grqq{} 
und \glqq kreativer Prozess\grqq{} nicht klar sind. Häufig werden die Tätigkeiten des Programmierers auf \glqq Quellcode tippen 
im Editor\grqq{} reduziert. Machen Sie die Lernenden dann darauf aufmerksam, dass im Allgemeinen am Anfang einer Diskussion 
die Begriffe geklärt werden müssen. Fordern Sie die Lernenden auf, die Begriffe \glqq kreativer Prozess\grqq{} und \glqq Programmieren\grqq{} 
zu definieren und typische Einzelaufgaben eines Programmierers, wie z.\,B. Editieren, Testen oder Fehler suchen, aufzulisten. 

Man kann auch zu einer Analogiebetrachtung anregen: Die Tätigkeiten eines Bildhauers von der Idee bis zum Verkauf der Skulptur. 
Auch dieser benötigt Werkzeuge, richtet sich eine Arbeitsumgebung ein, hat handwerkliche Fertigkeiten und Methoden gelernt. 
Außerdem ist das Bild des Werkzeugkastens eines Programmierers hilfreich. 

Die Gruppenarbeit mit dem Arbeitsergebnis auf der Flipchart ist für die Lernenden ein kreativer Prozess, den diese auch reflektieren können. 

\begin{thebibliography}{9}
\bibitem{Prog} Seite \glqq Programmierung\grqq. In: Wikipedia, Die freie Enzyklopädie. 
			Bearbeitungsstand: 17. März 2019, 21:12 UTC. 
			URL: \url{https://de.wikipedia.org/w/index.php?title=Programmierung&oldid=186689252} 
			(Abgerufen: 25. Oktober 2019, 15:10 UTC)
\bibitem{Kreativ} Seite \glqq Kreativer Prozess\grqq. 
			In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 9. Februar 2019, 08:26 UTC. 
			URL: \url{https://de.wikipedia.org/w/index.php?title=Kreativer_Prozess&oldid=185517342} 
			(Abgerufen: 25. Oktober 2019, 15:11 UTC)
\end{thebibliography}
\Disclaimer
\end{document}