Approach at University of the Witwatersrand: Later
later
- analysis
skills we see as requring analysis include designing whole programs, and applying more complex theory. We expect at this level that students should understand a range of data structures and algorithms, and prove more complex results, applying more complex mathematical technques
- synthesis
here, we expect students to deal with more complex program design choices, including considering alternative data structures and algorithms, and comparing alternative solutions. They should be able to deal with more complex proofs of correctness and complexity of algorithms, and of properties of data structures
latest
- evaluation
at the highest level, we expect them to be able to understand research in algorithms, relate different approachs in the literature, and deal with research problems in algorithms
Overall, we are able to track algorithms across multiple years (up to research), because we have algorithms courses at each level. For other topics, we have to be more selective in what we present at each level, since we do not cover other topics every year. For example, operating systems are covered in 2nd year and Honours; the 2nd-year course exercises early to intermediate skills, including simple implementations of concepts. The Honours topic includes some exposure to research in the area.
|
Programming Early Considered Harmful SIGCSE 2001 23 March, Charlotte, NC |