TY - GEN
T1 - Data structures, algorithms, and software engineering
AU - Collberg, Christian S
PY - 1989
Y1 - 1989
N2 - Traditionally, students in undergraduate computer science curricula have to wait until their third or fourth year until they are confronted with the problems which arise in the design of large programs. The rationale behind this is that programming-in-the-small has to be mastered before programming-in-the-large. In this paper we will argue that the elements of software engineering must be present at all levels and in all computer science courses and that it is feasible, with the proper tools and precautions, to assign large and complex programming assignments even at the introductory level. An experiment to this effect has been carried out in a data structures and algorithms course given at the University of Lund. A non-trivial program (a make-utility for Modula-2) was specified and partially modularized by the instructor and assigned piecewise to the students. The assignments trained the students in the implementation of data structures and algorithms as well as software tool design, modularization, information hiding, reuse, and large system design.
AB - Traditionally, students in undergraduate computer science curricula have to wait until their third or fourth year until they are confronted with the problems which arise in the design of large programs. The rationale behind this is that programming-in-the-small has to be mastered before programming-in-the-large. In this paper we will argue that the elements of software engineering must be present at all levels and in all computer science courses and that it is feasible, with the proper tools and precautions, to assign large and complex programming assignments even at the introductory level. An experiment to this effect has been carried out in a data structures and algorithms course given at the University of Lund. A non-trivial program (a make-utility for Modula-2) was specified and partially modularized by the instructor and assigned piecewise to the students. The assignments trained the students in the implementation of data structures and algorithms as well as software tool design, modularization, information hiding, reuse, and large system design.
UR - http://www.scopus.com/inward/record.url?scp=85032272307&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85032272307&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85032272307
SN - 9780387970905
VL - 376 LNCS
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 70
EP - 79
BT - Software Engineering Education - SEI Conference 1989, Proceedings
PB - Springer Verlag
T2 - 3rd SEI Conference on Software Engineering Education, 1989
Y2 - 18 July 1989 through 21 July 1989
ER -