Popis: |
We present a sequence of programming projects for the CS2 introductory computer science course which provides a holistic experience for students in preparation for their future roles in any workplace in which software is developed, whether in academia, government, industry, or elsewhere. The progression of projects has several key features: (1) they are easily reused simply by changing the underlying input data set; (2) they offer a flexible degree of analysis objectives; (3) they take advantage of freely available open source data sets and encourage their use; (4) they are designed to be small models of the kinds of problems likely to be encountered outside of the classroom environment; (5) they facilitate the introduction of increasingly more sophisticated software testing concepts, starting with the most elementary; (6) a student who attempts to do them in earnest, even if unsuccessful, can still learn important lessons about the different facets of programming and problem solving; and (7) a student's understanding of the relationship between choice of data representation and performance will likely mature if he or she successfully completes the assignments.In our poster, we present the first and last assignments of the sequence that we have employed in a CS2 course, and discuss some results. We also show how these assignments can serve as a paradigm that may be used in other CS2-like courses. Many of the underlying concepts can also be applied to CS1-like courses as well as more advanced computer science courses. |