<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="modul.xsl" type="text/xsl"?>
<modul id="7055" xml:lang="de">
 <titel>Konzepte und Methoden der Programmierung</titel>
 <titelLang>Konzepte und Methoden der Programmierung</titelLang>
 <kuerzel>Prog2</kuerzel>
 <ects>6</ects>
 <studiengang>I</studiengang>
 <modultyp></modultyp>
 <praesenz>96</praesenz>
 <selbststudiumszeit>108</selbststudiumszeit>
 <sprache>de</sprache>
 <sprache>de/fr</sprache>
 <beschreibungsSprache>de</beschreibungsSprache>
 <studiengangtyp>Bachelor</studiengangtyp>
 <lehrformen>Vorlesung mit Übung</lehrformen>
 <methoden><p>Vorlesung</p>
<p>Einzel- und Gruppenarbeit</p></methoden>
 <vorkenntnisse></vorkenntnisse>
 <ziele><p>Dieses Modul zielt darauf ab, den Studierenden weiterführende Konzepte und Methoden der objektorientierten Programmierung anhand der Programmiersprache Java zu vermitteln, sowie ihnen eine Einführung in der XML-Sprache zu geben.</p></ziele>
 <lerninhalte></lerninhalte>
 <lehrinhalte><p>In diesem Kurs werden die folgenden Themen und Inhalte behandelt:</p>
<ul>
<li>Objektorientierte Programmierung: Vererbung, Überschreiben von Methoden, abstrakte Klassen;</li>
<li>Streams: I/O Streams, Reader, Writer, Dateizugriffsmethoden, Serialisierung;</li>
<li>Fehlerbehandlung: Exceptions;</li>
<li>Objektorientierter Design: Grundtechniken, Beziehungen zwischen Klassen, Klassendiagramme; </li>
<li>Rekursion: Rekursionstypen, einfache rekursive Algorithmen, typische Beispiele von Rekursion;</li>
<li>Datenstrukturen: Einsatzbeispiele von einigen Standarddatenstrukturen; </li>
<li>Graphische Benutzerinterfaces: Swing Grundlagen, "Model-View-Control" Muster, Layout Management, Struktur und Benutzung von einigen wichtigen Swing Komponenten; </li>
<li>Multi-Threading: Konzepte, Java Threads, Kommunikation und Synchronisation von Threads, Java Monitor, Thread Pools;</li>
<li>Internationalisierung: Locales, Formattierung von Text und Zahlen, Character Sets, internationalisiertes Sortieren, internationalisierte GUIs;</li>
<li>XML: Grundlagen, DTD und Schemas, XSLT, XML Parsers (SAX, DOM).</li>
</ul></lehrinhalte>
 <lernergebnisse><p>Am Ende dieses Moduls haben die Studierenden die folgenden Fähigkeiten erworben:</p>
<ul>
<li>(Wissen) Sie können:                               
<ul>
<li>die Konzepte der objektorientierten Programmierung definieren und ihre Eigenschaften, Funktionen und Zusammenhänge beschreiben;</li>
<li>die Elemente, Methoden und Techniken von Java in den Bereichen der objektorientierten Programmierung, der graphischen Programmierung, der Multi-Threading-Programmierung und der Programmierung von internationalisierten Anwendungen erwähnen und beschreiben;</li>
<li>die wichtigsten Konzepte, Elemente und Techniken von XML erklären.</li>
</ul>
</li>
</ul>
<ul>
<li>(Fertigkeiten) Sie sind im Stande, mittelgrosse, vollständig objektorientierte Anwendungen, die ggf. parallele Aktivitäten enthalten, zu entwerfen. Diese Anwendungen können sie in Java, ggf. mit Einsatz von graphischen oder internationalisierten Komponenten implementieren, testen und dokumentieren. Ebenfalls können sie in einer Anwendung die  XML-Grundkonzepte und -techniken sinnvoll einsetzen. </li>
</ul>
<ul>
<li>(Kompetenzen) Sie können vielseitige Programmieraufgaben verstehen und analysieren und für deren Gesamtentwicklung passende objektorientierte Methoden und Techniken sinnvoll und effizient einsetzen.</li>
</ul></lernergebnisse>
 <bewertung><p>Teils (25%) im Verlauf des Moduls (Beurteilungskriterien werden am Anfang des Moduls bekannt gegeben); teils (75%) mit einer abgesetzten Schlussprüfung (schriftlich, 150 Minuten).</p></bewertung>
 <qualifikationstyp>Pb</qualifikationstyp>
 <pflichtmodul>ja</pflichtmodul>
 <bemerkungen></bemerkungen>
 <literaturangaben><p>Allgemeine Litteratur:</p>
<ul>
<li>Cay Horstmann, "Big Java", 3rd Edition, John Wiley &amp; Sons, Inc., 2008 - ISBN 978-0-470-10554-2</li>
</ul>
<ul>
<li>Cay Horstmann, Gary Cornell, "Core Java", Volume II, 8th Edition, Prentice Hall, 2008 - ISBN 978-0-13-235479-0</li>
</ul>
<p>Vertiefung bestimmter Themen:</p>
<p>Swing</p>
<ul>
<li>Marc Loy, Robert Eckstein, Dave Wood, James Eliott &amp; Brian Cole, "Java Swing", 2nd Edition, O'Reilly, 2002 - ISBN 978-0-596-00408-8</li>
</ul>
<p>Multi-Threading</p>
<ul>
<li>Scott Oaks &amp; Henry Wong, "Java Threads", 3rd Edition, O'Reilly, 2004 - ISBN 978-0-596-00782-9</li>
<li>Doug Lea, "Concurrent Programming in Java", 2nd Edition, Addison-Wesley, 2000 - ISBN 0-201-31009-0</li>
</ul>
<p>Internationalisierung</p>
<ul>
<li>Andrew Deitsch &amp; David Czarnecki, "Java Internationalization", O'Reilly, 2001 - ISBN 978-0-596-00019-6</li>
</ul>
<p>XML</p>
<ul>
<li>Elliotte Rusty Harold, W. Scott Means, "XML in a Nutshell", 3rd Edition, O'Reilly, 2004 - ISBN 978-0-596-00764-5</li>
<li>Brett D. Mclaughin &amp; Justin Edelson, "Java &amp; XML", 3rd Edition, O'Reilly, 2006 - ISBN 978-0-596-10149-7</li>
</ul></literaturangaben>
 <autor>
  <name>Jean-Paul Dubois</name>
  <email>jean-paul.dubois@bfh.ch</email>
  <kuerzel>doj1</kuerzel>
 </autor>
 <verantwortlicher>
  <name>Jean-Paul Dubois</name>
  <email>jean-paul.dubois@bfh.ch</email>
  <kuerzel>doj1</kuerzel>
 </verantwortlicher>
 <datum>09. November 2010</datum>
 <vormodul>7051-de.xml - Einführung in die Programmierung</vormodul>
 <lernziele></lernziele>
</modul>
