KIF385:Wie lernt man das Programmieren im Informatikerstudium: Unterschied zwischen den Versionen

Aus KIF
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
*RWTH Aachen: Java, Haskell, Prolog in einer Vorlesung im ersten Semester -> alle großen Programmierparadigmen
*RWTH Aachen: Java, Haskell, Prolog in einer Vorlesung im ersten Semester -> alle großen Programmierparadigmen
**Auch Hintergründe erklären, z.B. Hoare-Kalkül
**Auch Hintergründe erklären, z.B. Hoare-Kalkül
**Später dann Softwarepraktika, wo teilweise z.B. C++ gebraucht wird
**Später dann Softwarepraktika, wo teilweise z.B. C++ gebraucht wird -> Fokus mehr auf Softwareentwicklung
*Uni Erlangen: Java wird in Ansätzen erklärt
**Danach beibringen, wie man die Java-Dokumentation liest und klare Ansage: beschäftigt euch damit!
*Berlin (BHT): Semesterprojekt im 2. Semester (nach allgemeiner Vorlesung im 1. Semester), z.B. Musikverwaltung bauen (kein Fokus auf Softwareentwicklung, sondern konkret Programmieren)
**außerdem kostenlose Nachhilfekurse (L++) wenn man Schwierigkeiten hat


=Voraussetzungen=
=Voraussetzungen=
Zeile 16: Zeile 20:
*Auf der anderen Seite sollen die Leute auch im Studium selbstständig arbeiten können
*Auf der anderen Seite sollen die Leute auch im Studium selbstständig arbeiten können
*Es ist besser, die Konzepte hinter Programmiersprachen zu lernen, allgemein Programmieren zu können - anstatt nur eine Sprache konkret zu können und sich nicht weitere gut aneignen zu können
*Es ist besser, die Konzepte hinter Programmiersprachen zu lernen, allgemein Programmieren zu können - anstatt nur eine Sprache konkret zu können und sich nicht weitere gut aneignen zu können
=Wie kann man Programmieren ''lehren''?=
*Paradigmen und Konzepte wichtiger als konkrete Sprachen
*Lehre wird aber über konkrete Programmiersprache macht
*Zu wenig und zu seltene Beschäftigung mit Programmieren (nur eine Übung die Woche)
**Zu kleine Stückelung
**Zu wenig als "Handwerkszeug" wahrgenommen, das man allgemein und häufiger mal verwenden kann

Version vom 13. November 2010, 13:56 Uhr

Problematik

  • Erstis haben verschiedene Vorkenntnisse
  • Auch mitten im Studium können nicht alle mit Computern besonders gut umgehen
  • Teilweise gibt es keine Programmierkurse an der Uni, wird aber vorausgesetzt

Lösungsansätze

  • TU Darmstadt: Kaum jemand hat Vorerfahrungen mit Scheme -> also wird das gemacht, weil alle was lernen
    • Dann Übergang ins Imperative/Objektorientierte und Übersetzung auf andere Bereiche (z.B. VHDL)
  • RWTH Aachen: Java, Haskell, Prolog in einer Vorlesung im ersten Semester -> alle großen Programmierparadigmen
    • Auch Hintergründe erklären, z.B. Hoare-Kalkül
    • Später dann Softwarepraktika, wo teilweise z.B. C++ gebraucht wird -> Fokus mehr auf Softwareentwicklung
  • Uni Erlangen: Java wird in Ansätzen erklärt
    • Danach beibringen, wie man die Java-Dokumentation liest und klare Ansage: beschäftigt euch damit!
  • Berlin (BHT): Semesterprojekt im 2. Semester (nach allgemeiner Vorlesung im 1. Semester), z.B. Musikverwaltung bauen (kein Fokus auf Softwareentwicklung, sondern konkret Programmieren)
    • außerdem kostenlose Nachhilfekurse (L++) wenn man Schwierigkeiten hat

Voraussetzungen

Kontroverse Ansichten gibt es darüber, ob man Programmieren einfach voraussetzen kann

  • Nebenbedingungen wie z.B. Bafög sind problematisch, weil sich für Menschen ohne Programmiererfahrung die Studiendauer verlängert -> kein Befög mehr, Studienzeitverlängerung, etc.
  • Auf der anderen Seite sollen die Leute auch im Studium selbstständig arbeiten können
  • Es ist besser, die Konzepte hinter Programmiersprachen zu lernen, allgemein Programmieren zu können - anstatt nur eine Sprache konkret zu können und sich nicht weitere gut aneignen zu können

Wie kann man Programmieren lehren?

  • Paradigmen und Konzepte wichtiger als konkrete Sprachen
  • Lehre wird aber über konkrete Programmiersprache macht
  • Zu wenig und zu seltene Beschäftigung mit Programmieren (nur eine Übung die Woche)
    • Zu kleine Stückelung
    • Zu wenig als "Handwerkszeug" wahrgenommen, das man allgemein und häufiger mal verwenden kann