Autor |
Beitrag |
Gewuerzgurke
      
Beiträge: 152
Win XP
Lazarus
|
Verfasst: Do 17.09.09 18:21
Hallo, wir haben jetzt endlich Informatik in der Schule und was machen wir? - Was Sonst? - Pseudocode und Struktogramme!
Ich finde das ziemlich trocken. Ob sinnvoll oder nicht, die meisten in der Klasse haben noch nie programmiert und keine Vorstellung davon, wie Computer arbeiten. Die Anfänger-Programmierer-Probleme sind doch eher "Wie macht man ein 'Hello World'?" oder "Wie schreibe ich eine eigene Funktion?" usw. Deswegen finde ich diese Theorie ziemlich sinnlos.
Wie steht ihr dazu?
Wer benutzt regelmäßig Pseudocode?
Und Wann?
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Do 17.09.09 18:32
Pseudocode eignet sich gut, wenn man anderen die Funktionsweise eines Algorithmus vermitteln möchte. Man ist keinen Einschränkungen unterlegen und kann den Algorithmus gut und übersichtlich formulieren. Struktogramme habe ich noch nie benutzt.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 17.09.09 18:34
Informatik ist nicht dasselbe wie programmieren. Wenn ihr in der Schule nicht direkt programmiert, sondern erstmal die prinzipiellen Algorithmen kennenlernt, dann ist das kein Makel des Unterrichts, sondern in meinen Augen einfach nur klasse. 
_________________ We are, we were and will not be.
|
|
Flamefire
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: Do 17.09.09 19:54
richtig...
denn programmieren lernen kann jeder der lust hat. aber das grundwissen wie die algorhytmische idee zu finden und zu verstehn muss man erst beigebracht kriegen.
es gibt viel zu viele (z.b. hier im forum) die mit fragen kommen á la "warum geht das hier nicht?"
und wenn man denen dann sagt, die sollen das in pseudocode oder irgendwie anders sprachlich formulieren und so ihre umsetzung überprüfen (was das problem sofort ins auge springen lässt) wissen sie nicht was sie machen sollen
auch fehlt meist die eigeninitiative eine idee zu finden...wenn man keine grundalgorhytmen kennt, kann das nicht klappen
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Do 17.09.09 19:57
Ich mach jetzt mal ein Statement:
ein echter Informatiker braucht keinen Computer! ZEttel und Papier reichen aus. Der Computer ist ein Werkzeug des Informatikers.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 17.09.09 20:30
Hi
Tilo hat folgendes geschrieben : | Ich mach jetzt mal ein Statement:
ein echter Informatiker braucht keinen Computer! Zettel und Papier reichen aus. Der Computer ist ein Werkzeug des Informatikers. |
Das ist sowohl richtig als auch tragisch falsch
Anfänger verlieren sich manchmal in einem unstrukturierten "ich mach einfach mal". Dann sollte wirklich zuerst ein Konzept erstellt werden.
Andererseits macht natürlich das meißte ohne Computer wenig Sinn, und das Potenzial der Wissenschaft Informatik liegt auch dort. Anfänger wollen nicht zuletzt auch Resultate sehen, da motiviert ein Computer enorm.
Wir arbeiten jetzt seit mehreren Monaten ohne Computer(wechselnd wegen Entropie im Universum und zusätzlicher Heizleistung im Raum, wo es schon so warm ist) und besprechen zur Zeit das OSI-Schichtenmodell. Das ganze sieht dann so aus, dass der Rest des Kurses nicht zuhört und ich es aus Forum und Wikipedia kenne. Nicht, dass ich es aus den Erläuterungen meines Lehrers verstehen würde, der es offenbar selbst nicht verstanden hat und abliest. Heute ist er dann an der Erstellung einer TFormsApplication gescheitert, weil wir in der Schule ja unbedingt zig Units verwenden müssen, die tief in die Vorlagen und Grundunits eingreifen und unter anderem Komponenten euf Deutsch umbenennen, etc  .
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Do 17.09.09 20:42
Der Weg ist steinig, das Eichhörnchen ernährt sich mühsam, aller Anfang ist schwer, es gibt mehrere Sprichworte, die für Deine Situation passen, Gewuerzgurke.
Gewuerzgurke hat folgendes geschrieben : | Deswegen finde ich diese Theorie ziemlich sinnlos.
Wie steht ihr dazu? |
Ohne theoretische Basis (oder Überbau, je nach Betrachtung) bricht das alles spätestens bei fortgeschritten mittelgroßen Programmen zusammen. Wenn man nicht verzweifelt und verzagt, sondern sich aufrafft, dann bleibt einem spätestestens ein solches Struktogramm als letzte Rettung. Nicht jeder kann sich einen umfangreichen Algorithmus pseudovisuell (oder wie sonst auch noch) in seinem Geiste vorstellen.
Gewuerzgurke hat folgendes geschrieben : | Wer benutzt regelmäßig Pseudocode?
Und Wann? |
Ich gebe zu, daß ich es bisher (nur) ein einziges Male tat, und zwar ohne die Absicht, das auch als Programm umzusetzen - der Algorithmus interessierte mich einfach, und es war eine elende Quälerei auf dem Papier. Es ging mal um die Ermittlung des ggT (größten gemeinsamen Teilers), und zwar nicht nur von zwei natürlichen Zahlen, das wäre ja mit dem Euklid'schen Algorithmus noch reichlich einfach, sondern mit beliebig vielen Zahlen (inspiriert von meinem Geschriebsel, werde ich das gleich mal wieder hervorkramen). Umgesetzt habe ich das Programm bis heute nicht. Allein die Platzaufteilung auf dem Papier ließ mich mehrere Versionen erstellen. Mit einer geeigneten Software wäre es sicher bequemer gewesen.
Weiß jemand, ob es eigens Programme zur Erstellung von PAPs (Programmaublaufplänen) und/oder, noch besser, von Struktogrammen gibt?
Gausi scheint Informatiker zu sein, der könnte darob sicher noch viel mehr philosophieren.
In der Informatik geht es übrigens nicht nur um Algorithmen (was noch ziemlich mathematisch ist), sondern auch um informationstheoretische Betrachtungen, um Datenstrukturen und - weil es ja auch und vor allem eine Technikwissenschaft ist - die technische Umsetzung von allem inkl. solch realer Dinge wie Raum, Zeit, Technik, Personal, Kosten.
@Tilo: Der Informatiker als Turing-Maschine?! 
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 17.09.09 20:58
Delphi-Laie hat folgendes geschrieben : | Gausi scheint Informatiker zu sein, der könnte darob sicher noch viel mehr philosophieren. |
So halb.  Studiert habe ich Mathematik mit Nebenfach Informatik, worauf ich den Studienschwerpunkt gelegt habe. Die Diplomarbeit ging (mal ganz platt gesagt), wie man Pos schneller machen kann, wie man ein MultiPos hinbekommt und wie es mit UngefährPos aussieht. Dafür habe ich diverse Algorithmen untersucht, in Pseudocode formuliert, ihre Korrektheit und theoretische Laufzeit gezeigt, sie implementiert und die realen Laufzeiten gemessen (man, habe ich da die CPU gebraten  ). Aktuell arbeite ich am Institut für Informatik und habe hoffentlich irgendwann mal einen Dr. rer. nat.
Kurz: Ja, ich könnte darüber noch einiges philosophieren, hab ich auch schon hier und da getan, das hier ist ja nicht das erste Topic seiner Art. Vielleicht mal platt formuliert: Programmieren hat mit Informatik soviel zu tun wie der meisterhafte Umgang mit Zirkel und Geodreieck mit Mathematik. (Vergleiche hinken immer, der wahrscheinlich auch.  )
_________________ We are, we were and will not be.
|
|
Gewuerzgurke 
      
