{"title":"The versatile list: a pathway to abstraction","authors":"J. Hamer, Adriana Ferraro","doi":"10.1145/359369.359387","DOIUrl":null,"url":null,"abstract":"The humble “list” is usually presented early in a first course on data structures and algorithms, one topic among many, generally considered less interesting than trees and graphs. We believe the list deserves better, and show how the list can be used to bring together a wide variety of Computer Science topics, including: algebraic reasoning, proof by induction, abstract data types, recursion, and generic programming. The emphasis is on developing abstraction and design skills, applying both theory and engineering considerations, ultimately arriving at an unexpectedly powerful framework.","PeriodicalId":435916,"journal":{"name":"African Conference on Software Engineering","volume":"45 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"African Conference on Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/359369.359387","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The humble “list” is usually presented early in a first course on data structures and algorithms, one topic among many, generally considered less interesting than trees and graphs. We believe the list deserves better, and show how the list can be used to bring together a wide variety of Computer Science topics, including: algebraic reasoning, proof by induction, abstract data types, recursion, and generic programming. The emphasis is on developing abstraction and design skills, applying both theory and engineering considerations, ultimately arriving at an unexpectedly powerful framework.