Mathematik in Informatik?
Tobi
- programmiertechnik
Gute Nacht
Immer wieder hört, liest etc. man, dass Informatiker gut in Mathematik sein müssen.
Nun, gibt es eine Programmiersprache, wo man richtig Mahtematik braucht? Ich meine, nicht 1+1 sondern, wo man auf mathematische Ebene das Hirn anstrengen muss ?
Oder könnt ihr mir sagen, wo ich in der Informatik Mathematik finde`?
Ich danke bestens.
Tobi
Halihallo Tobi
Gute Nacht
ebenfalls ;)
Immer wieder hört, liest etc. man, dass Informatiker gut in Mathematik sein müssen.
Stimmt.
Nun, gibt es eine Programmiersprache, wo man richtig Mahtematik braucht? Ich meine, nicht 1+1 sondern, wo man auf mathematische Ebene das Hirn anstrengen muss ?
Mathematik ist keine Konsequenz einer Programmiersprache, sondern der Aufgabenstellung.
Oder könnt ihr mir sagen, wo ich in der Informatik Mathematik finde`?
Mehr als du glaubst. Du unterliegst dem Irrtum, dass Informatik irgendwas mit
Programmieren zu tun hat. Das ist eben nicht so. Das Programmieren braucht man nur, um
Probleme, welche in der Informatik diskutiert werden, umzusetzen. Die Informatik
beschäftigt sich z. B. mit der Design, Verbesserung, Optimierung und Implementierung
(die Liste ist unvollständig!) von Algorithmen und hat primär nix mit Programmieren zu
tun. Das Programmieren kommt erst viel später (schlussendliche Implementierung eines
Algorithmus).
Ein Beispiel: Gesucht ist ein Algorithmus, welcher den kürzesten Weg zwischen zwei
Punkten eines Strassennetzes findet. Dies ist eine sehr komplexe Aufgabenstellung und
hat viel mit Bewerten (O-Notation sei hier genannt) von Algorithmen zu tun; dies
erfordert mathematische Kenntnisse und sehr viel "Erfindergeist". Hier sieht man auch
ganz schön: Mit welcher Programmiersprache man das umsetzt ist primär völlig irrelevant;
zuerst kommt eben die "Informatik", welche das Problem als solches untersucht und
optimiert; implementiert in einer (freiwählbaren) Programmiersprache wird das später.
Viele Grüsse
Philipp
Hallöchen,
ich darf mich zunächst meinem Vorredner anschließen, auch wenn ich selbst die Mathematik am Studiengang nicht so sehr schätze - Ich muss aber dennoch ihre Bedeutung anerkennen. Es gibt speziell die Grenzfälle von Mathematik (sei hier die Theorie von Automaten/Sprachen und Berechenbarkeit genannt) die für die Informatik enorm wichtig sind:
Was ist ein Compiler wert, wenn man keine Ahnung von der Theorie von Sprachen hat?
Wer weiß schon, ob ein Algorithmus korrekt terminiert wenn niemand in der Lage ist ihn zu analysieren (formell)?
Wie will man jemals einen Prozessor bauen (auch das ist ein Gebiet der Informatik) wenn man keine Ahnung von der Berechenbarkeit über Automaten hat --> Optimierung s.o.
Schließlich kann man auch nur in der Theorie so manche Probleme wirklich lösen. Klar, du kannst sagen "ich schreibe meine Sortieralgorithmen alle und nehme mir 10 - nein 100 - nein 1000 - nein 1.000.000 Zahlen und lasse sie alle laufen" - Dann sehe ich ja, welches der Schnellste ist.
a) Das mag z.T. stimmen, aber wer garantiert dir, dass das so bleibt, dass es da keine Worst-Cases gibt in denen das nicht stimmt.
b) Wer garantiert dir, dass es nicht einen schnelleren Algorithmus gibt? Es gibt dafür auch Berechenbarkeit, dort wird mathematisch erforscht worauf ein Sortieralgorithmus mindestens beruht, so dass man ungefähr sagen kann, wie lange er mindestens arbeiten muss.
Also, finde dich damit ab, durch das Grundzeugs muss man durch, und im Laufe der Semester erkennt man an vielen Stellen Dinge wieder die man schon mal irgendwo gehört hat - Geht mir jedenfalls so...
MfG
Rouven
Hi,
Es gibt speziell die Grenzfälle von Mathematik (sei hier die Theorie von Automaten/Sprachen und Berechenbarkeit genannt) die für die Informatik enorm wichtig sind:
die Bedeutung der Mathematik in der Informatik sieht man auch daran, dass die Theorien vieler Mathematiker in der Informatik höchste Bedeutung haben. Als Beispiel seien nur Eulerkreise genannt.
Cheatah
Moin,
Oder könnt ihr mir sagen, wo ich in der Informatik Mathematik finde`?
Informatik hat nichts bzw. nur am Rand etwas mit Programmieren oder Computern zu tun. Aus der ersten Vorlesung an der Uni dazu: "Informatik ist die Wissenschaft der Verarbeitung, Übertragung und Speicherung von Informationen". Das man da manchmal (okok, ziemlich häufig) einen Computer verwendet, und den gegebenenfalls auch noch programmieren muß ist eher Nebensache. Ähnlich wie in der Physik kann man "Informatik" machen, ohne zu wissen wie ein Computer eingeschaltet wird.
Anders herum geht es aber leider nicht. Du kannst nicht Software entwickeln ohne gewisse Grundkenntnisse von Mathematik und Theoretischer Informatik zu haben. Zum Beispiel kannst du nicht beweisen dass dein Suchalgorithmus optimal ist, ohne etwas über Komplexität zu wissen, oder einen Compiler[1] bauen ohne Grammatiken zu kennen.
Es gibt zwar Teile der Informatik die sich explizit mit Programmiersprachen oder Rechentechnik befassen, aber auch dafür brauchst du die theoretischen Grundlagen (Grammatiken für Programmiersprachen, Logik für digitale Schaltungen) und das ist nunmal Mathematik.
[1] Damit meine ich nicht nur das Ding was aus C-Quellcode ausführbaren Maschinencode macht. Auch der Teil deines Programms der die Konfigurationsdatei einliest, ist im wesentlichen ein Compiler.
Hi,
Informatik hat nichts bzw. nur am Rand etwas mit Programmieren oder Computern zu tun. Aus der ersten Vorlesung an der Uni dazu: "Informatik ist die Wissenschaft der Verarbeitung, Übertragung und Speicherung von Informationen". Das man da manchmal (okok, ziemlich häufig) einen Computer verwendet, und den gegebenenfalls auch noch programmieren muß ist eher Nebensache. Ähnlich wie in der Physik kann man "Informatik" machen, ohne zu wissen wie ein Computer eingeschaltet wird.
ein oft zitierter Vergleich: Der Informatiker ist der Architekt, der Programmierer der Maurer.
Unabhängig davon braucht sowohl der Informatiker als auch der Programmierer immer wieder Mathematikkenntnisse - oder zumindest das Verständnis, das Mathematikkenntnisse mit sich bringen. Und sei es letzten Endes nur bei der Frage, wie wahrscheinlich das Vorkommen einer bestimmten Wertekombination ist.
Noch etwas: Logisches Denken und Sprachfertigkeiten befinden sich in (fast) der selben Region des Gehirns. Wer (mathematisch-)logisch denken kann, ist zumeist auch in Sprachen bzw. deren Anwendung bewandert[1]. Programmierung ist die Anwendung von Sprachen in logischen Bahnen.
Cheatah
[1] Anders herum: Wer nicht mal in der Lage ist, einen vernünftigen Satz in seiner Muttersprache zu formulieren, hat in aller Regel auch arge Probleme damit, ein brauchbares Programm auf die Beine zu stellen. Bitte hierzu keine "aber"s - selbstverständlich spielen weitaus mehr Faktoren eine Rolle. Sprachbeherrschung ist nicht mehr als ein Indiz.
hi!
Immer wieder hört, liest etc. man, dass Informatiker gut in
Mathematik sein müssen.
Hm, man sollte zumindest ein gutes mathematisches Verständnis haben,
wenn es das ist, was du mit "gut in Mathe" meinst.
Nun, gibt es eine Programmiersprache, wo man richtig Mahtematik
braucht? Ich meine, nicht 1+1 sondern, wo man auf mathematische
Ebene das Hirn anstrengen muss ?
Dass Informatik ja nun nicht so viel mit Programmieren zu tun hat,
hat Philipp ja schon gesagt. Für imperative Programmiersprachen
braucht man in der Tat nicht besonders viel Mathe (außer vielleicht
Logik). Aber es gibt auch Programmiersprachen, die eher an mathem.
Formalismen angelehnt sind, zb. funktionale Sprachen. Und wenn man
versucht, einen Algorithmus zu optimieren, braucht man natürlich auch
Mathe.
Oder könnt ihr mir sagen, wo ich in der Informatik Mathematik
finde?
Lass mich so sagen: in meinem Studium (5. Semester jetzt) hatte ich
genau eine Informatik-Vorlesung, in der man eigentlich keine Mathe-
matik gebraucht hat -- das war die über Betriebssysteme. Alle anderen
waren entweder reine Mathe-Vorlesungen oder sehr viel angewandte
Mathematik.
Das kommt daher, dass Informatik fast schon ein Teilgebiet der
Mathematik ist, würde ich sagen. Tatsächlich ist Informatik ja nicht
viel anderes als die formale Beschreibung von Gegebenheiten der
reellen Welt mit mathematischen Methoden. (Reine Mathematik dagegen
beschäftigt sich eher mit rein theoretischen Erwägungen.)
bye, Frank!
Moin,
[...] Tatsächlich ist Informatik ja nicht
viel anderes als die formale Beschreibung von Gegebenheiten der
reellen Welt mit mathematischen Methoden.
hmm... das klingt an sich eher wie eine gute
Definition von Physik ;-)
Könnte man stattdessen nicht sagen
"eine formale Beschreibung von Gegebenheiten
in Computern (bzw. ... in $(übergeordneter Begriff, der
mir gerade nicht einfallen will))"?
Andererseits soll es im Hinblick auf die
sich abzeichnenden Entwicklungen im Bereich
Quantencomputer inzwischen auch schon
Vorlesungen über Quantenmechanik für Informatiker
geben...
Viele Grüße
Andreas
hi!
[...] Tatsächlich ist Informatik ja nicht viel anderes als die
formale Beschreibung von Gegebenheiten der reellen Welt mit
mathematischen Methoden.
hmm... das klingt an sich eher wie eine gute Definition von
Physik ;-)
Könnte man stattdessen nicht sagen "eine formale Beschreibung von
Gegebenheiten in Computern (bzw. ... in $(übergeordneter Begriff,
der mir gerade nicht einfallen will))"?
"Computer Science is no more about computers than astronomy is about
telescopes." -- Edsgar W. Dijkstra
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist die
Lösung von Problemen der realen Welt mit formalen Methoden? Ob das
im Computer oder auf einem Blatt Papier geschieht, ist ja egal (naja,
vielleicht nicht dem, der es auf Papier ausrechnen muss). Und damit
man formale Methoden darauf anwenden kann, braucht man natürlich auch
eine formale Beschreibung, wofür sich die Mathematik ziemlich gut
eignet.
bye, Frank!
Hallo Frank,
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist die
Lösung von Problemen der realen Welt mit formalen Methoden?
Hm... dabei fällt mir nur dieses äußerst wichtige Problem der realen Welt ein -was nebenbei ein heissgeliebtes Bsp. in der Informatik ist- , nämlich das ausrechenen der Schritte der Läufer beim Schach und zwar so dass der jedes Feld betreten werden muss, aber nur einmal betreten werden darf.
;-)
Grüße
Thomas
Hi Thomas,
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist die
Lösung von Problemen der realen Welt mit formalen Methoden?
Hm... dabei fällt mir nur dieses äußerst wichtige Problem
"wichtig" ist eine subjektive Wertung, gemäß Deines Kontexts.
Glaubst Du, die Beschäftigung mit Problemen, deren Relevanz Du zufällig gerade mal nicht einsiehst, sei eine Besonderheit irgend einer bestimmten (wissenschaftlichen) Disziplin?
ausrechenen der Schritte der Läufer beim Schach
Knapp vorbei gelaufen ist auch daneben gesprungen. ;-)
Und außerdem: Ein wesentliches Element der Informatik besteht in der Erkenntnis der Äquivalenz von Problemen und der Transformation der entsprechenden Lösungsmethoden auf äquivalente Probleme. Du wirst Dir also in vielen Fällen gar nicht bewußt sein, ob ein Problem für Dein persönliches Leben relevant ist oder nicht.
Viele Grüße
Michael
Hallo Michael,
"wichtig" ist eine subjektive Wertung, gemäß Deines Kontexts.
Genau ;-)
Glaubst Du, die Beschäftigung mit Problemen, deren Relevanz Du zufällig gerade mal nicht einsiehst, sei eine Besonderheit irgend einer bestimmten (wissenschaftlichen) Disziplin?
Ob ich nun die Relevanz nicht einsehe, oder das Bsp. in der Tat keine Relevanz hat, wäre eine philosophische Frage.
(Ob eine "Fingerübung", die zur Verständnis von Strukturen beitragen kann, später einem Informatiker eine großartige Entdeckung ermöglicht gehört wohl auch in diese Kategorie)
ausrechenen der Schritte der Läufer beim Schach
Knapp vorbei gelaufen ist auch daneben gesprungen. ;-)
*hehe* natürlich meinte ich den Springer :-)
Und außerdem: Ein wesentliches Element der Informatik besteht in der Erkenntnis der Äquivalenz von Problemen und der Transformation der entsprechenden Lösungsmethoden auf äquivalente Probleme. Du wirst Dir also in vielen Fällen gar nicht bewußt sein, ob ein Problem für Dein persönliches Leben relevant ist oder nicht.
Sagen wir so, es gibt manche Fragestellungen die mich mit großer Wahrscheinlichkeit nie wirklich berühren werden (bitte hier keinen Verweis auf "du hast bereits Wahrscheinlichkeitsrechnung betrieben"!). Anderseits, ich habe auch über dieses Bsp. vor einige Jahren was ähnliches gesagt und siehe da: genau dieses Problem kann man auch mit XSLT aufarbeiten. Womit nicht gesagt sei, dass ich dabei alles verstanden hätte ;-)
Grüße
Thomas
Hallo Thomas,
"wichtig" ist eine subjektive Wertung, gemäß Deines Kontexts.
Genau ;-)
wenn Du mir hier schon zustimmst, ...
Glaubst Du, die Beschäftigung mit Problemen, deren Relevanz Du zufällig gerade mal nicht einsiehst, sei eine Besonderheit irgend einer bestimmten (wissenschaftlichen) Disziplin?
Ob ich nun die Relevanz nicht einsehe, oder das Bsp. in der Tat keine Relevanz hat, wäre eine philosophische Frage.
... kann es dann eine "objektive Relevanz" überhaupt noch geben?
Viele Grüße
Michael
Hallo Michael,
Ob ich nun die Relevanz nicht einsehe, oder das Bsp. in der Tat keine Relevanz hat, wäre eine philosophische Frage.
... kann es dann eine "objektive Relevanz" überhaupt noch geben?
Objektiv gesehen? Nein.
Nachdem "Relevanz" Belang, Erheblichkeit, Wichtigkeit bedeutet nicht, denn Relevanz stellt auch immer einen Bezug zu etwas/jemanden dar und sobald ein Bezug da ist, kann man nicht mehr von "objektiv" sprechen. ;-)
Grüße
Thomas
Hi Thomas J.S.,
Ob ich nun die Relevanz nicht einsehe, oder das Bsp. in der Tat keine Relevanz hat, wäre eine philosophische Frage.
... kann es dann eine "objektive Relevanz" überhaupt noch geben?
Nachdem "Relevanz" Belang, Erheblichkeit, Wichtigkeit bedeutet nicht, denn Relevanz stellt auch immer einen Bezug zu etwas/jemanden dar und sobald ein Bezug da ist, kann man nicht mehr von "objektiv" sprechen. ;-)
Und wenn es "die Relevanz" objektiv nicht geben kann, dann können wir offenbar auch nicht darüber philosophieren, ob etwas eine Relevanz hat - Du kannst nur einsehen, daß ich das glaube, oder eben nicht. ;-)
Viele Grüße
Michael
hi!
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist
die Lösung von Problemen der realen Welt mit formalen Methoden?
Hm... dabei fällt mir nur dieses äußerst wichtige Problem der realen
Welt ein -was nebenbei ein heissgeliebtes Bsp. in der Informatik
ist- , nämlich das ausrechenen der Schritte der Läufer beim Schach
und zwar so dass der jedes Feld betreten werden muss, aber nur
einmal betreten werden darf.
Falls du das Springer-Problem (nicht Läufer) meinst: dazu habe ich
sogar im ersten Semester mal ein Programm zur Lösung geschrieben. Aber
ob das so erkenntnisreich und sinnvoll ist?
Bekannter ist aber doch eigentlich das Damenproblem, oder? Dabei muss
man n Damen auf einem n*n-Schachfeld (zb. für n=8) verteilen, ohne
dass zwei der Damen sich gegenseitig bedrohen.
bye, Frank!
Hi Frank,
Falls du das Springer-Problem (nicht Läufer) meinst: dazu habe ich
sogar im ersten Semester mal ein Programm zur Lösung geschrieben. Aber
ob das so erkenntnisreich und sinnvoll ist?Bekannter ist aber doch eigentlich das Damenproblem, oder? Dabei muss
man n Damen auf einem n*n-Schachfeld (zb. für n=8) verteilen, ohne
dass zwei der Damen sich gegenseitig bedrohen.
das aus der Sicht des Informatikers daran Interessante ist, daß diese beiden Beispiele für recht unterschiedliche Arten von Problemen herhalten, die nur äußerlich aufgrund des gemeinsamen Anwendungsfeldes (Schach) verwandt aussehen:
Das Springerproblem ist eine schöne Veranschaulichung einer einfachen Rekursion innerhalb einer entsprechenden, ziemlich naheliegenden Datenstruktur, wobei das "Ziehen" des Springers für den Anfänger eine nette Fingerübung für die Codierung abstrakter Informationen in einem konkreten (und nur endlich großen) Koordinatensystem darstellt;
das Damenproblem dagegen besteht im Wesentlichen aus dem Entwurf der geeigneten Datenstruktur (wie repräsentiert man Diagonalen?), während die Damen hierbei ja nicht "ziehen", sondern "vom Himmel fallen" (das ist etwas einfacher). Das ist schon ein recht gutes Beispiel für eine richtige Programmentwicklung mit Problemanalyse, Datenmodellierung, Codierung und Performance-Tuning (durch rechtzeitiges Beschneiden des Traversierungsbaums).
Gemeinsam haben die Probleme den Trade-Off zwischen Performance und Code-Einsparung bei der Buchführung (Value-Parameter oder manuelle Ausführung/Rücknahme der "Züge").
Die konkreten Datenstrukturen unterscheiden sich aber (bei einer jeweils eleganten Lösung) erheblich: Der Springer läuft auf einem 'richtigen' Schachbrett herum, die Dame jedoch ordnet die Datenstruktur ihren eigenen Fähigkeiten unter.
Diese Abstraktionsfähigkeit bei der Abbildung eines Anwendungsfalles auf ein darunterliegendes Problem und die Erkennung von Gemeinsamkeiten bzw. Unterschieden ist es, welche durch den Umgang mit Mathematik (oder auch mit abstrakten Vorgängen wie Schach selbst) geschult wird - ohne daß in beiden Fällen mehr als elementare Arithmetik an konkreten Vorkenntnissen erforderlich wäre.
Viele Grüße
Michael
hi!
- das Damenproblem dagegen besteht im Wesentlichen aus dem Entwurf
der geeigneten Datenstruktur (wie repräsentiert man Diagonalen?),
während die Damen hierbei ja nicht "ziehen", sondern "vom Himmel
fallen" (das ist etwas einfacher). Das ist schon ein recht gutes
Beispiel für eine richtige Programmentwicklung mit Problemanalyse,
Datenmodellierung, Codierung und Performance-Tuning (durch
rechtzeitiges Beschneiden des Traversierungsbaums).
Der Trick ist, eine Programmiersprache zu wählen, die selbständig im
richtigen Moment für die Beschneidung sorgt... ;)
bye, Frank!
Hallo Michael,
- das Damenproblem dagegen besteht im Wesentlichen aus dem Entwurf der geeigneten Datenstruktur (wie repräsentiert man Diagonalen?),
x1,y1;x2,y2
während die Damen hierbei ja nicht "ziehen", sondern "vom Himmel fallen" (das ist etwas einfacher).
Das spielte keine Rolle, solange ich "meine" Linien habe.
Aber ich bin auch kein Informatiker ;-)
Grüße
Thomas
Hi Thomas,
- das Damenproblem dagegen besteht im Wesentlichen aus dem Entwurf der geeigneten Datenstruktur (wie repräsentiert man Diagonalen?),
x1,y1;x2,y2
äh - ich hätte jetzt die Deklaration einer Datenstruktur erwartet oder etwas Vergleichbares.
Das normale Schachbrett bei der Springer-Aufgabe wird ja typischerweise als array ['A'..'H', 1..8] of boolean repräsentiert. (Ich _liebe_ PASCAL ... :-)
Bei der Damen-Aufgabe braucht man das nicht: Wenn man die Fähigkeiten der Dame analysiert, dann weiß man, daß jede Dame die Zeile, die Spalte und die beiden Diagonalen durch ihr Feld bedroht.
Also repräsentiert man auch nur genau diese Daten - durch zwei Arrays [1..8] of boolean für die Zeilen und Spalten sowie durch ... zwei Arrays [-7..7] für die beiden Arten von Diagonalen. Diese Koordinatentransformation macht das Arbeiten sehr viel angenehmer: Pro "Platzieren" einer Dame muß man gerade mal vier Flags prüfen bzw. setzen.
Bei der Damen-Aufgabe sieht die Datenstruktur also ganz anders aus und hat mit dem normalen Schachbrett nichts mehr zu tun - dafür muß man dann aber keine Logik implementieren, die beispielsweise prüft, ob zwei Damen auf derselben Diagonale stehen.
Viele Grüße
Michael
Hallo Michael,
äh - ich hätte jetzt die Deklaration einer Datenstruktur erwartet oder etwas Vergleichbares.
:-)
Ich habe ja gesagt, dass ich kein Informatiker bin.
Bei der Damen-Aufgabe sieht die Datenstruktur also ganz anders aus und hat mit dem normalen Schachbrett nichts mehr zu tun - dafür muß man dann aber keine Logik implementieren, die beispielsweise prüft, ob zwei Damen auf derselben Diagonale stehen.
Ich glaube das ist eine der Gründe warum ich nicht unbedingt Informatik lernen möchte. Ich habe festgestellt, dass ich zu vielen Dingen (in der Inf.) einen anderen Zugang habe, als man es lehrt ;-)
Deshalb hat es mich in Mathe. auch immer mehr die Möglichkeit interessiert, wie man "koplizierte" Rechnungen mit "Tricks" abkürzen kann ;-)
Grüße
Thomas
ps: natürlich kann man darüber philosophieren, ob es sowas wie eine obejaktive Relevanz gibt ;-)
Hallo Frank,
Falls du das Springer-Problem (nicht Läufer) meinst: dazu habe ich
sogar im ersten Semester mal ein Programm zur Lösung geschrieben. Aber
ob das so erkenntnisreich und sinnvoll ist?
Ja, meinte ich. Und ich meinte eben dieselbe Frage zu stellen wie du.
Grüße
Thomas
Moin,
"Computer Science is no more about computers than astronomy is about
telescopes." -- Edsgar W. Dijkstra
Schöner Vergleich, kannte ich noch nicht...
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist die
Lösung von Problemen der realen Welt mit formalen Methoden?
Mir gefällt der direkte Bezug zur realen
Welt noch nicht so ganz...
Anderer Vorschlag: Naturwissenschaften wie Chemie,
Biologie, Physik, ... beschreiben Probleme der
realen Welt mit Hilfe von numerischen (oder
zahlentheoretischen oder wie auch immer) Modellen.
Hierbei werden i. d. R. bereits viele
"Neben"-Aspekte der realen Welt unter den Teppich
gekehrt. In der Informatik dagegen geht es
um Methoden/Algorithmen, mit denen diese
Modelle berechnet werden können.
Dabei spielen auch Effizienzbetrachtungen eine
Rolle, während es einem Mathematiker manchmal
ausreicht, dass eine Lösung im Prinzip exisitert.
Vielleicht fällt Dir ja noch eine
bessere "Iteration" dazu ein... ;-)
Viele Grüße
Andreas
hi!
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist
die Lösung von Problemen der realen Welt mit formalen Methoden?
Mir gefällt der direkte Bezug zur realen Welt noch nicht so
ganz...
Im Gegensatz zur Mathematik ist das aber doch Sinn der Informatik.
Wenn man sich seine Probleme, die man lösen will, selber ausdenkt,
ist es Mathematik, ansonsten Informatik... ;)
Anderer Vorschlag: Naturwissenschaften wie Chemie, Biologie,
Physik, ... beschreiben Probleme der realen Welt mit Hilfe von
numerischen (oder zahlentheoretischen oder wie auch immer)
Modellen.
In der Informatik dagegen geht es um Methoden/Algorithmen, mit
denen diese Modelle berechnet werden können.
Nicht nur "berechnet", sondern auch weiter damit "gerechnet". Und es
gibt auch in all diesen Gebieten Anwendungen für die Informatik. Was
ist denn dann der Unterschied zwischen der Informatik und den reinen
Wissenschaften, wenn man die Computer mal außen vor lässt? ;)
Dabei spielen auch Effizienzbetrachtungen eine Rolle, während es
einem Mathematiker manchmal ausreicht, dass eine Lösung im Prinzip
exisitert.
Ok, vielleicht nehmen wir das mit rein. In unserem Informatik-Skript
steht sowas wie "die eigentümliche Leistung der Informatik ist es,
Dinge in Rechenaufgaben zu verwandeln, die es von Natur aus nicht
sind". Und das alles hat den Sinn, langweilige Rechnungen, die man
früher nur von Hand oder gar nicht machen konnte, auf Computer zu
übertragen.
Ich will aber lieber die Computer aus der Definition raushalten.
Gemein! ;)
Und noch ein Link:
http://www.gi-ev.de/informatik/was_ist_informatik/index.html
Vielleicht fällt Dir ja noch eine bessere "Iteration" dazu ein...
;-)
Nicht wirklich... ;)
bye, Frank!
Hi Andreas,
Vielleicht bist zu zufriedener, wenn ich sage, Informatik ist die
Lösung von Problemen der realen Welt mit formalen Methoden?
Mir gefällt der direkte Bezug zur realen Welt noch nicht so ganz...
mir schon. Denn das ist es, was der Systemanalytiker hauptsächlich tut.
Programmieren ist dessen Job definitiv nicht - so etwas delegiert man an das Fußvolk. ;-)
Viele Grüße
Michael
Hallo,
Mathe ist besonders im Vordiplom ein großer Teilbereich und ich muss auch sagen, dass viele deswegen am Informatikstudium gescheitert sind (bei uns jedenfalls). Gerade für später braucht man viel Mathematik: Differentialgleichungen für Robotik, fast alles für Computergraphik etc.
Dazu muss ich auch sagen, dass ich in meinem Informatikstudium keine Vorlesung für eine Programmiersprache hatte. Es gab nur eine Vorlesung Programmieren, in der man die verschiedenen Prinzipien OOP bzw. prozedural oder funktional gelernt hatte.
Das heißt natürlich nicht, dass man Programmiersprachen nicht braucht. Es wird erwartet, dass man die sich selbst beibringt.
Gruß,
Henning
Hi Tobi,
Immer wieder hört, liest etc. man, dass Informatiker gut in Mathematik sein müssen.
full ACK.
Nun, gibt es eine Programmiersprache, wo man richtig Mathematik braucht? Ich meine, nicht 1+1 sondern, wo man auf mathematische Ebene das Hirn anstrengen muss ?
Am ehesten in SQL - da wirst Du ohne solide Kenntnisse der Mengenlehre auf die Dauer nicht wirklich glücklich werden. Vielleicht auch in Assembler - da bist Du ohne Kenntnisse über Zahldarstellungen und überhaupt Numerische Mathematik manchmal ziemlich aufgeschmissen. Für bestimmte Anwendungsfälle, etwa bei Codierungen, ist es sehr hilfreich, die entsprechenden mathematischen Grundlagen (beispielsweise über die Bestimmung großer Primzahlen) zumindest im Prinzip verstanden zu haben. Alles, was mit Sicherheit und Performance (und damit letzten Endes sogar Lösbarkeit) zusammenhängt, erfordert mathematische Berechnungen.
Oder könnt ihr mir sagen, wo ich in der Informatik Mathematik finde`?
Überall. So wie Physik eine Wissenschaft ist, welche im Wesentlichen praktische Anwendungen der Mathematik auf die Realität durchführt, ist das mit der Informatik nicht viel anders (wobei man dort über den Begriff "Realität" trefflich streiten könnte). Während Du für Physik aber vor allem Analysis brauchst, wirst Du bei Informatik am deutlichsten auf Algebra nicht verzichten können.
In der Informatik werden viele Sachverhalte als mathematische Gebilde beschrieben. Ich bringe mal zwei (wahrscheinlich nicht sehr gute) Beispiele:
1. Bei der mathematischen Betrachtnug von Körpern und Ringen geht es nicht mehr darum, zwei Zahlen zu addieren, sondern darum, das Wesen der Addition an sich zu begreifen und daraus deren Eigenschaften abzuleiten. Du gehst also eine Ebene höher, abstrahierst von der konkreten Rechnung zur abstrakten Methode - möglichst ohne dabei den Boden unter den Füßen zu verlieren.
2. Beim Verständnis von Zahlensystemen mit beliebigen Basiswerten, etwa der binären oder der sedezimalen Darstellung, geht es nicht mehr darum, was eine konkrete Ziffernfolge bedeutet, sondern welche Eigenschaften solche Ziffernfolgen und deren Bedeutungen angesichts eines gegebenen Bedeutungssystems überhaupt haben können.
Die Fähigkeit zu solche Betrachtungen ist sehr hilfreich bei der algorithmischen Lösung von Problemen. Denn in den meisten Fällen willst Du bei der Realisierung von Software nicht nur einen einzigen Anwendungsfall berücksichtigen, sondern "jeden denkbaren" - was voraussetzt, daß Du eben "denken" kannst, welche Fälle überhaupt in Frage kommen, und nach Möglichkeit sogar beweisen (!), daß Du keinen Fall übersehen hast.
Zudem ist es hilfreich, ausrechnen zu können, wie viele Operationen Dein Programm zur Lösung eines bestimmten Problems benötigen wird ... ja, die Rechner _sind_ heute 'schnell', und in 9 von 10 Fällen wird Dir ein schlechter algorithmischer Ansatz nicht weh tun, aber im zehnten um so mehr. Eine Handvoll Zehnerpotenzen (!) an Geschwindigkeit sind schneller aus dem Fenster geworfen, als Du glaubst.
Deshalb ist der Umgang mit den abstrakten Elementen dessen, was Du als Mathematik kennst, in der Informatik (und in gewissem Umfang auch in der Programmierung) unverzichtbar.
Analysis, also der (zu meiner Zeit) typische Oberstufen-Stoff, brauchst Du nach meiner Erfahrung überhaupt nicht (abgesehen davon, daß das ständige Beweisen von Sätzen die Abstraktionsfähigkeit schult); Wahrscheinlichkeitstheorie ist da schon viel wertvoller (Erwartungswerte ausrechnen kann man oft brauchen), und ohne den Willen, abstrakte Gebilde (seien das Algorithmen oder Datenstrukturen oder Formale Sprachen oder was auch immer) als solche verstehen und manipulieren zu können, wirst Du bei der Hälfte aller Informatik-Disziplinen Probleme bekommen. Und von dem, was in der Schul-Mathematik überhaupt gelehrt wird, kommt Algebra (auch Lineare Algebra) dieser Denkweise am nächsten (ohne daß Informatik jedoch inhaltlich direkt auf diesem Stoff aufbauen würde - letzteres gilt praktisch für die komplette Oberstufenmathematik, in der Informatik m. E. viel mehr als in der Physik).
Viele Grüße
Michael
Tach!
Für alle Informatiker (die, die es sind, es gerne sein würden, sein möchten, oder noch werden wollen) und alle anderen:
Da ich in diesem Thread soviel über theoretsiche Informatik, Grammatiken etc. lese, mal was für alle, die sich mehr oder weniger mit eben solchen Thematiken auseinander setzen (müssen | wollen | dürfen | ):
http://www.edvservices.de/jan/quatsch/01/elalpha.html
Gruss,
Marc