{"id":92,"date":"2010-09-08T15:45:59","date_gmt":"2010-09-08T13:45:59","guid":{"rendered":"http:\/\/fernuni.digreb.net\/?page_id=92"},"modified":"2025-11-25T20:19:08","modified_gmt":"2025-11-25T19:19:08","slug":"01613-einfuhrung-in-die-imperaive-programmierung","status":"publish","type":"page","link":"https:\/\/fernuni.digreb.net\/?page_id=92","title":{"rendered":"01613 &#8211; Einf\u00fchrung in die imperative Programmierung"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Pers\u00f6nliches, subjektives Volesungsfazit<\/h2>\n\n\n\n<p>Aua, aua, aua. Erstmal: Vorlesungssprache ist *Trommelwirbel* Pascal! Der mitgelieferte Compiler ist FPC und die mitgelieferte IDE ist ein Oldschool DOS Fenster. Gro\u00dfartig nostalgisch! Ich empfehle FPC, sowie Notepad++ als Editor. Nun zur Vorlesung: die Skripte sind sehr <span style=\"text-decoration: line-through;\">verwirrend<\/span> <span style=\"text-decoration: line-through;\">eigenartig<\/span> <span style=\"text-decoration: line-through;\">furchtbar<\/span> schwer zu lesen. Schonmal if\/then\/else, sowie while oder for-Konstrukte &#8222;formal\/mathematisch&#8220; eingef\u00fchrt? Ich musste ein paar mal auf das Deckblatt bl\u00e4ttern ob ich nun wirklich &#8222;imperative Programmierung&#8220; lese oder irgendwas anderes. Und das obwohl ich damals mit Pascal und Delphi angefangen habe&#8230;<\/p>\n\n\n\n<p>Alles in allem deutlich schwerer als 1618. Das liegt aber wahrscheinlich an den Inhalten, da man hier weniger die Programmierung lernt, als die darunterliegenden Konzepte der Datenstrukturen, wie z.B. (doppelt) verkettete Listen, Operationen auf diesen, Queues,&nbsp; Baumstrukturen und Rekursion. Ein Blick auf den Inhalt verr\u00e4t den Schwerpunkt.<\/p>\n\n\n\n<p>Sehr viel Wert wird auf den korrekten Programmierstil und formale Testmethoden gelegt, was ich durchaus gut finde. Das ist wahrscheinlich auch Sinn und Zweck der ganzen Geschichte, da 1613 wohl die erste &#8222;Programmier-Vorlesung&#8220; f\u00fcr Studienanf\u00e4nger ist. Man lernt mit einer Sprache -wo man (fast) alles zu Fu\u00df macht- die Grundz\u00fcge der Programmierung, den richtigen Programmier- und Kommentierstil, sowie das Arbeiten auf verschiedenen Datenstrukturen und (durchaus sehr intensive) Testvefahren f\u00fcr die erstellten Programme. Alles in allem das R\u00fcstzeug um sauberen und wartungsfreundlichen Code ohne Schleifen- und Anweisungs-Leichen zu produzieren. Auch als FIAE kann man hier durchaus was lernen. Oder bin ich der Einzige, der von Knoten\/Kanten\u00fcberdeckung in seiner Ausbildung nichts geh\u00f6rt hat?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Literaturempfehlung<\/h3>\n\n\n\n<p>Keine. Wer Probleme mit Pascal hat, kann sich ein beliebiges Pascal-Buch aus der Bibliothek schnappen. Wenn diese nicht l\u00e4ngst du Staub zerfallen sind oder von C++\/Java\/.NET B\u00fcchern gefressen wurden. Ein Kommilitone, der vorher Wirtschaftswissenschaften studiert hat benutze das Buch von Canneyt (siehe Literaturempfehlung), da er mit PASCAL \u00fcberhaupt nicht zurecht kam. Ich kenne es nicht und habe eher das Gef\u00fchl, dass Ihr euch lieber etwas besorgen solltet was die Konzepte der verwendeten Datenstrukturen (Bin\u00e4re B\u00e4ume, Rekursion, verkettete Listen, &#8230;) und Testverfahren abdeckt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Klausur- und Organisatorisches<\/h3>\n\n\n\n<p>Stand WS 2009\/2010: Klausur ist duraus anspruchsvoll, wie ich finde. Das Papier-Programmieren mit Java in 1618 war schon anstrengend, aber versucht mal mit der Datenstruktur einer doppel verketten Liste auf Papier zu arbeiten&#8230; und auch noch mit Pascal. Aber alles machbar. Korrigiert wird bis zur sicheren Bestehensgrenze von 4.0 (d.h. 50% der Klausurpunkte).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vorlesungs-Inhalt<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 1<\/h3>\n\n\n\n<p>Einf\u00fchrung in Problemstellungen, die mittels Programmierung, bzw. Programmen gel\u00f6st werden sollen. Konzepte verschiedener Programmiersprachen, Rechnerarchitektur und Systeme, Datentypen, Anweisungen, IO und Variablen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 2<\/h3>\n\n\n\n<p>Schleifen, Arrays, Verbundtypen, Funktionen und korrekter Programmierstil (wichtig!)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 3<\/h3>\n\n\n\n<p>Prozeduren, Bl\u00f6cke, Lebensdauer, Zeiger, lineare Listen und erweiterer Programmierstil.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 4<\/h3>\n\n\n\n<p>Bin\u00e4re B\u00e4ume, Rekursion, Programmierstil, die 3. Zerlegung und Verfeinerung.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 5<\/h3>\n\n\n\n<p>Analytische Qualit\u00e4tssicherung, Kontrollflussorierntierte Testverfahren (Zweig- und Knoten\u00fcberdeckung, Boundary-Interior, &#8230;), Black-Box-Testverfahren, funktionale \u00c4quivalenzklassen. Regressionstests, dynamische und statische Testverfahren (Reviews und statische Analysatoren).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Buchempfehlung<\/h3>\n\n\n\n<a class=\"amazonlink\" target=\"_blank\"  href=\"https:\/\/www.amazon.de\/gp\/product\/3936546533\/ref=as_li_tl?ie=UTF8&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3936546533&#038;linkCode=as2&#038;tag=fernblog09-21&#038;linkId=c02dd6c9eddb\n64e8c6ef98a4cb32d01f\"><img decoding=\"async\" width=\"150px\" src=\"wp-content\/uploads\/2025\/11\/41HayCdUgdL.jpg\" alt=\"Free Pascal 2: Handbuch und Referenz\"><\/img><\/a>\n","protected":false},"excerpt":{"rendered":"<p>Pers\u00f6nliches, subjektives Volesungsfazit Aua, aua, aua. Erstmal: Vorlesungssprache ist *Trommelwirbel* Pascal! Der mitgelieferte Compiler ist FPC und die mitgelieferte IDE ist ein Oldschool DOS Fenster. Gro\u00dfartig nostalgisch! Ich empfehle FPC, sowie Notepad++ als Editor. Nun zur Vorlesung: die Skripte sind sehr verwirrend eigenartig furchtbar schwer zu lesen. Schonmal if\/then\/else, sowie while oder for-Konstrukte &#8222;formal\/mathematisch&#8220; eingef\u00fchrt? &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/fernuni.digreb.net\/?page_id=92\" class=\"more-link\"><span class=\"screen-reader-text\">\u201e01613 &#8211; Einf\u00fchrung in die imperative Programmierung\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":3360,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-92","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=92"}],"version-history":[{"count":17,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/92\/revisions"}],"predecessor-version":[{"id":3462,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/92\/revisions\/3462"}],"up":[{"embeddable":true,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/3360"}],"wp:attachment":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}