Programmiersprache für Informatikunterricht

superstar schrieb:
@ Sym

Einer der neben Informatikstudium gerade "Informatik Lehramt" macht. Quasi als Zweitstudium.
Oh, Zweitstudium ist seid kurzen doch richtig teuer geworden. ;):D
 
@ alle
Thx. Hätte ich gewusst dass ich so viele brauchbare Infos hier bekomme, hätte ich schon viel früher was gepostet.

@ Emp

edit: Es gab leider ein Schema welche Punkte die Arbeit enthalten sollte. Da war eben ein HelloWorld das Befehl zum Ausführen ein muss (um sich ein Bild über die Sprache zu machen).

@Sym

nicht in Österreich. Mit einer Studiengebühr kann man selbst auf mehreren Universitäten gleichzeitig studieren. Ich kenne welche die sind schon doppel-DI und kurz vor zwei weiteren DI-Titeln. So viel Zeit muss man haben *g*.
 
Zuletzt bearbeitet:
superstar schrieb:
Pingu schrieb:
Inhaltlich:
Der zweite Satz ist eine persönliche Meinung von Dir. Trotzdem stellst Du Ihn als allgemeingültig hin. Außerdem fehlt der Vergleich; besseren im Vergleich zu welchen anderen; unter welchen Randbedingungen (z.B. für die militärische Enwicklung (DASA/Dornier) habe ich noch in ADA programmiert, wegen Zertifizierung)? Jede Embedded Software ist praktisch in C geschrieben, insbesondere wenn es um Abnahmen für sicherheitsgerichtete (Roboter, Medizintechnik, Eisenbahntechnik) oder gar sicherheitskritische (Flugzeugtechnik) Geräte geht. Denn kein TÜV oder gar die BG würde die Abnahme eines Java-Programms zulassen.
So gesessen findet die gesamte professionelle Entwicklung im Embedded Bereich nur in C (gegebenfalls in Assembler) statt.
Man darf nicht vergessen dass es um eine Java-Arbeit handelt. In einem Apple-Buch steht nicht viel über Microsoft. Weiters ist das eine Empfehlung für Schulinformatik-Unterricht - da hat man ziemlich wenig mit "Roboter, Medizintechnik, Eisenbahntechnik, Flugzeugtechnik, TÜV, BG" zu tun.
Das verstehe ich nicht.
Du schreibst
Es gibt keine Zweifel das es eine der besseren verfügbaren Programmiersprachen ist, wenn man damit ernsthaft Programmieren und Programmieren lernen möchte.
Egal über es eine Arbeit für oder gegen Java ist. Dies ist ein allgemein gültiger Satz, der so falsch ist. Wie bereits angesprochen wird in vielen Bereichen in anderen Sprachen programmiert. Wenn ich mir die Gründe dafür auch noch ansehe, muß ich sagen das es sogar falsch ist Java im Lehrunterricht einzusetzen.
Beispiel ADA: ADA ist eine Weiterentwicklung von Pascal. Warum wird dies im militärischen Bereich, also in Anwendungen wo sicher programmiert wird, wohl engesetzt?
Dann schreibst Du
Einer der besten Gründe wieso man Java als erste Programmiersprache benutzen sollte ist dass es einfacher ist ein bug-freies Programm in Java als in C++ zu implementieren.
Das ist voll lauter Übertreibungen ohne die entsprechenden Vergleiche. Man könnte fast sagen, dass Du Werbetexter bist. Du schreibst, es ist einfacher ein bug-freies Programm zu schreiben. "Einfacher" im Vergleich zu was? (Du kennst die PC vs. Apple-Kampange?)

Eine der Grundregeln, die ein Redakteur lernt: Du weißt alle beschreibenden Adjektive sind rein zur näheren Beschreibung eines Begriffes vorhanden. Das heißt, ein Satz muss für sich genommen noch sinnvoll sein, wenn alle beschreibenden Adjektive entfernt wurden. Wenn dann der Satz nicht mehr sinnvoll ist, kann man auch den Satz streichen.

Umgemünzt auf den obigen Satz wäre dies:
Einer der Gründe, wieso man Java als Programmiersprache benutzen sollte, ist, dass es einfacher ist, ein bug-freies Programm in Java als in C++ zu implementieren.
Wenn ich weiterhin davon ausgehe, dass das Paper für Java spricht, dann kann man den eingeschobenen Füllsatz auch ganz streichen. Übrig bleibt:
Einer der Gründe ist, dass es einfacher ist, ein bug-freies Programm in Java als in C++ zu implementieren.

Der Vorteil ein einer solchen Schreibweise ist, dass man erstens über seine Texte, und damit sein Argumente, genauer nachdenkt und zweitens, dass ein Text nicht als Werbetext, Produktbeschreibung verstanden wird.

