The psychology of computer programming
The psychology of computer programming
A survey of computer science offerings in small liberal arts colleges
Communications of the ACM
A computer science course program for small colleges
Communications of the ACM
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
A Discipline of Programming
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
Computer Science and the Liberal Arts Student
Computer Science and the Liberal Arts Student
Etudes for Programmers
Structured programming
General systems analysis in the liberal arts curriculum
SIGSCE '84 Proceedings of the fifteenth SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
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.