Abstract

The ACM/IEEE Guidelines (1990) for CS1/CS2 recommend that these classes present a variety of concepts from the field of computer science. This is a departure from the traditional method of presenting this course, a course that stressed primarily programming. This paper describes a CS1/CS2 curriculum that integrates the breadth-first approach coupled with programming assignments that reinforce concepts covered in this curriculum. Students still spend a majority of their effort on programming. However, the programs that they write represent concepts that are usually presented later in the curriculum. These programs include an SLR parser, a problem from the realm of scientific computation, a dynamic programming problem from formal language theory, an implementation of the relational algebra operators for querying relational databases, an example from the field of artificial intelligence, and a simple example of concurrent programming. This curriculum is no doubt daunting to some students, but it does succeed in integrating topics covered in a breadth-first curriculum with related programming assignments. Experience has shown that most students prefer this rigorous set of meaningful programming assignments to ones that are more contrived and trivial.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call