Pingu
 
Solche sätze die nichts Aussagen, haben rein damit zu tun, dass bei der Arbeit eine Grenze an Wörtern überschritten werden musste (man kann darüber disskutieren wie sinnvoll solche Grenzen sind).

Wegen "bug-frei" -> Seite 5 (Erst durchlesen, dann nachdenken, und dann zurückschreiben).
 
superstar schrieb:
Wegen "bug-frei" -> Seite 5 (Erst durchlesen, dann nachdenken, und dann zurückschreiben).
Darf ich höflichst nachfragen warum Du das jetzt so angreifend formulierst und mir indirekt unterstellst ich würde nicht nachdenken?
Entschuldigung, dass ich Dir bei Deiner Arbeit helfen wollte, wird nicht wieder vorkommen?

Für mich geht aus Seite 5 nicht hervor warum man in Java als Programmieranfänger weniger potentielle Fehler begeht als z.B. in VB, Pascal oder Haskell. Ausserdem geht daraus für mich auch nicht hervor, warum das die Eignung von Java für die Lehre verbessern sollte. (Auch aus Fehlern kann man lernen, ausserhalb des Produktiveinsatzes sind Fehler daher nicht immer negativ). Ausserdem vergisst Du, ins Verhältnis zu setzen das man in C++-Programmen von Schulniveau sich keinen Deut um Speicherverwaltung kümmern muss und ebenso auch keine Zeigerarithmetik verwenden (dafür gibt es die Vector-Klassen).
Aber vielleicht bin ich als Studierter einfach zu doof dafür? :rolleyes:
Wenn Du jetzt schon rumgiften musst kann ich das ja auch mal tun und ganz offen sagen, dass sich dein Text für mich wie ein schlecht recherchierter Werbetext (siehe inhaltliche Fehler) aus der Feder eines Mittelstufenschülers (siehe Sprache, Grammatik und Zeichensetzung) anhört. Keinesfalls auf dem Niveau das ein Lehramtsstudent ablieferen sollte. Nimm's als konstruktive Kritik. Nix für ungut.
 
Zuletzt bearbeitet:
Emp schrieb:
Nicht umsonst ist Informatik, als Studiengang und deren Fachgebiete, an vielen Unis an den Mathematik-Fachbereichen integriert.
leiderleiderleider
 
:mad: Bitte keine Glaubenskriege wegen Programmiersprachen!

Die Welt hat schon genug Glaubensprobleme! Kein Grund hier als Verfechter einer Sprache persönlich zu werden! Bleibt sachlich bitte!
 
Zuletzt bearbeitet:
Ich glaub auch, dass das langsam ausartet. Das Verhältniss der Mathematik und Informatik zueinander zu diskutieren passt hier wirklich nicht mehr in den Thread, vorallem weil scheinbar jeder die Sache anders sieht.

Hatte mich auchmal für Informatik an einer Uni interessiert aber nach Rücksprachen mit Studenten davon Abstand genommen, da es scheinbar wirklich ausschließlich Mathe ist, was nicht so meins ist. Werde jetzt Informationstechnologie/Gestaltung an der fh studieren, praxisnah.

Einem Freund an der Uni hat ein Prof mal gesagt, an der Uni lernt ihr nichts für den Beruf, ihr lernt die Hintergründe und die Theorie. Praxisnahes Studium findet an den fhs statt.
 
sucht ihr wirklich eine Programmiersprache für den Untericht, dann schaut mal Kara (als endlicher Automat), und später Javakara (Programmieren mit Java) an
 
aber ob das jetzt wirklich in den Thread passt?? :kopfkratz:
NateDogg schrieb:
Hatte mich auchmal für Informatik an einer Uni interessiert aber nach Rücksprachen mit Studenten davon Abstand genommen, da es scheinbar wirklich ausschließlich Mathe ist, was nicht so meins ist. Werde jetzt Informationstechnologie/Gestaltung an der fh studieren, praxisnah.

Einem Freund an der Uni hat ein Prof mal gesagt, an der Uni lernt ihr nichts für den Beruf, ihr lernt die Hintergründe und die Theorie. Praxisnahes Studium findet an den fhs statt.


;)
 