Beiträge: 152
Win XP
Lazarus
|
Verfasst: Do 17.09.09 21:48
Was ich problematisch finde ist, dass wir erstmal Möglichkeiten zum darstellen komplizierter Algorithmen lernen, noch bevor irgendwer weiß, wofür man das überhaupt braucht. Deswegen stehen dann im Pseudocode haufenweise Sachen wie "Gleichung nach x auflösen", die der Computer nicht verwerten könnte. Mit praktischer Erfahrung würde sich so was erübrigen.... Und dann auch der Pseudocode Sinn machen.
Ok, bis jetzt hatten wir sowieso unsere Computerzugangsdaten noch nicht. Aber ich höre auch von anderen Schulen, dass erstmal Pseudocode gelehrt wird und wenn es dann endlich an PC geht, haben die meisten Informatik längst als *langweilig* abgehakt.
Ich fänd's besser, wenn wir den Pseudocode gleichzeitig mit dem Programmieren lernen würden.
Wir machen auch nur VBA 
|
|
jaenicke
      
Beiträge: 19317
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 17.09.09 22:06
|
|
Gewuerzgurke 
      
Beiträge: 152
Win XP
Lazarus
|
Verfasst: Do 17.09.09 22:09
Hmpf! Ja, schon. Erst hieß es C++, aber dann -.-
Irgendwie habe ich den Eindruck, dass es für Informatik keine einheitlichen Lehrpläne gibt.
Die einen machen HTML, die anderen Pascal, wieder welche Java...
Und auch die, die HTML machen, lernen erstmal Pseudocode 
Zuletzt bearbeitet von Gewuerzgurke am Do 17.09.09 22:13, insgesamt 1-mal bearbeitet
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Do 17.09.09 22:10
also ich denke theorie is schon sinnvoll, jedoch sollte man zeitgleich etwas praxis lernen um dann auch die theorie zu vertiefen.
auf der uni zum beispiel hatte ich von meinen 2 semestern gerade mal eine Lehrveranstaltung wo es nur ums programmieren ging. der rest war theorie, was auch gut so ist.  immerhin geht es beim wissen nicht immer nur ums know-how sondern auch ums know-why und ums know-how-it-works-and-way-to-improve-this-code.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Gewuerzgurke 
      
