文件名称:程序设计导引及在线实践.PDF
文件大小:1.81MB
文件格式:PDF
更新时间:2013-07-12 04:40:20
程序设计;在线;实践;ACM
本书是一本与众不同的程序设计入门教材,实践性以一种特殊的方式被提高到了十分重要的地位,不论对计算机专业的学生,还是非计算机专业的学生,都非常适用。 目前许多程序设计入门教材的主要内容就是详细介绍一门程序设计语言。对于计算机专业的学生,这远远不够;对于非计算机专业的学生,也略显肤浅。许多大学的本科计算机专业程序设计课程的教法,重语法规则,缺算法概念,这就容易导致学生由于基本技能缺失而在学习数据结构时产生困难,或难以学精。对于非计算机专业的学生来说,仅掌握一门程序设计语言的语法规则,写几个打印由星号组成的三角形之类的“玩具”程序,而对计算机科学的基础与灵魂 -- 算法一无所知,不明白计算机到底是怎么解决问题的,那么在日后的工作中,不但不可能自己编写实用程序,甚至会无法敏感地及时意识到,哪些问题很适合用计算机处理,可以交给计算机专业人员来做。本书将程序设计语言和最基本的算法思想相结合,是避免上述现象的一个有益尝试。 本书的最大特点是和“北京大学程序在线评测系统"紧密结合,因而把实践性摆到了一个特殊的地位。“北京大学程序在线评测系统”(简称“POJ”)是一个免费的公益性网上程序设计题库,网址为http://acm.pku.edu.cn /JudgeOnline,它包含2000多道饶有趣味的程序设计题,题目大部分来自ACM国际大学生程序设计竞赛,很多题目就反映工作和生活中的实际问题。用户可以针对某个题目编写程序并提交,让POJ自动判定程序的对错,几秒之内即可知道对还是错。作为教学支持,每个学生在POJ上可以建立自己的账号,教师在POJ上一眼就能看到布置的习题学生是否已经完成,这几乎将教师评判学生作业的工作量减少到零。POJ对于程序的正确性评判是极为严格的,不仅逻辑要对,而且数据的格式也要对。这对于培养严谨、周密的程序设计作风极为有效,学生必须考虑到每一个细节和特殊边界条件,而不是大体上正确就能通过。传统的人工评判是难以做到这一点的。 本书的另一特点是在叙述中穿插了许多精心编制的思考题,特别适合教师进行启发式教学。思考题没有答案,以便教师提问,引发讨论。 本书还有一个亮点,就是在许多例题后都会总结学生在完成该题时容易犯的典型错误,让学生少走弯路。这些错误都总结自学生在POJ上提交的程序,因而具有典型性。 本书中代码的风格也很值得一提,它来自作者们丰富的教学与软件开发经验。李文新教授是国内第一个自主研制的地理信息系统开发环境Geo-Union的主要设计者和核心代码编写者之一,曾经担任过图原空间信息技术有限公司和长天科技有限公司的总工程师。她目前是中国计算机学会信息学奥赛科学委员会的科学委员,ACM竞赛北京大学代表队的原任教练和现任领队。余华山副教授多年来从事支持高性能计算的程序开发与运行环境的研究工作,主持开发了计算网格协同平台 Harmonia系统。在ChinaGrid公共软件支撑平台CGSP的研制过程中,他是总体设计的主要骨干之一,并负责CGSP信息服务系统的设计和实现。郭炜老师的专业方向是计算机辅助教学,他是《我爱背单词》等系列著名英语学习软件的唯一作者。因而本书中的例子程序代码风格优美,注释完备,可读性强。以此作为范例,对培养良好的程序设计风格,日后在团队开发中赢得同事的信任和喜爱十分有益。 在这呼吁创新的年代,本书是富有创意的,希望并相信读者能喜欢。