-
provide apprenticeship — Students "think along" as the expert designs the solutions to complex programming problems by
-
identifying decisions,
-
justifying choices among alternatives, and
-
evaluating the consequences of these decisions.
-
make large programs accessible — Students can
-
study and work with larger programs.
-
see good examples of program design and style.
-
learn how to deal with complexity.
-
learn the use of language constructs, data structures, algorithms, and applications.
- respond to specification changes by designing and implementing program modifications and extensions.
- experience "real world" programming.
-
work in teams.
-
provide a context for assessment — AP CS exam questions
- do not need to specify the case study framework.
-
only need to specify the additional question-specific context.
-
assist AP CS Teachers — Case studies
-
emphasize process over product.
- provide ready-made materials for classroom use.
-
provide a framework for an application driven curriculum.
- provide a basis for in-depth analysis of program organization, data structures, and algorithms.
-
aid in the transition to new languages by providing case study commonality:
-
Pascal to C++ — Large Integer / BigInt
-
C++ to Java — Marine Biology / Marine Biology Simulation
-
aid in the transition to new programming paradigms:
-
Object Based Programming — Marine Biology (C++)
-
Object Oriented Programming — Marine Biology Simulation (Java)