Teaching teams for CS + ST
This page has been moved to Clusters.
Some older history below.
2013-12-09 ST divsion meeting input
The Courses at the ST division can be divided into the following (somewhat overlappting) tentative clusters:
- Prog1: Datorintroduktion GU (1.5hp), Introduktion till programmering (1.5hp), Objektorienterad programmering Z, Objektorienterad programvaruutveckling (DV), Objektorienterad programmering (d), Programmerade system (I), Objektorienterad programmering (D), Intro till funktionell programmering
- Prog2: Objektorienterad programvaruutveckling fk (IT), Programmering fk (DV), Objektorienterad programmering (d), Objektorienterad programvaruutveckling (DV), Objektorienterad programmering (D)
- DStr: Datastrukturer (DV), Objektorienterade applikationer (d), Algoritmer och datastrukturer (d, I), Objektorienterat programmeringsprojekt (IT, DV)
- FP: Intro till funktionell programmering (D), Functional programmering, Advanced functional programming, Parallel Functional Programming
- PLT: Programming paradigms, Compiler construction, Frontiers of Programming Languages
- Conc?: Concurrent programming, Databases, Webapplikationer, Parallel Functional Programming
- FM?: Test and verification, "Testing, debugging and verification", Software engineering using formal methods, Model based testing
- Sec: Cryptography, Language-based security
2013-11-15 Peter Dybjer wrote
The CS Division discussed the introduction of teaching teams for the ST and CS division on Friday 15 November. Here is a draft proposal based on this discussion. We look forward to feedback from the ST division.
TEACHING TEAM CLUSTERS
A teaching team would be jointly responsble for a cluster of related courses. The course responsibles for the courses in a cluster would form the teaching team, but additional people could also be adjoined.
For example, each track in the CSALL masters program would form a natural cluster, maybe together with related advanced bachelor's courses. I e we would have the following clusters related to CSALL
- ALGORITHMS: Algorithms, Advanced Algorithms, Discrete Optimization, Machine Learning, Artificial Intelligence
- PROGRAMMING LANGUAGES: Programming Languages, Compiler Construction, Advanced Functional Programming, etc
- LOGIC AND COMPUTATION: Logic in CS, Models of Computation, Types for Programs and Proofs, Automata and Formal Languages
- SECURITY: Cryptography, Programming Language Based Security, etc.
Some proposals for undergraduate clusters:
- DATA STRUCTURES: the different version of the data structures course
- INTRODUCTORY PROGRAMMING IN JAVA: there are apparently 12 versions of this so this needs to be divided into smaller clusters
NOTE: this is a very tentative suggestion!
TASKS OF TEACHING TEAMS
1. JOINT COURSE RESPONSIBILITY IN CASE OF SUDDEN ILLNESS OR OTHER UNPLANNDE ABSENCE
- Each course has a designated default substitute teacher.
- Other teachers in the cluster are "on call" in case of absence of ordinary substitute teacher
The Director of Studies is responsible for maintaining the list of substitute teachers and for informing these
2. CURRICULUM PLANNING AND REVISION
The teaching team is jointly responsible for the course cluster as a whole. It is in particular responsible for
- the internal coherence of the cluster (avoiding to much overlap and unintended gaps)
- the interface with other course clusters
- keeping up to date with international developments, new trends, etc, for example, comparison with the ACM Curriculum.
The Masters Coordinator is responsible for making sure that curriculum revision for masters level clusters is carried out at regular intervals, say every 3-4 years. The Program Head has a similar responsibility for bachelor level clusters.
3. ADDITIONAL IDEAS
- Different teachers within a team will be encouraged to circulate the courses between them
- Joint teaching of courses will be encouraged
- Substitute teachers may be taken from other clusters