Virtuelle Hochschule Bayern

Metanavigation

“… örtlich und zeitlich flexibel studieren”

TESTSHIB vhb-Kursprogramm

Navigationsbereich

kleinerKursdetails

Anbieterhochschule
FH Regensburg
Kurs-ID
LV_318_829_1_61_1
Fächergruppe
Informatik
Teilgebiet
Angewandte Informatik
Titel (englisch)
Bemerkungen
-
Kursanmeldung
01.03.2015 00:00 Uhr bis 14.04.2015 23:59 Uhr
Kursabmeldung
01.03.2015 00:00 Uhr bis 14.04.2015 23:59 Uhr
Kursbearbeitung / Kurslaufzeit
15.03.2015 bis 03.07.2015
Bereitstellung der Kursinhalte
-
Freie Plätze
Anmeldefrist abgelaufen
Anbieter

Prof. Dr. Jürgen Mottok

Prof. Dr. Peter Jüttner

Prof. Dr. Reimer Studt

Prof. Dr. Michael Niemetz

Umfang
Details zur Anrechnung in den FAQs
SWS
2
ECTS
-
Sprache
Deutsch
Kurs ist konzipiert für
Bachelor Elektro- und Informationstechnik Bachelor Mechatronik Bachelor Regenerative Energien und Energieeffizienz Angewandte Informatik Berufsbegleitender Bachelor Wirtschaftsingenieurwesen (HAW Landshut)
Online Prüfungsanmeldung
Nein

Programmieren in C

Praktikum

 Anmeldung: Anmeldung nicht möglich - Anmeldefrist beachten

Inhalt

Abstract:

Das Praktikum "Programmieren in C" ist an den Hochschulen Deggendorf, Landshut und Regensburg in den jeweiligen Modulhandbüchern bezüglich der Lernziele beschrieben, es kann aber auch von Studierenden anderer Hochschulen genutzt werden.  
Die Lernenden sollen die  Fähigkeit entwickeln C-Programme zu entwerfen, Algorithmen zu entwickeln bzw. anzuwenden und eine geeignete Verifikation ihrer selbst entwickelten C-Programme durchführen (Fachkompetenz).
Dieser Kurs soll nicht bloß Wissen in der Programmiersprache C vermitteln, sondern auch beim Aufbau der Kompetenzen der Lernenden helfen. In selbstorganisierten Lerneinheiten (siehe im Folgenden die fachdidaktischen Ansätze des vorgeschlagenen Kursangebotes und Nutzung spezieller e-Learning Lernmethoden)  entsteht ein Lernarrangement, das Anwendungs-, Methoden-, Sozial- und Selbstkompetenz auch aufbauen hilft.
Das Praktikum "Programmieren in C" ist in vier Sichten strukturiert:
- Bayerische Sicht (Standard)
- Deggendorfer Sicht
- Landshuter Sicht
- Regensburger Sicht

Gliederung:

Inhaltestruktur im systemischen Top-Down-Ansatz:
Die Inhaltestruktur ist im Wesentlichen in Fallstudien (Exemplarisches Lernen an C-Programmen und Algorithmen) sowie einer folgenden Vertiefung zur umfassenden Darstellung von Sprachkonzepten der Programmiersprache C bzw. der vorgestellten Algorithmen dargestellt. Damit stellt sich der gewählte systemische Top-Down-Ansatz als ein Wechselspiel von Fallstudien und dazugehörigen Vertiefungen dar. Die Übungen des Praktikums erfolgen im Kontext der Fallstudien.  