Beiträge: 152
Win XP
Lazarus
|
Verfasst: Do 17.09.09 22:14
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 18.09.09 02:02
Zitat: | Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere der automatischen Verarbeitung mit Hilfe von Rechenanlagen. |
Das Programmieren ist eigentlich nur ein Abfallprodukt der Informatik.
Zitat: | Die Theoretische Informatik beschäftigt sich mit der Theorie formaler Sprachen bzw. Automatentheorie, Berechenbarkeits- und Komplexitätstheorie, Graphentheorie, Kryptologie, Logik (u. a. Aussagenlogik und Prädikatenlogik), formaler Semantik und bietet Grundlagen für den Bau von Compilern von Programmiersprachen und die mathematische Formalisierung von Problemstellungen. Sie ist somit das formale Rückgrat der Informatik. |
Informatik hat wesentlich mehr mit der menschlichen Sprache zu tun, als man allgemein hin annimmt. Deswegen hat die Informatik vieles aus der Sprachwissenschaft übernommen bzw. die Sprachwissenschaften bilden eine Grundlage der Informatik. Denn in der Informatik geht es um Informationsverabeitung und nichts anderes ist Sprache.
Ihr beschäftigt euch zur Zeit mit dem Teilgebiet der Algorithmen, auch ein Teil der Informatik. Und wen nihr dann nachher richtig programmiert wird euch das sehr helfen. Denn das Umsetzen in Programmcode ist nichts anderes als den Pseudocode in eine andere Sprache, die Programmiersprache, zu übersetzen. Und ob ich nun im Pseudocode "wenn dann" schreibe oder später "if the else" ist kein großer Unterschied. Insofern macht euer Lehrer genau das, was der Name des Unterrichtsfach bezeichnet, nämlich Informatik. Zu lernen wie man Serienbriefe mit Word schreibt, ist in dem Sinne kein Informatikunterricht.
In der Informatik geht es also erst an Zweiterstelle um das Programmieren. Deswegen mein Rat, wenn du wirklich mal Programmieren willst, solltest du Fachinformatik lernen und nicht unbedingt ein Studium machen.
(Zitate aus der Wikipedia.)
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Fr 18.09.09 07:35
Hi
Um meine Stellungnahme noch einmal zu revidieren: Das Entwerfen eines Programmes besteht bei mir hauptsächlich aus Pseudocode.
Diesen entwickle ich aber durchaus am Computer. Ich schreibe dann zunächst eine grobe Prozedur für die benötigte Funktion:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure NimmAdressenAuf(); begin LeseZahlenEin; PrüfeInput; SchreibeInDatenbank; GibIDERueckmeldung; end; |
Dann implementiere ich die verwendeten Prozeduren oder ersetze sie bei wenig Quelltext durch einen Kommentar und füge den Source direkt ein.
Was ich voraussichtlich nur dieses Mal brauche, kommt in eine Subprozedur, der Rest in eine eigene. So ist der Quelltext dann auch anderen Lesern wahrscheinlich verständlich und außerdem teile ich mir die Arbeit in leicht zu wartende und schnell implementierbare Häppchen auf. Ab einem gewissen, geringen Komplexitätsgrad sehen die verwendeten Schrittchenprozeduren natürlich wieder genauso aus und bestehen ihrerseits wieder aus Schritten.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 18.09.09 07:50
Gewuerzgurke hat folgendes geschrieben : | Irgendwie habe ich den Eindruck, dass es für Informatik keine einheitlichen Lehrpläne gibt.
Die einen machen HTML, die anderen Pascal, wieder welche Java...
Und auch die, die HTML machen, lernen erstmal Pseudocode  |
Irgendwie hab ich den Eindruck, dass es für Handwerker keine einheitlichen Lehrpläne gibt. Die einen nehmen Kingcraft, die anderen Bosch, wieder welche Hilti...
Und auch die, die Kingcraft nehmen, lernen erstmal Grundlagen.

