Google
Mein beruflich-akademischer Weg zum Wirtschaftsinformatiker

Blog, IT-Basics, Semester 01

Semester_01 – Tag 14 – IT Basics

IT BasicsUm an der Vorlesung von „IT Basics“ vom 20.10.2012 teilzunehmen, mussten wir zum Campus in Bockenheim wechseln.

So langsam nervt das Wechseln von einem Campus zum Anderen, da recht viel Zeit dabei drauf geht, einen Parkplatz zu finden. Dieses Mal hat mich ein Kommilitone mitgenommen, damit ich mein Auto in Westend stehen lassen konnte, für den Fall, dass Janin (meine Freundin) früher Schluss hat. Dann hätte sie mich abholen können.

Inhalt der Vorlesung war „Algorithmen und Datenstrukturen“.

Definition von „Algorithmus“

Unser Dozent erklärte wahrscheinlich erst einmal, was man unter „Algorithmus“ versteht… warum wahrscheinlich?
Ich kam ca. 10 Minuten zu spät! 🙁

Ich mache mir es an dieser Stelle einfach und zitiere die Folie des Dozenten:

Unter dem Begriff Algorithmus wird ein allgemein anwendbares Lösungsverfahren für eine Klasse von Problemen verstanden.

Heutzutage wird der Begriff fast ausschließlich im Zusammenhang mit der Programmierung speicherprogrammierter Digitalrechner verwandt, was auch für die folgenden Folien gilt.

Der Begri ff selbst geht auf den arabischen Gelehrten Muhammed al-Chwarizmi (mitunter auch als Al-Khowarizmi umschrieben) zurück, der etwa um 825 herum ein Lehrbuch über das Rechnen mit indischen Zi ffern (d.h. einem Stellenwertsystem) verfasste.

Kennzeichen von Algorithmen

Folgende Kennzeichen müssen erfüllt sein, damit ein Algorithmus ein Algorithmus ist:

  • Ausführbarkeit: Der Algorithmus muss (beispielsweise von einer Maschine) ausführbar sein.
  • (Statische) Finitheit: Der Algorithmus muss in endlicher Länge beschreibbar sein.
  • Dynamische Finitheit: Der Algorithmus darf während seiner Ausführung nur endlich viel Speicherplatz benötigen.
  • Terminierung: Der Algorithmus muss in endlicher Zeit zu einem Ergebnis kommen, darf also nur endlich viele Schritte ausführen.
  • Parametrisierbarkeit: Da Algorithmen ganze Problemklassen lösen sollen, muss das jeweils zu behandelnde konkrete Problem durch Parameter spezifi ziert werden können.
  • Determiniertheit: Unter gleichen Ausgangsbedingungen muss der Algorithmus gleiche Resultate liefern.
  • Determinismus: Zu jedem Zeitpunkt muss der nächste auszuführende Schritt des Algorithmus eindeutig sein.
  • Effizienz: Möglichst geringer (angemessener) Ressourcenverbrauch (Hauptspeicher, Externspeicher, Rechenzeit etc.).
  • Erweiterbarkeit: Der Algorithmus sollte hinreichend allgemein gehalten sein, um auch an (leicht) veränderte Problemstellungen angepasst werden zu können.
  • Portabilität: Ein Algorithmus sollte sich nach Moglichkeit nicht auf besondere Maschineneigenschaften verlassen.
  • Stabilität: Toleranz gegenüber Ausnahmesituationen.

 

Repräsentation von Algorithmen

Nachdem wir die Kennzeichen von Algorithmen zu Ende besprochen hatten, kamen wir zum Thema „Repräsentationen von Algorithmen“. Diese sind:

  • Natürliche Sprache (bspw. „Juristen-Deutsch“)
  • Graphische Repräsentation (bspw. Struktogramme, Programmablaufpläne)
  • Pseudocode
  • Reale Programmiersprachen (C, C++, Java, etc.)

Bei dem Inhalt der „Graphischen Repräsentation“ kann ich auf die Vorlesung „Prozedurale Programmiertechnik“ vom 12.10.2012 verweisen, da dieser fast identisch war.

Wir sind im Anschluss noch auf die Mechanismen von Such- und Sortier-Algorithmen eingegangen. An dieser Stelle sei auf das Video verwiesen, auf das uns ein Kommilitone aufmerksam gemacht hat. Der Inhalt des Dozenten im Video ist fast identisch gewesen zu dem, was unser Dozent von sich gegeben hat:

Algorithmen, Suchen und Sortieren, Bubble Sort, Quicksort, Laufzeit, O(n log(n))

Die Videos des Dozenten sind alle recht sehenswert und können eine gute Wiederholung darstellen. Den Kanal kann man sich gern abonnieren, er schadet auf jeden Fall nicht!

Weiter ging es mit Entscheidungstabellen, die gern zur Überprüfung und Visualisierung von Programmcode herangezogen werden. Danei verwies der Dozent darauf, dass unlogische Entscheidungen meist im Code nicht hinterlegt werden, da sie nie zum Einsatz kommen. Allerdings kann es sein, dass durch eine unternehmenspolitische Entscheidung der Code nicht flexibel genug ist, auf diese zu reagieren, und neu geschrieben werden muss.

Etwas intensiver ist unser Dozent noch auf das Landau-Symbol eingegangen, was ich, ehrlich gesagt, nicht so nachvollziehen konnte, da es sehr mathematisch wurde. Mal abgesehen davon, dass ich nach fast einer Woche nicht mehr genau weiss, was das war. Das muss ich nochmal nachholen!

Was ich auch noch nachholen muss, ist das Thema „deterministischen und nichtdeterministischen Maschinen„, was ich auch gerade nicht wiedergeben kann. Sorry!

Hinterlasse eine Antwort

FOM – Frankfurt am Main


Größere Kartenansicht

Registered @ …

blogoscoopBlogs BlogverzeichnisFreizeit und Unterhaltung Blogverzeichnis - Blog Verzeichnis bloggerei.deblogtotal.de - Social Networking Blog Top Liste - by TopBlogs.de


Online News Artikelfoxload.com