NateDogg schrieb:
Einem Freund an der Uni hat ein Prof mal gesagt, an der Uni lernt ihr nichts für den Beruf, ihr lernt die Hintergründe und die Theorie. Praxisnahes Studium findet an den fhs statt.
Wird öfter gerne so dahergeredet, das macht es auch nicht wahrer. Ich habe an der Uni in einem Studium der reinen (nicht angewandten, praktischen..) Informatik viel gelernt, was ich in einem Beruf verwerten könnte.
Wahr ist aber auch, dass ein Universitätsstudium nicht ausschließlich auf eine spätere Karriere in der Industrie gelenkt ist, wie es an der FH eher der Fall ist. An der Uni wird stärker als an der FH auf eine spätere Tätigkeit als Wissenschaftler vorbereitet, daher ist der Anteil an Hintergrundwissen und Theorie entsprechend höher. Böse Zungen behaupten aber das schadet nicht und man kann sogar das später im Beruf verwerten um diverse Zusammenhänge besser zu durchschauen... Bleibt letztlich jedem selbst überlassen.
@Topic: Natürlich ist der Thread etwas abgeglitten, aber das passiert halt manchmal. Muss man daher jedes evtl. ganz fruchtbare Gespräch unterlassen? Meine Güte..
 
Emp schrieb:
@Topic: Natürlich ist der Thread etwas abgeglitten, aber das passiert halt manchmal. Muss man daher jedes evtl. ganz fruchtbare Gespräch unterlassen? Meine Güte..
Eben. Und vor allem wird so manchmal aus einem eher sinnlosen Thread doch noch ein interessantes und teilweise informatives Gespräch. ;)
minilux schrieb:
aber ob das jetzt wirklich in den Thread passt?? :kopfkratz:
:D
 
@ Emp

die Aussage mit Nachdenken betraff Pingu... da er anscheinend nur die Hälfte durchgelesen hat.
Bei dir habe ich mich paar Posts davor bedankt.

Dass ich bei der Arbeit nicht so viel auf Rechstschreibung, Satzbildung usw. geachtet habe liegt daran dass es ein Zweitstudium ist, und wenn ich es nicht schaffe (oder es ein "Befriedigend" wird) ist mir das auch egal. Ich muss ja nicht unbedingt Lehramt abschliessen. Für was auch? Damit ich in einer Schule mit einem Einstiegsgehalt von 1200 - 1500 EUR arbeite, wenn man bei halbwegs "guten" Firmen das doppelte verdient?
 
Zuletzt bearbeitet:
ist hier jetzt bitte mal Schluß mit den Unterstellungen und Nicklichkeiten! :motz:
 
Äh wegus.. Wo ist eigentlich das Problem?
 
superstar schrieb:
Solche sätze die nichts Aussagen, haben rein damit zu tun, dass bei der Arbeit eine Grenze an Wörtern überschritten werden musste (man kann darüber disskutieren wie sinnvoll solche Grenzen sind).
Ok, das ist ein überzeugender Grund. So habe ich meine Diplomarebit geschrieben ;).
superstar schrieb:
Wegen "bug-frei" -> Seite 5 (Erst durchlesen, dann nachdenken, und dann zurückschreiben).
Gelesen habe ich es schon. Aber genau das sind die Gründe warum Pascal von Herrn Wirth entwicklet wurde.
  • Erst die Variablen, die man verwenden möchte, deklarieren und dann verwenden.
  • Zeigerithmetik ist auf ein minimum reduziert.
  • Zuweisung ist durch ein ":=" eindeutig. Die Eindeutigkeit und Lesbarkeit wird daruch erhöht, dass Mehrfachzuweisungen verboten sind und änhliches.
Ich weiß, obiges wird gerne genau als die limitierenden Faktoren von Pascal angeführt. Aber genau das sind aber die Eigenschaften die Pascal für die Lehere prädestinieren.

Denn beim Programmieren geht es nicht darum die Sprache (Funktionen) aus dem ff zu können (dafür gibt es Handbücher und Hilfen), sonden strukturiert bei der Programmentwicklung vorzugehen. Genau dazu zwingt Einen Pascal.

Pingu
 
Denn beim Programmieren geht es nicht darum die Sprache (Funktionen) aus dem ff zu können (dafür gibt es Handbücher und Hilfen), sonden strukturiert bei der Programmentwicklung vorzugehen. Genau dazu zwingt Einen Pascal.

Andererseits:

- Im Gegensatz zu Java muss alles (Methoden) doppelt deklariert werden. Durch Moderne Werkzeuge (Coded-Folding, Übersichten) ist es nicht übersichtlicher, das einfach reiner Aufwand und bringt nix.
- Der Objektorientierte Ansatz ist überhaupt nicht durchgezogen, Java ist da viel konsequenter.
- Lokale Funktionen sind unübersichtlich -> unschön, verleiten dazu code nicht auszulagern sondern alles in eine super-funktion zu packen
- Durch das *erst variablen deklarieren, dann verwenden* schwirren wieder tote variablen rum die immer gelöscht werden müssen, keine lokalen variablen möglich (z.B. innerhalb einer while)

Code:
var
 i1: integer;
 i2: integer;
 i3: integer;
 i4: integer;
