程序设计导引及在线——北京大学信息技术科学学院
本书是一本与众不同的程序设计入门教材,实践性极强,不论对于计算机专业的学生, 还是非计算机专业的学生,都非常适用。 目前绝大部分程序设计入门教材,主要内容就是详细介绍一门程序设计语言,这对于计 算机专业的学生来说,是远远不够的,对于非计算机专业的学生,也略显肤浅。许多大学的 本科计算机专业课程设置,在程序设计语言和数据结构这两门课之间,并无空间进行基础算 法教学,这就容易导致学生由于基本技能缺失而在学习数据结构时产生困难,或难以学精。 对于非计算机专业的学生来说,仅掌握一门程序设计语言的语法规则,写几个打印由星号组 成的三角形之类的“玩具”程序,而对计算机科学的基础与灵魂 --- 算法一无所知,不明白 计算机到底是怎么解决问题的,那么在日后的工作中,不但不可能自己编写实用程序,甚至 会无法敏感地及时意识到,哪些问题很适合用计算机处理,可以交给计算机专业人员来做。 本书将程序设计语言和最基本的算法思想相结合,使用本书作为程序设计入门教材,能够有 效避免上述的现象。 本书的最大特点是和“北京大学程序在线评测系统"紧密结合,具有极强的实践性。“北 京大学程序在线评测系统"(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国际大学生程序设计竞赛队在国际上取得较好名次。因而本书中的例 子程序,代码风格优美,注释完备,可读性强。以此作为范例,对培养良好的程序设计风格, 日后在团队开发中赢得同事的信任和喜爱十分有益。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助