A programming sequence for the liberal arts college

  • Authors:
  • Robert J. Ellison

  • Affiliations:
  • Hamilton College

  • Venue:
  • SIGCSE '80 Proceedings of the eleventh SIGCSE technical symposium on Computer science education
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

Abstract

The computer science program in a liberal arts college must meet a number of diverse needs. When the curriculum allows for only four computer courses each course must serve several functions. For example, the introductory programming course often must satisfy the need for computer literacy as well as serve more advanced students who need to use the computer in their own discipline. The Hamilton College program which serves an academic community of 1600 students and about 130 faculty, has been evolving for four to five years. Currently five to six hundred students use the computer in some manner during the academic year, and almost one third of the student body enroll in a programming course before they graduate. We shall describe our two-course programming sequence and the success that we have had teaching it using a disciplined approach to programming. Our first course is taught to students whose primary motivation is general literacy and who do not bring to it much in the way of general quantitative or problem solving skills. We use, though, a programming methodology that differs little from that used by larger institutions for courses directed more toward the concentrator in computer science. We argue that structured programming is almost a necessity for this audience. The very limited background of the students requires both a systematic approach to problem solving and a disciplined style of programming. The second programming course must also solve some special problems. Since we only offer two advanced courses, we must include some of the material on data structures in the second course. With a careful selection of topics, we can lay the foundation for a discussion of file structures or data base organization in an advanced course. Our instructional goals for the sequence include the encouragement of general computer literacy, the teaching of programming techniques, the development of problem solving skills, and the coverage of selected advanced topics. We had to meet these goals without making excessive technical demands on the instructional staff.