1.  Einführung in die Informatik      
2.  Einfache Datentypen in Anwendung      
3.  Vertiefung Datentypen    
4.  Einfache (und rekursive) Funktionen in Anwendung  
5.  Vertiefung Funktionen (inkl. Funktionszeiger)  
6.  Operatoren (Konzepte: Unär/binar/ternär; Wert und Seiteneffekt; Prioritäten)  
7.  Spezielle Algorithmen: Zahlendarstellung  
8.  Spezielle Algorithmen: Automaten    
9.  Spezielle Algorithmen: Sortieren    
10. Spezielle Algorithmen: Suchen      
11. Spezielle Algorithmen: Zufallszahlen      
12. Spezielle Algorithmen: Monte-Carlo Algorithmen    
13. Spezielle Algorithmen: Simulationen
14. Kontrollstrukturen
15. Zeiger (Pointer)
16. Felder (Arrays)
17. Zahlendarstellung und Rechnen in Zahlensystemen  
18. Komplexität von Algorithmen  
19. Benutzerdefinierte Datentypen  
20. Vertiefung Benutzerdefinierte Datentypen (Indirektionen / Strukturen / Bitfelder / Arrays)  
21. Klassische Datenstrukturen der Informatik  
22. Klassische Datenstrukturen der Informatik: Listen  
23. Klassische Datenstrukturen der Informatik: Queues  
24. Klassische Datenstrukturen der Informatik: Bäume  
25. Hardwarenahe Programmierung  
26. Vertiefung Hardwarenahe Programmierung  
27. Geometrische Algorithmen  
28. Numerische Mathematik: Matrix-Inversion  
29. Numerische Mathematik: Nullstellen-Iterationen  
30. Numerische Mathematik: Integrationsverfahren  
31. Numerische Stabilität  
32. Wahrscheinlichkeitsrechnung  
33. Verteilungsfunktionen  
34. Objektorientierung in C Practical State Chart Modeling  
35. Vertiefung  Objektorientierung in C  
36. Eingabe und Ausgabe (I/O) in C

Die Nomenklatur der Aufgaben richtet sich nach dem jeweiligen Projektpartner (Regensburg=R, Landshut=L, Deggendorf=D) und setzt sich folgendermaßen zusammen:

KapitelNummer-Kategorie-Hochschulkennbuchstabe-LaufendeNummer-ThemaSchlagwort

Detaillierter Inhalt:

Anfang der  neunzehnhundertsiebziger Jahre entstand C im Umfeld des Betriebssystems Unix an den AT&T Bell Laboratories unter Federführung von Dennis Ritchie. Wichtige Ideen stammen aus der Sprache BCPL, die von M. Richards entwickelt wurde. Unmittelbarer Vorgänger von C ist das von K. Thompson 1970 im Zusammenhang mit der Unix-Entwicklung entstandene B.
Bekannt wurde C vor allem im Zusammenhang mit dem Ende der neunzehnhundertsiebziger Jahre freigegebenen Betriebssystem Unix, Version 7, und dem 1978 erschienenen Buch "The C Programming Language" von Kernighan und Ritchie bzw. durch den Report Programming in C: A Tutorial von Kernighan.
Im Gegensatz zu den ersten höheren Programmiersprachen wie FORTRAN, ALGOL 60 (wissenschaftlich-technische Berechnungen) und COBOL (kommerzielle Anwendungen) ist C "universell" einsetzbar. Gegenüber in den sechziger Jahren entstandenen Universalsprachen wie PL/I oder ALGOL 68, die letztendlich an ihrer Komplexität scheiterten, besitzt C bei Verwendung einer Coding-Guideline einen beherrschbaren  Sprachumfang.
C zählt zu den Programmiersprachen der 3. Generation (problemorientierte imperative Sprachen). Im Unterschied dazu sind die Assemblersprachen der 2.Generation und die Maschinensprachen der 1.Generation zugeordnet.

Mitunter wird C etwas grob vereinfachend als eine Kreuzung von Pascal und Assembler bezeichnet:

- C unterstützt in ähnlichem Umfang wie Pascal strukturiertes Programmieren durch die grundlegenden Strukturelemente Übersetzungseinheiten (Dateien), Funktionen und Schleifen.
- Die Syntax von C und Pascal folgt - bei unterschiedlicher Ausprägung - teilweise gleichen Grundideen. (Diese gehen auf die gemeinsame Vorgängersprache ALGOL 60 zurück. Beeinflusst hat beide Sprachen auch die Diskussion um ALGOL 68.)
- C bietet eine sehr schlanke Abstraktionsschicht gegenüber Assembler und gestattet damit sehr performante und speicherplatzoptimierte Programme, ohne den Programmierer mit Prozessordetails wie Adressierungsarten oder Prozessorbefehlssatz zu  
- Überwachungs- und Kontrollfunktionen wie etwa zur Einhaltung der Grenzen von Datentypen oder Speicherbereichen fehlen in der C-Laufzeitumgebung völlig und müssen entweder manuell implementiert oder über Zusatzbibliotheken ergänzt werden. Dies erfordert in sicherheitskritischen Anwendungen flankierende Maßnahmen wie Codierungsrichtlinien und Codeanalysewerkzeuge.
- Abgesehen von Übersetzungseinheiten (Dateien), Funktionen, Schleifen und Mehrfachverzweigungen bietet C keinerlei höhere Strukturelemente. Insbesondere fehlen objektorientierte Ansätze  

