D U A L E H O C H S C H U L E BadenWürttemberg Studienbereich Technik Wahlmodul Angewandte Informatik (STG Jahr 2) (T2INF4901) Studiengang Informatik Formale Angaben zum Modul Studienrichtung Angewandte Informatik Vertiefung Modulbezeichnung Sprache Nummer Version Modulverantwortlicher Wahlmodul Angewandte Informatik (STG Jahr 2) Deutsch T2INF4901 6 Prof. Friedemann Stockmayer Verortung des Moduls im Studienverlauf Semester Voraussetzungen für die Teilnahme Modulart Moduldauer 4. Sem. Lokales Profilmodul 1 Eingesetzte Lehr und Prüfungsformen Lehrformen Vorlesung, Labor, Vorlesung, Übung, Vorlesung, Übung, Labor Lehrmethoden Lehrvortrag, Diskussion, Lehrvortrag, Diskussion, Fallstudien, Lehrvortrag, Diskussion, Gruppenarbeit Prüfungsleistung Klausur Benotung Standardnoten Prüfungsumfang (in min) 120 Workload insgesamt (in h) 222,0 Workload und ECTS davon Präsenzzeit (in h) davon Selbststudium (in h) 144,0 78,0 ECTSPunkte 5 Sachkompetenz Selbstkompetenz Sozialethische Kompetenz Übergreifende Handlungskompetenz Qualifikationsziele und Kompetenzen Im Rahmen eines vorgegebenen Auswahlkataloges besteht die Möglichkeit zur spezifischen Erweiterung oder Vertiefung des Curriculums Kommunikationsinformatik. Sofern der Auswahlkatalog es zulässt, hat der Studierende die Möglichkeit seine vorwiegend berufliche Handlungskompetenz zu erweitern. Dies gelingt entweder durch Aufgreifen von Spezialthemen (Vertiefung), oder Erschließung neuer Themen (auch Randgebiete). Seite 1
Lehr und Lerneinheiten OO Best Practice (Wahlunit) Lerneinheiten und Inhalte Präsenz Selbststudium Ausgewählte aktuelle Inhalte aus der objektorientierten Programmierung und dem objektorientierten Softwareengineering werden vertieft vermittelt. Skriptsprachen Skriptsprachen kommen vor allem für die prototypische Entwicklung in unterschiedlichen Bereichen zum Einsatz (z.b. WebAnwendungen, Tools, Kommunikations und NetzDienste). Im Rahmen dieser Unit wird eine Scriptsprache (z.b. Python) erlernt und praktisch geübt. Funktion einer Scriptsprache: Beziehung Skript Interpreter Umgang mit numerischen Daten, Strings Objekte und Operatoren Charakteristische Datenstrukuren, Dictionaries, Listen, Tupel Funktionen und Module Grafische Benutzerschnittstellen Assemblerprogrammierung Prozessorfamilie 8051 Entwicklungsumgebung µvision der Firma Keil in der Demo Version Unbewertete Übungen : z. B. Serielle Schnittstelle, Analog Digital Umsetzer, Bewerteter Programmentwurf : Bearbeitungszeitraum ca. 3 Wochen Thema: wird noch bekanntgegeben C# /.Net 1 Überblick über das.net Framework: Die Entwicklungsumgebung VS2008 / SharpDevelop / Monodevelop,.NET FrameworkTools Grundlagen der CLR: Reference Types vs. Value Types, Boxing und Unboxing, Schnittstellen und Generika, Events und Delegates, Ausnahmebehandlung, Automatische Speicherverwaltung Ein und Ausgabe: StringHandling und RegEx, Zugriff auf das Dateisystem, Streams (FileStream, MemoryStream, CompressionStreams,...) Listen (Queue, Stack, Dictionary,...) Serialisierung Debugging von.netapplikationen: DebuggerKlasse / TraceKlasse, DebuggerAttribute, Breakpoints Oberflächenprogrammierung mit Windows Forms:.Kennenlernen grundlegender UIControls (z.b. Panels, Buttons, TextBox, Labels,...),Dialogfenster (OpenFileDialog, SaveFileDialog, ) MDI vs. SDI, Asynchrones Programmieren mit dem BackgroundWorkerControl, Drag & Drop, Drucken, Lokalisierung / Globalisierung von Anwendungen Ausblick auf.net 3.0/.NET 3.5, Windows Presentation Foundation C++ Geschichtliche Einordnung der Sprache C++ Entwicklungsgeschichte Wesentliche Sprachmerkmale Vor und Nachteile der Sprache C++ Unterschiede zur Sprache Java Dateiorganisation in C++, Modulkonzept, Header und Implementierungsfile Hauptprogramm, Programmeintrittspunkt Ein und Ausgabestream, Namespace Übersetzen und Binden Formatierte Ausgabe, Strings aus der Sprache C, ANSI/ISO Klasse string Präprozessor Zeiger, Objektinstanzen Konstruktor/Destruktor void* Zeiger und NULL Zeiger Initialisierungen in C++ Kopieren von Objekten, flache Kopie, tiefe Kopie Copy Konstruktor Überladen des Assignment Operators Symbolische Konstanten Initialisieren von Klassenattributen, konstante Attribute Rein lesende Methoden, const nach Methodensignatur Aufzählungstypen, konstanten Datenstrukturen mit struct Call by value, Call by pointer, Call by reference DefaultParameter Überladen von Operatoren Vererbung, Konstruktoren bei der Vererbung Friend Klasse, Sichtbarkeitsregeln Mehrfachvererbung Zugriffskontrolle bei Vererbung Virtuelle Methoden, Polymorphie Abstrakte Klassen const vor Parametern einer Funktion/Methode const vor dem Rückgabewert einer Funktion/Methode Conversational English 1 Emotional Computing Linux 1 Seite 2
Grundsätzliches/Einleitung: Geschichte, Was ist eigentliche Linux, Unterschiede Windows/Linux, Lizenzen, Distributionen, Support, Dokumentationskonzepte Installation und erste praktische Erfahrungen: Knoppix, Suse oder eine andere MajorDistribution, KDE und andere Oberflächen Shell/Konsole: Shell und ihre Kommandos, Pipes Benutzer, Dateirechte, Prozesse, Bootprozess von Linux, Runlevels Dateisystem: Dateitypen, Standardfilesystem (FHS), Logdateien Netzwerk: Einleitung/Netzkonfiguration, Eatzgebiete von Linux im Netzwerk, Servertypen (inetd/standalone) ypische Server und wichtige Implementierung (ssh, mail, http, op3, imap, NIS, ldap, X11), Fehlersuche im Netzwerk, pratische Übungen für apache/nfs/samb, Sicherheit im Netzwerk Verschiedenes: vmware und andere OSEmulatoren, Echtzeitlinux, Linux auf embeddeddevices Programmierbare Logik Digitaltechnik:Automaten, Taktsynchrone Logik Bausteine und deren Architektur zur Integration digitaler Systeme Entwurfsschritte: Spezifikation, Kodierung, Simulation, Synthese, Fitting Hardwarebeschreibungssprache VHDL Werkzeuge, Entwicklungsumgebung Vollständiger Entwurf einschließlich Dokumentation Agile Prozesse Das agile Manifest XPProgramming Crystal Clear Test Driven Development Spoken Language Processing Einführung: Sprachverstehen und Spracherzeugung beim Menschen Spracherkennung Sprachkodierung Sprachsynthese Verfahren zur Verbesserung der Sprachqualität Entwurf von Sprachdialogsystemen Sprachübertragung in paketbasierten Netze iphoneappprogrammierung Grundlagen von ObjectiveC Grundlagen Maschineller Lernverfahren Einführung in das Maschinelle Lernen Symbolische Lernverfahren Grundlagen Neuronaler Netze Probabilistische Lernmodelle Entwurf und Implementierung ausgewählter Techniken für eine Anwendung Agentenbasierte Systeme Grundlagen von Agenten und Agentensystemen Aufbau von Agenten und Agentensystemen Kommunikation in Agentensystemen Cooperatives Problemlösen Grundlagen der Spieltheorie Agenten im Software Engineering Agentenframeworks Ontologien Mobile Agenten (u.a. Internetanwendung, Webcrawler etc.) Einsatzgebiete von Agenten in ecommerce, MenschMaschine Schnittstellen, Virtuellen Umgebungen, Simulation sozialer Strukturen und Information Retrieval Anwendung von Agentensystemen Entwurf und Implementierung interagierender Agenten für praktische Anwendungen unter Nutzung von Agentenframeworks Evolutionary Computing Historie und Grundprinzipien von Evolutionären Algorithmen Grundprinzipien (Mutation, Rekombination, MatingPoolAuswahlverfahren, FitnessFunktion, Generationenmodelle) Anwendung genetischer Algorithmen auf einfache Probleme (Systemidentifikation, Optimierung und Simulation) Anwendung auf komplexe Probleme der Informatik (NP) Entwurf und Implementierung eines Evolutionären Algorithmus zur Lösung einer gegebenen Problemstellung. Analyse und Auswertung der Arbeitsweise Evolutionärer Algorithmen. Ausgewählte Themen der Informatik Es werden ausgewählte Inhalte aus der Informatik, wie z.b. dem Web Enginnerin, Software Engieeing, Compilerbau, etc. vertieft behandelt. Advanced Project Management This Advanced Project Management (APM) Course is a processoriented, practical Project Management course that focuses on the Application of Project Management to a reallife project. APM builds on the Project Management Institute s Guide to the Project Management Body of Knowledge (PMBOK Guide, 5th Edition) to provide a solid framework and context for managing projects. After successfull completion of the three PMcourses the student will have a solid knowledge of PM tools and techniques such as The triple constraint of project management, The project management knowledge areas and process groups (PMI ), Project Charter, Project Scope Document, Work Breakdown Structure, Project Schedule, Critical Path Analysis, Project Management Plan, Communication Matrix, Status Reports, Change Requests / Change Management, Risk Register, Jour Fixe. Be familiar enough with Microsoft Project to help plan and manage projects Differentiate good and bad project management through sharing his/her own experiences of good and bad project management Be able to apply the knowledge and skills developed in this class to other settings (e.g. workplace) Have tools and techniques ready to lead project teams effectively Be acquainted with tools and techniques to monitor and control the scope and time of a project Have practical experience in a project with a tangible result under reallife conditions, such as limited resources, timepressure, changing scope, conducted in a teamsetting Global (IT) World Global Skills Seite 3
Introduction and Reflection Global (IT) World Working in Diverse Team Intercultural Relations Skills Effective Negotiations Intercultural Conflict Resolution Ziel des Seminars ist es eine globale Perspektive zu entwickeln und den Bezug zur internationalen IT Welt zu verstehen. Dieses Seminar findet in englischer Sprache statt. Grundkenntnisse in Englisch werden vorausgesetzt. 3DModeling und Animation Die Vorlesung ist unterteilt in einen theoretischen und praktischen Teil. Zuerst wird das Erstellen von 3D Computermodellen und deren Animation behandelt. Hierbei könnten auch noch Grundlagen aus ergänzenden Gebieten wie inverse Kinematik und Physik Simulation besprochen werden. Weiterhin werden Grundlagen bezüglich Integration von computergenerierten Modellen/Animationen in reales Filmmaterial vermittelt. In der parktischen Vorbereitungsphase werden dann einige gängige 3D Modellierungsprogramme vorgestellt, wie etwa 3DS MAX, Lightwave 3D, etc. (oder auch frei verfügbare Software wie etwa DAZ 3D, Blender, etc.). Anhand einiger einfacher Aufgaben können die Teilnehmer dann erste Erfahrungen mit dem Erstellen von 3D Objekten und dem Modifizieren von fertigen Modellen sammeln. Cloud Computing Warum Cloud Computing? Einführung Grundlagen des CloudComputing Architekturen und Anbieter Besonderheiten der Cloud SoftwareTechnologien für die Cloud Strategien für die Migration in die Cloud Realisierung der Cloud (Warehouse Scale Datacenter, WSC) Trends Professional English Communication The course Professional English Communication focuses on different forms of communication in the academic and professional business environment. Communication includes listening, speaking, writing, and presenting in English language. This course will be held mostly in English language, and provides opportunities for experienced English speakers as well as students who want to work on their English skills starting from a basic level. 36,0,0 Besonderheiten Besonderheiten und Voraussetzungen Voraussetzungen Seite 4
Literatur Ian Sommerville: Software Engineering. 7. Aufl. AddisonWesley, München 2004, ISBN 0321210263. Thomas Grechenig, Mario Bernhart, Roland Breiteneder, Karin Kappel: Softwaretechnik Mit Fallbeispielen aus realen Projekten Pearson Studium, München 2009, ISBN 3868940073. Learning Python, Mark Lutz, O Reilly oder alternative Literatur, passend zur Sprache Kofler,M : Linux 2011: Debiam Fedore, opensue, Ubuntu, AddisonWesley, 2010 Kofler, M: Linux Kommandoreferenz, AddisonWesley, 2010 D.J. Barett, Torsten Wilhelm: Lunix kurz und gut, O'Reilly Kent Beck: Extreme Programming Alistair Cockburn: Agile SoftwareEntwicklung für kleine Teams, MitpVerlag 2005 Andrew Hunt, David Thomas: Pragmatisch Programmieren: unittests mit JUnit, Hanser Fachbuchverlag, 2005 Kent Beck: Test Driven Developmentby Example, AddisonWesley, 2002 Frank Westphal: Testfetriebene Entwicklung mit Junit & Fit. Wie software änderbar bleibt, DPunkt verlag, 2005 Fundamentals of Speech Recognition, Lawrence Richard Rabiner, PTR Prentice Hall, 1993, ISBN 0130151572 Statistical Methods for Speech Recognition, Frederick Jelinek A Bradford Book, ISBN: 0262100665 Speech and Audio Signal Processing: Processing and Perception of Speech and Music Ben Gold, Nelson Morgan, Dan Ellis, WileyInterscience; 2 edition (August 23, 2011), ISBN: 0470195363 Speech and Language Processing (2nd Edition) [hardcover] D. Jurafsky, J. Martin, Publisher: Pearson Prentice Hall; 2 edition (May 26, 2008), ISBN10: 0131873210 Toshinori Munakata,"Fundamentals of the new Artificial Intelligence", Springer Verlag, aktuelle Auflage Christoph Beierle,Gabriele KernIsberner, "Methoden Wissensbasierter Systeme Grundlagen Algorithmen Anwendungen", Vieweg Verlag, aktuelle Auflage Rüdiger Brause, "Neuronale Netze", B.G.Teubner Stuttgart, aktuelle Auflage Ethem Alpaydin,"Introduction to Machine Learning", MIT Press, aktuelle Auflage J. Russel, Peter Norvig, "Künstliche Intelligenz Ein moderner Ansatz", Pearson Studium, aktuelle Auflage M.Wouldridge,"An Introduction to Multi Agent Systems", John Wiley & Sons, aktuelle Auflage Toshinori Munakata,"Fundamentals of the new Artificial Intelligence", Springer Verlag, aktuelle Auflage A.E.Eiben, J.E.Smith, "Introduction to Evolutionary Computing", Springer Verlag, aktuelle Auflage aktuelle Literatur wird in der Vorlesung bekanntgegeben. Information Technology Project Management Sixth Edition, Schwalbe, Kathy. ISBN13: 9781111221751 A guide to the Project Management Body of Knowledge (PMBOK Guide) 5th Edition, (This is not the same as earlier editions. Get the FIFTH Edition only!), Project Management Institute, Inc, ISBN 13: 9781935589679 The Stanley Foundation. (1996). Educating for the global community: A framework for community colleges Seite 5