% % BibTeX entry for \cite{brp:1999d} % % Copyright (c) 2004 by Bruno R. Preiss, P.Eng. % % URL:http://www.brpreiss.com/papers/published/1999/sigcse/paper.bib % % % % Copyright (c) 1999 by Bruno R. Preiss, P.Eng. % % $Author: brpreiss $ % $Date: 2001/12/09 19:22:40 $ % $RCSfile: abbrev.bib,v $ % $Revision: 1.22 $ % % $Id: abbrev.bib,v 1.22 2001/12/09 19:22:40 brpreiss Exp $ % @string{ablex = "Ablex Publishing Corporation"} @string{acm = "Association for Computing Machinery, Inc."} @string{acmsurveys = "ACM Computing Surveys"} @string{acmtomacs = "ACM Trans.\ on Modeling and Computer Simulation"} @string{acmtoplas = "ACM Trans.\ on Programming Languages and Systems"} @string{ass = " Ann.\ Simulation Symp."} @string{brp = "Bruno R. Preiss"} @string{cacm = "Communications of the ACM"} @string{ccece = " Canadian Conf.\ on Elec.\ and Comp.\ Eng."} @string{ccng = "Computer Communications Networks Group"} @string{ccvlsi = " Canadian Conf.\ on VLSI"} @string{cips = "Canadian Information Processing Society"} @string{csece = "Canadian Society for Electrical and Computer Engineering"} @string{ece = "Department of Electrical and Computer Engineering"} @string{ee = "Department of Electrical Engineering"} @string{eic = "Engineering Institute of Canada"} @string{home = "http://www.brpreiss.com"} @string{icpp = " Int.\ Conf.\ on Parallel Processing"} @string{ieee = "Institute of Electrical and Electronics Engineers, Inc."} @string{ieeecomp = "IEEE Computer"} @string{ieeemicro = "IEEE Micro"} @string{ieeetc = "IEEE Trans.\ on Computers"} @string{ieeetcad = "IEEE Trans.\ on Computer-Aided Design"} @string{ieeetpds = "IEEE Trans.\ on Parallel and Distributed Systems"} @string{ieeetse = "IEEE Trans.\ on Software Engineering"} @string{ijcs = "International Journal in Computer Simulation"} @string{infocom = " INFOCOM"} @string{isca = " Int.\ Symp.\ on Computer Architecture"} @string{jpdc = "Journal of Parallel and Distributed Computing"} @string{pads = " Workshop on Parallel and Distributed Simulation"} @string{pennstate = "Pennsylvania State University"} @string{proc = "Proc.\ "} @string{sc = "Simulation Councils, Inc."} @string{scs = "Society for Computer Simulation"} @string{scsmcds = " SCS Multiconf. on Distributed Simulation"} @string{tscs = "Trans.\ of the Society for Computer Simulation"} @string{ut = "University of Toronto"} @string{uw = "University of Waterloo"} @string{wiley = "John Wiley \& Sons"} @string{wsc = " Winter Simulation Conf."} % % Copyright (c) 1999, 2000 by Bruno R. Preiss, P.Eng. % % $Author: brpreiss $ % $Date: 2004/11/13 13:48:41 $ % $RCSfile: preiss.bib,v $ % $Revision: 1.204 $ % % $Id: preiss.bib,v 1.204 2004/11/13 13:48:41 brpreiss Exp $ % @inproceedings{brp:1999d, url = home # "/papers/published/1999/sigcse/paper.pdf", bibtex = home # "/papers/published/1999/sigcse/paper.bib", talk = home # "/talks/1999/sigcse/slides.pdf", title = {Design Patterns for the Data Structures and Algorithms Course}, booktitle = proc # { SIGCSE 1999 Technical Symposium}, address = {New Orleans, LA}, organization = acm, author = {Bruno Richard Preiss}, month = Mar, year = 1999, pages = {95--99}, copyright = acm, abstract = { \emph{Design patterns} have recently emerged as a vehicle for describing and documenting recurring object-oriented designs. More significantly, they offer up a long-awaited framework for teaching good software design. This paper espouses the use of object-oriented \emph{design patterns} in the teaching of the \emph{second course} in computer science, viz, the data structures and algorithms course. \par To use design patterns effectively, it is necessary to present the various data structures and algorithms in a common programming framework. This paper also espouses the use of a single, unified class hierarchy and the committment to a single design throughout the teaching of the second course. } }