Die dieser großen Verbreitung zugrunde liegende extrem hohe Flexibilität für den Programmierer, macht jedoch die Programmentwicklung in C zu einem sehr komplexen Thema.

C lässt bewusst Spielraum zwischen zwei Polen:

- Entwicklung hochportabler Programme: Beschränkung auf das vom Sprachstandard garantierte Verhalten ohne den Einsatz compilerspezifischer Erweiterungen und Modifikationen sowie intensiver Einsatz der Möglichkeiten zur strukturierten Programmierung
- Einsatz als "höherer Assembler", d.h. Entwicklung maschinennaher, nicht portabler Programme: Verwendung von Compilererweiterungen zur Steuerung des Übersetzungsvorgangs, Aufbau eigener Datenstrukturen durch direkte Speichermanipulation, Sprünge sowie der Nutzung der Seiteneffekte durch die Speicherrepräsentation der Datentypen.

Lern-/Qualifikationsziele:

-

Lehrveranstaltungstyp:

Kurs

Interaktionsformen mit Betreuer/in:

E-Mail, Übungsaufgaben, Übungsaufgaben für Selbstlernbetrieb, Kooperation Lerner/Betreuer bei der Aufgabenbearbeitung

Interaktionsformen mit Mitlernenden:

Foren, Gemeinsame Aufgabenbearbeitung, E-Mail

Kursdemo:

zur Kursdemo

Nutzung

Kurs ist konzipiert für:

Bachelor Elektro- und Informationstechnik
Bachelor Mechatronik
Bachelor Regenerative Energien und Energieeffizienz
Angewandte Informatik
Berufsbegleitender Bachelor Wirtschaftsingenieurwesen (HAW Landshut)

Formale Voraussetzungen:

keine

Erforderliche Vorkenntnisse:

Grundkenntnisse in objektorientierter Programmierung

Hinweise zur Nutzung:

Das Praktikum "Programmieren in C" stellt 4 Sichten bereit:
+ Bayerische Sicht (Standard)
+ Deggendorfer Sicht
+ Landshuter Sicht
+ Regensburger Sicht

Kursumsetzung (verwendete Medien):

-

Erforderliche Technik:

-

Nutzungsentgelte:

für andere Personen als (reguläre) Studenten der vhb Trägerhochschulen nach Maßgabe der Benutzungs- und Entgeltordnung der vhb

Rechte hinsichtlich des Kursmaterials:

-

Verantwortlich

Anbieterhochschule:

FH Regensburg

Anbieter:

Prof. Dr. Jürgen Mottok

Prof. Dr. Peter Jüttner

Prof. Dr. Reimer Studt

Prof. Dr. Michael Niemetz

Autoren:

Michael Niemetz

Peter Jüttner

Reimer Studt

Jürgen Mottok

Betreuer:

Prof. Dr. Jürgen Mottok

Prüfung

Praktikum in C

Art der Prüfung:

schriftlicher Leistungsnachweis (Klausur)

Bemerkung:

Die Prüfung erfolgt im letzten Drittel des Semesters für alle Teilnehmer.

Prüfer:

Prof. Dr.  Jürgen Mottok

Prüfungsanmeldung erforderlich:

ja

Anmeldeverfahren:

Informationen beim Kursanbieter/-betreuer

Prüfungsanmeldefrist:

15.05.2015 00:00 Uhr bis 19.06.2015 23:59 Uhr

Prüfungsabmeldefrist:

15.05.2015 00:00 Uhr bis 19.06.2015 23:59 Uhr

Kapazität:

425

Prüfungsdatum:

Nach Absprache mit dem Prüfer

Prüfungsdauer:

60 Minuten

Prüfungsort:

Die Prüfung erfolgt in der E-Learningplattform moodle.

Zuständiges Prüfungsamt:

Heimathochschule

Zugelassene Hilfsmittel:

Lehrbücher der Programmierung

Formale Voraussetzungen für die Prüfungsteilnahme:

Teilnahme am vhb-Kurs

Inhaltliche Voraussetzungen für die Prüfungsteilnahme:

Grundlagenkenntnisse aus Programmier-Vorlesungen

Zertifikat:

Ja (Benoteter/bewerteter Schein)

Anerkennung:

Kursverwaltung

Kursprogramm SS15