begin
 for i1:= 0 to 10 do begin
 end;
 for i2:= 0 to 10 do begin
 end;
 for i3:= 0 to 10 do begin
 end;
 for i4:= 0 to 10 do begin
 end;
end;

oder

Code:
for (int i=0 ; i < 10 ; i ++ ) {
}
for (int i=0 ; i < 10 ; i ++ ) {
}
for (int i=0 ; i < 10 ; i ++ ) {
}
for (int i=0 ; i < 10 ; i ++ ) {
}

Also man deklariert dort wo man sie braucht, und sie sind auch nur von dort zugreiffbar. Ist doch viel besser :D
 
Zuletzt bearbeitet:
Genau dadurch schleichen sich aber Fehler ein. Ich programmiere auch in C nach den "alten" Grundprinzipien. Denn diese haben eben den Vorteil, dass man sich mehr Gedanken über das macht was man erreichen möchte als einfach wild drauf los programmiert. So unter dem Motto: "Wenn ich es brauch, dann deklariere ich es mir dann schon." Genau das verleitet sehr zu unstrukturiertem Arbeiten. Was fehleranfällig wird.
Anders gesagt: Leute, die schon strukturiert arbeiten, haben damit kein Problem. Leute, die unstrukturiert arbeiten (wie ich teilweise, häufig, naja gut immer ;)), werden dazu gezwungen strukturiert zu arbeiten.

Das dies teilweise mehr Arbeit bedeutet ist die eine Seite der Medalie. Auf der anderen Seite steht, dass Fehler, je später sie erkannt werden wesentlich mehr Arbeit kosten.

Pingu
 
Genau dadurch schleichen sich aber Fehler ein. Ich programmiere auch in C nach den "alten" Grundprinzipien. Denn diese haben eben den Vorteil, dass man sich mehr Gedanken über das macht was man erreichen möchte als einfach wild drauf los programmiert. So unter dem Motto: "Wenn ich es brauch, dann deklariere ich es mir dann schon." Genau das verleitet sehr zu unstrukturiertem Arbeiten. Was fehleranfällig wird.
Anders gesagt: Leute, die schon strukturiert arbeiten, haben damit kein Problem. Leute, die unstrukturiert arbeiten (wie ich teilweise, häufig, naja gut immer ), werden dazu gezwungen strukturiert zu arbeiten.
Ich Programmiere ca. 50% mit C-Syntax und 50% mit Pascal-Syntax und Delphi/Pascal es ändert überhaupt nichts daran wie man arbeitet.

Man schreibt die erste FOR-Schleife, deklariert dann die Variable oben. Dann die zweite FOR-Schleife, dann die Variabel oben. Das man einfach vorher alles überlegt und sich schon alle Variablen aufschreibt die man später benötigt ist doch Unsinn und das macht kein Mensch.

Pascal/Delphi verleitet zu:
- Globalen Variablen (99% aller Delphi-Forms werden in globalen Variablen gespeichert)
- Globale Funktionen (Schlecht Gruppiert, ...)
- Sinnlos-Lange-Units die alles reinstopfen (Da nicht schön wie in Java 1 Public-Klasse pro Unit gemacht wird)

Ausserdem sind Nachteile:
- Pro Event kann normalerweise nur 1 Aktion aufgerufen werden. Das Listener-Konzept von Java ist viel besser als das Event-Konzept von Delphi, da in Delphi unnötige Verrenkungen gemacht werden um mehrere Aktionen auf einen Event zu setzen.
- Pascal hat noch tonnenweise Alte Konzepte die nur einen schlechten Programmierstil fördern !!!

GOTO xyz;
JUMP;
BREAK;
EXIT;
ABORT;

------

Wenn man schon die Schüler an eine Sprache setzt, die kein Mensch braucht, dann doch an eine SCHÖNE Sprache die kein Mensch braucht:
z.B. Eiffel, oder was weiss ich ;)
 
Also ich muss gestehen, dass ich eine objektorientierte Sprache bisher nicht gelernt habe. C++ und Java hatte nur mal ein bischen Grundlagen aber nie wirklich programmiert. Bei Objectiv C hatte ich mal versucht, mich etwas näher mit zu beschäftigen. Mit Delphi bzw. objektorientierter Programmierung in Pascal hatte ich mich auch nie beschäftigt. Selbst mit PHP-Objekten habe ich mich nicht näher beschäftigt.

Ich habe mich zwar bisher hauptsächlich nur mit prozeduralen Sprachen beschäftigt. Trotzdem habe ich das Grundkonzept (Daten und Funktionen gehören zusammen) des objektorientierten Programmierens mir zu eigen gemacht.

Pingu
 
Zurück
Oben Unten