TY - GEN
T1 - Teaching garbage collection without implementing compilers or interpreters
AU - Cooper, Gregory H.
AU - Guha, Arjun
AU - Krishnamurthi, Shriram
AU - McCarthy, Jay
AU - Findler, Robert
PY - 2013
Y1 - 2013
N2 - Given the widespread use of memory-safe languages, stu-dents must understand garbage collection well. Following a constructivist philosophy, an effective approach would be to have them implement garbage collectors. Unfortunately, a full implementation depends on substantial knowledge of compilers and runtime systems, which many courses do not cover or cannot assume. This paper presents an instructive approach to teaching gc, where students implement it atop a simplified stack and heap. Our approach eliminates enormous curricular depen-dencies while preserving the essence of gc algorithms. We take pains to enable testability, comprehensibility, and fa-cilitates debugging. Our approach has been successfully classroom-tested for several years at several institutions.
AB - Given the widespread use of memory-safe languages, stu-dents must understand garbage collection well. Following a constructivist philosophy, an effective approach would be to have them implement garbage collectors. Unfortunately, a full implementation depends on substantial knowledge of compilers and runtime systems, which many courses do not cover or cannot assume. This paper presents an instructive approach to teaching gc, where students implement it atop a simplified stack and heap. Our approach eliminates enormous curricular depen-dencies while preserving the essence of gc algorithms. We take pains to enable testability, comprehensibility, and fa-cilitates debugging. Our approach has been successfully classroom-tested for several years at several institutions.
KW - Garbage collection
UR - http://www.scopus.com/inward/record.url?scp=84876213509&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84876213509&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:84876213509
SN - 9781450320306
T3 - SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education
SP - 385
EP - 390
BT - SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education
T2 - 44th ACM Technical Symposium on Computer Science Education, SIGCSE 2013
Y2 - 6 March 2013 through 9 March 2013
ER -