_________________ We are, we were and will not be.
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 18.09.09 12:30
Gewuerzgurke hat folgendes geschrieben : | Was ich problematisch finde ist, dass wir erstmal Möglichkeiten zum darstellen komplizierter Algorithmen lernen, noch bevor irgendwer weiß, wofür man das überhaupt braucht. Deswegen stehen dann im Pseudocode haufenweise Sachen wie "Gleichung nach x auflösen", die der Computer nicht verwerten könnte. Mit praktischer Erfahrung würde sich so was erübrigen.... Und dann auch der Pseudocode Sinn machen.
Ok, bis jetzt hatten wir sowieso unsere Computerzugangsdaten noch nicht. Aber ich höre auch von anderen Schulen, dass erstmal Pseudocode gelehrt wird und wenn es dann endlich an PC geht, haben die meisten Informatik längst als *langweilig* abgehakt.
Ich fänd's besser, wenn wir den Pseudocode gleichzeitig mit dem Programmieren lernen würden.
Wir machen auch nur VBA  |
Hallo Gewürzgurke, das ist natürlich eine pädagogische, methodische, didaktische Frage, wie man dort herangeht, und in diesem Bereich gibt es fast mehr Meinungen als Personen. Ich kann verstehen, daß Dich das langweilt, daß Du endlich "zur Tat schreiten" möchtest. Doch man kann es durchaus auch umgekehrt sehen: Mit solchen Einstiegshürden wird die Spreu vom Weizen getrennt, und wer sich wirklich dafür interesiert, der ist erst recht davon gefesselt. Insofern sind solche fast schon einstiegsprüfungsähnliche(n?) Bedingungen aus einem andern Blickwinkel durchaus sogar als Fairneß den Lernenden gegenüber anzusehen. Du mußt diese Meinung nicht teilen, aber vielleicht kannst Du die Berechtigung für eine andere Herangehensweise als die, die Dir lieb ist, wenigstens in Ansätzen nachvollziehen. Mal eine Parallele von einem meiner Hobbys, der Bergwanderei: Es gibt Kletterpfade, die absichtlich so angelegt werden, daß die schwierigste Stelle so weit (eher nah) wie möglich am Anfang, also unten ist, was in der Regel gar nicht so leicht zu realsieren ist, denn es wird naturgemäß erst dann umso felsiger, je höher man kommt.
Im übrigen gibt es durchaus auch - eher aus akademischer Motivation heraus entwickelte - Programmiersprachen, die durchaus mehr "Intelligenz" haben als imperative wie Delphi, so z.B. die Programmiersprachen der künstlichen Intelligenz (z.B. Prolog, Lisp). Mit "nach x auflösen" können vermutlich einige Programmiersprachen an sich schon etwas anfangen, denn eine solche Gleichungsumstellung ist algorithmierbar und damit auch - schon in Programmiersprachen - implementierbar (s. auch die sog. "Computer-Algebra-Systeme", eine im mehrfacher Hinsicht diskutable Benennung). Also, ein solche "lapidare" Anweisung hat auch in Pseudocode durchaus ihre Berechtigung, zumal solche Lappalien den Pseudocode nur (mehr oder weniger unnötig?) aufblähen und unübersichtlich machen, vom eigentlichen Problem und seiner Lösung ablenken. Diese Auflösung läßt sich auch in Unterprogramme externalisieren.
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 18.09.09 12:40
Luckie hat folgendes geschrieben : | Denn in der Informatik geht es um Informationsverabeitung und nichts anderes ist Sprache. |
Luckie, Deine zweite Behauptung bestreite ich ganz entschieden!
Die Sprache ist eine Code für die Informations übertragung, -übermittlung (letzlich ist jede Information in irgendeiner Weise codiert), und um in das Gehirn vorzudringen, gibt es eben auch verbale Informationen, die Sprache. Die Informations verarbeitung hingegen findet im Gehirn statt, und dazu ist die Sprache an sich entweder überhaupt nicht vonnöten ("nonverbal") (soweit möchte ich mich aber nicht hinauslehnen) oder aber von untergeordneter Bedeutung. Ein Paradebespiel sind mathematische, aber auch musikalische Gedanken: Diese spielen sich außerhalb jeder Sprache ab, Sprache ist dazu gar nicht vonnöten. Erst, um diese Gedanken anderen mitzuteilen, benötigt man die Sprache, wobei in diesen beiden konkreten Fällen die Sprache allein wenig geeignet ist.
Zuletzt bearbeitet von Delphi-Laie am Sa 19.09.09 06:31, insgesamt 1-mal bearbeitet
|
|
Gewuerzgurke 
      
Beiträge: 152
Win XP
Lazarus
|
Verfasst: Fr 18.09.09 15:30
Ja, stimmt, nur gehört zum Programmieren auch die praktische Seite, die unter anderem darin besteht, erstmal eine Sammlung von Befehlen zu kennen - sonst kann man auch kaum Programme schreiben. Ich habe Angst, dass das etwas zu kurz kommt...
Naja, erstmal abwarten... Ich kann ja (wenn ich dran denke) in 3 Jahren ein Statement abgeben. 
|
|
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 18.09.09 16:37
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
|