{"title":"Executing an SECD machine using logic programming","authors":"K. Slonneger","doi":"10.1145/199688.199793","DOIUrl":"https://doi.org/10.1145/199688.199793","url":null,"abstract":"Students usually find formal methods of describing programming languages very difficult because of the cryptic notation, the complexity of the techniques, and the size of the specifications. The SECD abstract machine provides a small but clear description of the operational semantics of the lambda calculus. By implementing the SECD machine in Prolog, we give students a tool for testing specifications and for experimenting with alternate language semantics in an interactive setting.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"133 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122547196","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An interactive lecture approach to teaching computer science","authors":"S. Rodger","doi":"10.1145/199688.199820","DOIUrl":"https://doi.org/10.1145/199688.199820","url":null,"abstract":"Students get more out of an interactive lecture than a passive lecture because they are given time to think. This time allows them to determine if they understand a concept, and if not to ask questions. This understanding is crucial when concepts build on one another. We describe our positive experiences in teaching sophomore-level computer science courses in an interactive lecture format with a computer in the classroom.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124216935","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
S. H. Adams, Rachel D. Isles, L. Moses, Domenick J. Pinto, F. L. Scoy
{"title":"Where have the women gone and how do we keep them from going? (panel)","authors":"S. H. Adams, Rachel D. Isles, L. Moses, Domenick J. Pinto, F. L. Scoy","doi":"10.1145/199691.199861","DOIUrl":"https://doi.org/10.1145/199691.199861","url":null,"abstract":"When only one female student joined our Introduction to Structured Programming course in the Fall of 1993 and was gone by midterm, I became alarmed! During the last several years, our enrollment in Computer Science has attracted fewer and fewer females. I believe the lack of interest of female students to be a serious problem that needs to be addressed by educators. For this reason I have assembled a panel of educators who will share their ideas as to why this is happening and inform us of their efforts to counteract this gender imbalance.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115935410","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"CAP: an automated self-assessment tool to check Pascal programs for syntax, logic and style errors","authors":"T. Schorsch","doi":"10.1145/199688.199769","DOIUrl":"https://doi.org/10.1145/199688.199769","url":null,"abstract":"Student programmers have difficulty finding and fixing syntax, logic and style errors in their programs. The Code Analyzer for Pascal (CAP) analyzes programs that use a subset of the Pascal language and provides user-friendly feedback on the errors that it finds. This paper describes CAP and reports its use in teaching introductory programming at the United States Air Force Academy.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117308898","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Integrating a breadth-first curriculum with relevant programming projects in CS1/CS2","authors":"Ronald E. Wilson","doi":"10.1145/199688.199789","DOIUrl":"https://doi.org/10.1145/199688.199789","url":null,"abstract":"The ACM/IEEE Guidelines (1990) for CS1/CS2 recommend that these classes present a variety of concepts from the field of computer science. This is a departure from the traditional method of presenting this course, a course that stressed primarily programming. This paper describes a CS1/CS2 curriculum that integrates the breadth-first approach coupled with programming assignments that reinforce concepts covered in this curriculum. Students still spend a majority of their effort on programming. However, the programs that they write represent concepts that are usually presented later in the curriculum. These programs include an SLR parser, a problem from the realm of scientific computation, a dynamic programming problem from formal language theory, an implementation of the relational algebra operators for querying relational databases, an example from the field of artificial intelligence, and a simple example of concurrent programming. This curriculum is no doubt daunting to some students, but it does succeed in integrating topics covered in a breadth-first curriculum with related programming assignments. Experience has shown that most students prefer this rigorous set of meaningful programming assignments to ones that are more contrived and trivial.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115438777","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A top-down approach to teaching programming","authors":"M. Reek","doi":"10.1145/199688.199696","DOIUrl":"https://doi.org/10.1145/199688.199696","url":null,"abstract":"Programming is traditionally taught using a bottom-up approach, where details of syntax and implementation of data structures are the predominant concepts. The top-down approach proposed focuses instead on understanding the abstractions represented by the classical data structures without regard to their physical implementation. Only after the students are comfortable with the behavior and applications of the major data structures do they learn about their implementations or the basic data types like arrays and pointers that are used. This paper discusses the benefits of such an approach and how it is being used in a Computer Science curriculum.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125465035","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A low-tech introduction to operating systems","authors":"Selmer Moen","doi":"10.1145/199688.199763","DOIUrl":"https://doi.org/10.1145/199688.199763","url":null,"abstract":"Operating systems can be taught using DOS as the basis for an introductory course. This approach is both practical and pedagogically sound. It leads to a course which is valuable both as a terminal course on operating systems and as the basis for further theoretical study. It is possible to use DOS as an environment for teaching rudiments of multitasking.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126936271","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Microkernels: a submodule for a traditional operating systems course","authors":"T. Camp, G. Oberhauser","doi":"10.1145/199688.199764","DOIUrl":"https://doi.org/10.1145/199688.199764","url":null,"abstract":"Experience has shown that a microkernel, a small operating system core which supports modular extensions, is flexible, efficient, and robust [1]. The microkernel structure is the central design element of next generation operating systems. Traditional undergraduate operating systems courses, however, do not discuss this design strategy in any depth (if at all). In this paper, we propose a submodule on microkernel technology and indicate how this information can be, and should be, included in an operating system course. We first give an overview of the fundamentals of microkernel design. We then argue why the study of microkernels ought to be included in an undergraduate operating system course. Finally, we present an organization of topics for the proposed course submodule on microkernel technology.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128106429","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching computer science concepts and problem solving with a spreadsheet","authors":"M. V. Kolesar, V. Allan","doi":"10.1145/199688.199698","DOIUrl":"https://doi.org/10.1145/199688.199698","url":null,"abstract":"INTRODUCTION WHY A SPREADSHEET? Traditionally, computer science educators have introduced students to basic computer science concepts via a pro~ming language paradigm as evidenced by typical texts used in CS 1 [D083, KW87, HKF93]. The same approach is used with respect to development of problemsolving skills. This paper describes an alternative approach in which a spreadsheetAlatabase package is used as an introductory vehicle to motivate many computer science ideas. As an added benefit to this approach, the student learns to use a valuable problem-solving tool.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131385742","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Solid modeling with Scheme","authors":"E. C. Martin","doi":"10.1145/199688.199851","DOIUrl":"https://doi.org/10.1145/199688.199851","url":null,"abstract":"These days it is increasingly commonplace and publicly acceptable for applications to make memory demands that only a couple of years ago seemed outrageous. The prices of fast, powerful personal computers capable of running such applications are plummeting. It is therefore becoming reasonable to wonder how pre-college education might benefit from the use of software that until very recently was excluded even from the fantasies of educational visionaries because of cost considerations and the inaccessibility of suitable hardware. Among the topics that may now realistically be considered for inclusion in the pre-college curriculum is the important subject of solid modeling.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"261 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132993022","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}