you need to program to do practicals
but isnt that incidental rather than fundamental? Couldnt we emphasize more of the theory early, and emphasize understanding programs earlier? There is a lot to be learnt in applying algorithm analysis in the lab, in empirical studies of program behaviour. In any case, coding relatively simple examples (especially adding to existing code) can miss a lot of harder skills.
but do you have design, abstraction, etc. skills early?
speaking of harder skills, design and abstraction are very hard skills, and essential to building nontrivial programs. Is it right that hacking out code without these skills is encouraged?
possible lab exercises without writing large programs
to build on the first point, here is some detail of labs that can be done without much programming:
empirical verification of algorithm analysis
given an algorithm analysis and a driver program to feed the aglorithm data, it is possible to explore emprical verification of the analysis not trivial, and often neglected in current curricula
adding components
adding components to existing software, using a good object-oriented library, can develop a good picture of how programs behave, without requiring a lot of coding. Students can fairly quickly build nontrivial applications with toolkits or virtual worlds, giving a sense of achievement, but without requiring skills they have not yet had time to develop
analysing usability
HCI is an area moving increasingly from research into the teaching mainstream. Analysing existing software for usability is a good way of becoming aware of the issues and again does not require writing programs
measuring system performance
to extend the empirical verification of algorithms idea, introducing measurement of system performance can be done without any programming. Students can measure network activities, understand the role of standard benchmarks and understand the differences between various performance measures (latency, bandwidth, system time, wall clock time)
Programming Early Considered Harmful SIGCSE 2001 23 March, Charlotte, NC