KIF385:Wie lernt man das Programmieren im Informatikerstudium: Unterschied zwischen den Versionen
Aus KIF
Marlin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Marlin (Diskussion | Beiträge) 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, 12: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