<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="modul.xsl" type="text/xsl"?>
<modul id="BTE5051" xml:lang="de">
 <modulcode>BTE5051</modulcode>
 <modultitel>Funktionale Softwareentwicklung in C</modultitel>
 <modultitelLang>Funktionale Softwareentwicklung in C</modultitelLang>
 <kuerzel>FSWEC</kuerzel>
 <ectsCredits>4</ectsCredits>
 <kontaktstudium>64</kontaktstudium>
 <selbststudium>56</selbststudium>
 <spracheLehre>Deutsch</spracheLehre>
 <spracheLehre>Deutsch/Französisch</spracheLehre>
 <spracheBeschreibung>de</spracheBeschreibung>
 <lehrformen>Vorlesung mit Übung</lehrformen>
 <lehrmethoden>darbietend-entwickelnde Methode / Frontalunterricht</lehrmethoden>
 <lehrmethoden>Begleitete Übung</lehrmethoden>
 <lehrmethoden>Selbststudium</lehrmethoden>
 <inhalt><p>Dieses Modul hat zum Ziel, die Studierenden in die technische Informatik  einzuführen. Sie sollen mit der Programmiersprache C einfache Programme  strukturiert entwickeln können, sowie grundlegende Algorithmen und  Datenstrukturen kennenlernen und einsetzen können.</p>
<p>Folgende Themen und Inhalte werden behandelt:</p>
<dl><dt><strong>Grundlagen</strong></dt><dd>Aufbau eines C-Programmes, Entwicklungsumgebung, Projektverwaltung, Compiler und Linker, Fehlermeldungen und Warnungen, Preprozessor.</dd><dt><strong>Variablen und einfache Datentypen</strong></dt><dd>Elementare Datentypen, Literale, Stringliterale, Variablen, was ist Speicher, Gültigkeitsbereich, Initialisierung von Variablen, Ein- und Ausgabe von Variablen, Typkonversionen, Pointer.</dd><dt><strong>Statements und Operatoren</strong></dt><dd>Statements, Expressions, Arithmetische-, Logische-, Relationale- und Zuweisungs-Operatoren, Operatorpräzedenzen, Inkrement- und Dekrementoperatoren.</dd><dt><strong>Kontrollstrukturen</strong></dt><dd>Blöcke, if else, switch break, for, while, do while, continue (Goto, Label), Programmdesign (Struktogramme, Flussdiagramme). </dd><dt><strong>Funktionen</strong></dt><dd>Call By Value, Call By Reference, Rückgabewerte, Lokale/Globale Variablen, Prototypen, Lokale/Globale Funktionen.</dd><dt><strong>Mehrfache Datentypen</strong></dt><dd>Arrays, Strukturen (Enums, Bitfelder und Unions).</dd><dt><strong>Algorithmen </strong></dt><dd>Suchen (Linear und Binär) und Sortieren, Numerische Methoden, Rekursion </dd><dt><strong>Bibliotheksfunktionen und Datei-IO</strong></dt><dd>Standardbibliothek, Anwenden von Stringfunktionen, Text- und Binärdateien lesen und schreiben.</dd><dt><strong>Datenstrukturen</strong></dt><dd>Dynamische Speicherverwaltung. Arbeiten mit einfach und doppelt verketteten Listen. Bäume und Hashtabellen (Prinzip kennen).</dd></dl>
<p> </p></inhalt>
 <kompetenz><p><span>Am Ende dieses Moduls kennen die Studierenden die Programmiersprache C (Befehlssatz, Syntax, Standardbibliothek und Entwicklungswerkzeuge) sowie Methoden zum Programmdesign und die Vorgehensweise zur Entwicklung und Dokumentierung von Programmen. Sie kennen einige grundlegende Algorithmen (Rekursion, Numerische Methoden, Suchen, Sortieren) und Datenstrukturen (Felder, Dynamischer Speicher, Listen, Bäume, Hashtabellen)</span></p>
<p>Die Studierenden können Programme analysieren und nachvollziehen, sowie selber einfache Applikationen entwickeln (Inklusive Design und Dokumentation) und in einem sauberen und lesbaren Stil implementieren.</p>
<p>Sie können einfachere Problemstellungen analysieren und Programme zu deren Lösung entwerfen und implementieren.</p></kompetenz>
 <gewichtungKNW><p>Abgesetzte schriftliche Prüfung 100%</p></gewichtungKNW>
 <kompetenznachweis>Abgesetzte Prüfung (Pa)</kompetenznachweis>
 <modultyp>Pflichtmodul</modultyp>
 <modulverantwortung>Ivo Adrian Oesch ( osi1 )</modulverantwortung>
 <modulverantwortung>Elham Firouzi ( fue1 )</modulverantwortung>
 <datum>15. August 2012</datum>
 <bewertungsform>A-F</bewertungsform>
 <workload>120</workload>
 <pruefungsdauer>120 Minuten</pruefungsdauer>
 <eingangskompetenz><p>Bedienung und Umgang mit PC, Texteditor und Dateisystem</p></eingangskompetenz>
</modul>
