{"title":"计算机科学入门教育","authors":"A. Nico Habermann","doi":"10.1016/S0167-9287(05)80083-4","DOIUrl":null,"url":null,"abstract":"<div><p>There is room for improvement in the way introductory computer science is taught. In general, most of the available time is spent on teaching programming language syntax and very little on studying examples of good programs. The assertion approach to program verification has in practice resulted in a technique that resembles assembly code programming of more than 30 years ago. This practice has also encouraged the view that each new program is an invention that must be developed from scratch. In addition, the student's attention is largely directed towards the <em>how</em> of the technique and hardly towards learning the proven facts. In this paper, it is argued that the introduction to programming can be improved in several ways: by starting with a systems view that encourages students to study good examples and to reuse existing programs, by judging program quality relative to similar programs and program abstractions, and by building up a coherent body of knowledge that students can apply in program design and implementation.</p></div>","PeriodicalId":100393,"journal":{"name":"Education and Computing","volume":"7 1","pages":"Pages 73-86"},"PeriodicalIF":0.0000,"publicationDate":"1991-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0167-9287(05)80083-4","citationCount":"3","resultStr":"{\"title\":\"Introductory education in computer science\",\"authors\":\"A. Nico Habermann\",\"doi\":\"10.1016/S0167-9287(05)80083-4\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>There is room for improvement in the way introductory computer science is taught. In general, most of the available time is spent on teaching programming language syntax and very little on studying examples of good programs. The assertion approach to program verification has in practice resulted in a technique that resembles assembly code programming of more than 30 years ago. This practice has also encouraged the view that each new program is an invention that must be developed from scratch. In addition, the student's attention is largely directed towards the <em>how</em> of the technique and hardly towards learning the proven facts. In this paper, it is argued that the introduction to programming can be improved in several ways: by starting with a systems view that encourages students to study good examples and to reuse existing programs, by judging program quality relative to similar programs and program abstractions, and by building up a coherent body of knowledge that students can apply in program design and implementation.</p></div>\",\"PeriodicalId\":100393,\"journal\":{\"name\":\"Education and Computing\",\"volume\":\"7 1\",\"pages\":\"Pages 73-86\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1991-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/S0167-9287(05)80083-4\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Education and Computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0167928705800834\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Education and Computing","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167928705800834","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
There is room for improvement in the way introductory computer science is taught. In general, most of the available time is spent on teaching programming language syntax and very little on studying examples of good programs. The assertion approach to program verification has in practice resulted in a technique that resembles assembly code programming of more than 30 years ago. This practice has also encouraged the view that each new program is an invention that must be developed from scratch. In addition, the student's attention is largely directed towards the how of the technique and hardly towards learning the proven facts. In this paper, it is argued that the introduction to programming can be improved in several ways: by starting with a systems view that encourages students to study good examples and to reuse existing programs, by judging program quality relative to similar programs and program abstractions, and by building up a coherent body of knowledge that students can apply in program design and implementation.