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