个人介绍
高级语言程序设计 张长海
提供学校: 吉林大学
专业大类: 计算机科学与技术
专业: 计算机软件与理论
课程英文名称: 高级语言程序设计
课时: 73

       本书以c语言为载体,引进PAD表示程序逻辑,阐述基本的程序设计方法。全书共分14章,主要内容包括算法、程序设计方法、函数、数据组织、指针、程序开发、结构化程序设计。每章都包含大量例题和习题,以利于读者提高程序设计能力。

       本书最大的特点是以“程序设计”为主线,自始至终在讲“程序设计而不是讲“语言”,摒弃了目前各种程序设计书中流行的以“解释程序设计语言”为主的做法。全书以构造算法为基础,全部为“讲述程序设计”,而不是“解释语言概念”。其目的是教会读者怎样编写程序,提高读者的程序设计能力,彻底改变“学了程序设计而不会编程序”的现状。

教师团队

张长海 教授

单位:吉林大学

教师团队


课程概要






《高级语言程序设计》是计算机科学与技术专业的专业基础课,主要讲授程序设计思想和方法。在“计算思维”思想的指导下,培养基本的算法和程序设计能力、良好的程序设计风格和团队精神。本课程在内容安排上十分注意知识系统性、合理性、先进性,注意处理好经典与现代的关系、理论与实践的关系,重视在实践教学中培养学生的实践能力和创新能力。

本课程的培养目标:在“计算思维”思想的指导下,培养学生基本的算法和程序设计能力、良好的程序设计风格团队精神。以使学生掌握程序设计的基本思想和方法,和应用这些思想和方法解决实际问题的能力。

为了实现课程目标,本课程以程序设计为主线、以案例为驱动、实践过程进讲堂。真正的讲程序设计。目的是教会学生怎么编程序,而不是背那些语言符号、说明、语句。使程序设计课程从应试的误区中跳出来,为后续课程和今后的工作打下良好的基础。

高级语言程序设计课程定位与计算机专业的专业基础课。作为专业基础课,本课程在计算机专业教学中占有重要地位,主要培养学生基本的算法和程序设计能力、良好的程序设计风格,既要为后续的课程打下良好的基础,又要对学生一生的程序设计能力和技巧、风格和习惯负责。

程序设计课程建设历程

1962年吉林大学“程序设计方向”招收本科生;1970年以招收工农兵学员为标志,吉林大学恢复计算机教学,1972年恢复程序设计课程教学;1976年吉林大学“计算机科学系”建系。程序设计是这阶段首当其冲的课程,面对国内资料缺乏,无经验借鉴的困难,本专业的前辈们对教学内容、教学方法进行认真研究,逐步形成了完善的教学内容体系。鉴于此阶段我国计算机事业的需要,当时教学内容以讲授程序设计语言本身的结构、语法、语义为主。在此基础上自行编写了高级语言程序设计讲义《算法语言》,先后出版了两本教材。

本阶段标志性成果是:

  • 1978年《算法语言ALGOL60入门》由科技出版社出版,这是全国较早的程序设计语言教材。

  • 1982年“教育部六五全国统编教材”《程序设计语言》由高等教育出版社出版。该教材详细准确地介绍了当时流行的程序设计语言ALGOL60的语法和语义,阐述了程序设计的基本方法。是国内最早介绍程序设计知识的著作之一,作为教育部全国统编教材被国内高等院校广泛使用。

上世纪80年代到90年代,随着我国改革开发的进程和西方先进技术的引进,我国程序设计教学也不断进行改革,这阶段使用的程序设计语言经历了从ALGOL60到BASIC到FORTRAN再到PASCAL最后到C的过程。在该过程中,我们紧跟国内外发展趋势及时调整授课内容,陆续开设了“BASIC程序设计”、“FORTRAN程序设计”、“PASCAL程序设计”、“C程序设计”。这阶段的授课内容仍然以介绍语言本身为主。这过程中,随着教学改革的进程,我们自编讲义、撰写并出版教材、选用国内外先进教材进行授课。

本阶段的标志性成果包括:

  • 1987年《FORTRAN77程序设计语言》由吉林大学出版社出版;

  • 1990年《PASCAL语言程序设计》由吉林科学技术出版社出版;

  • 1998年《PASCAL程序设计》由吉林大学出版社出版。该书在总结多年教学经验基础上,详细地介绍了高级语言PASCAL的语法和语义,以结构化程序设计思想为基础讲授程序设计方法和技术。

  • 2001年《PASCAL语言程序设计》由电子工业出版社出版。该书由全国高等学校计算机教育研究会和中国计算机学会教育专业委员会“课程与教材建设委员会”推荐出版,是“21世纪高等学校计算机学科系列教材”中的一本,被重复印刷多次。

2000年吉林大学合校,随着进入21世纪国内教学改革的进程,我们总结了20世纪末以来的社会发展,认识到:目前计算机已经渗透到社会各个领域,目前的计算机教育已经不是20年前的计算机教育了。与以往相比,现在绝大部分计算机专业人员主要在做“计算机应用”,而不是研究计算机本身。在这种形势下,“高级语言程序设计”不应该再去讲程序设计语言本身,而应该讲程序设计语言的应用。授课的重点应该是教会学生“怎么编程序”,而不是背几个语言符号、说明、语句等。按这种思想,我们逐渐形成了“以程序设计为主线”的教学指导思想。先后撰写并出版了高级语言程序设计系列教材。

这阶段的标志性成果包括:

  • 2004年《C程序设计》由高等教育出版社出版。该书以C语言为载体,以“程序设计”为主线,介绍程序设计技术,摈弃了流行的以“解释程序设计语言”为主的作法,把讲授重点放在程序设计方法上,注重对学生进行程序设计方法及算法的训练,注重体现“结构化程序设计”思想,注重培养和训练学生良好的程序设计风格。

  • 2006年《程序设计基础》和《大学计算机程序设计基础》被批准立项为“教育部普通高等教育十一五国家级规划教材”。

  • 2008年,《程序设计基础》“教育部普通高等教育十一五国家级规划教材”由高等教育出版社出版。该书进一步明确了“以程序设计为主线”的指导思想,对C语言本身采取“有所取、有所不取”的策略。“以案例为驱动”讲述程序设计的基本方法。

  • 2008年,《程序设计基础习题集》。该书贯彻主教材“以程序设计为主线”的指导思想,注意由浅入深地训练学生的程序设计技能。所选习题全部为“程序设计”习题,不依赖于任何“程序设计语言”,不选择有关语言知识方面的习题,目的是提高读者的程序设计能力。全书共1315个题目,是目前出版的程序设计习题集中程序设计题目题量最大的之一。

  • 2009年《大学计算机程序设计基础》“教育部普通高等教育十一五国家级规划教材”由清华大学出版社。

进入十二五以来,计算机学科教学思想进一步得到提升,“计算思维”思想被提出并得到广泛重视。计算思维是运用计算科学的基本概念进行问题求解、系统设计和行为理解等的思维方式。如同人人都具备“读、写、算”(简称3R)能力一样,计算思维是每个人都必须具备的思维能力。

人类的思维可以总结为由三个部分组成:

  1. 以观察和总结自然规律为特征的实证思维——以物理学科为代表;

  2. 以推理和演绎为特征的推理思维——以数学学科为代表;

  3. 以设计和构造为特征的计算思维——以计算机学科为代表。

    计算思维体现了计算机学科基本特征和方法。

    在这种形势下,我们对“高级语言程序设计”课程的教学思想、理念、内容、方法、过程进行进一步研究、探讨和改革。

    在教学思想上,进一步提升了“以程序设计为主线”的指导思想,提出在坚持这一指导思想的同时要进一步贯彻和渗透“计算思维”思想,着重培养学生的计算思维能力。

    在教学理念上,进一步提出了“授之以渔” 而非“授之以鱼”的理念。针对程序设计的每个知识模块都采取“提出有意义的问题→设计算法→分析算法特点→编出程序→运行程序→介绍使用的C语言成分→配合讲述大量例题→课后习题”模式组织教学内容。同时配合相关配套课件,培养学生计算思维能力,增加学生的学习动力,提高学习效果。

    在教学内容上,贯彻“以程序设计为主线”的指导思想,把教学重点放在程序设计上,注重对学生进行程序设计方法及算法训练,尤其注重对学生进行“计算思维”思想训练。对C语言采取“有所取、有所不取”的策略,摈弃了流行的 “以解释程序设计语言为主”的作法。真正的讲“程序设计”,而非讲“语言”,跳出“程序设计语言”的误区,以培养学生计算思维能力为目标。

    在教学方法上,进一步强化“以案例为驱动”的方法,突出实践。在教学过程中使用大量“案例”讲解程序设计思想和方法。讲解过程中突出算法和解题方法训练,突出计算思维能力培养,彻底改变过去那种单纯解释语法、语义等语言成分的做法;改变了那种提出一个语言概念并解释,然后以一小程序说明相应概念的做法;而让程序设计始终贯穿于整个教学过程。“案例”多选择与实际相关、实用的题目。“案例”的目的不是为了解释语言概念,而是为了讲述程序设计方法、构造算法,以训练学生的实际编程能力、计算思维能力为目标。

    在过程中,“实践过程进课堂”、“多媒体手段与传统教学方式相结合”。传统方式充分发挥了课堂主动性,灵活的组织了教学。多媒体手段信息量大,以整齐、生动和可重现的方式展示课程内容。实践过程进课堂,教师直接“在C编译环境下”进行课堂教学,在课堂上对所讲例题直接编程序、编译、连接、运行,使学生直接体会程序设计的全过程,避免了纸上谈兵,拉进了学生与程序间的距离,提高了学生的学习积极性,提高了教学效率和效果。

这阶段的标志性成果包括:

  • 2011年十一五规划教材《程序设计基础》被评为2011年度国家级精品教材

  • 2012《程序设计基础》被遴选为十二五国家级规划教材(已经公示)

  • 2012年以计算思维为主导思想和理念的《程序设计基础》第二版改写完成(待出版)

参考教材



课程评价

教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
2.2 数据
视频
.mp4
2013-12-13 799.68MB
2.3.2 表达式
视频
.mp4
2013-12-12 826.75MB
3.1 判断成绩是否及格——双分支程序设计
视频
.mp4
2013-12-12 330.87MB
3.2 成绩加上获奖信息—单分支程序设计”
视频
.mp4
2013-12-13 922.01MB
3.3 布尔类型
视频
.mp4
2013-12-12 357.57MB
3.4 获奖分等级——多分支程序设计
视频
.mp4
2013-12-13 562.71MB
3.5 表示汽车种类——枚举类型
视频
.mp4
2013-12-12 288.88MB
4.1 计算平均成绩——循环程序
视频
.mp4
2014-01-07 127.01MB
4.2 后判断条件循环
视频
.mp4
2013-12-13 507.10MB
4.3 先判断条件循环
视频
.mp4
2013-12-13 629.84MB
4.4 for语句
视频
.mp4
2013-12-13 230.72MB
4.5 计算全班每人平均成绩—多重循环
视频
.mp4
2013-12-13 536.39MB
4.6 程序设计实例
视频
.mp4
2013-12-13 787.10MB
5.1 求给定三角形重心—模块化程序设计
视频
.mp4
2013-12-13 335.84MB
5.2 函数
视频
.mp4
2013-12-13 491.15MB
5.3 程序设计实例
视频
.mp4
2013-12-13 342.53MB
6.1 成绩统计——数组类型
视频
.mp4
2014-02-12 803.98MB
6.2 统计多科成绩——多维数组
视频
.mp4
2014-01-07 316.27MB
6.7 带学号的成绩排序——数组初值
视频
.mp4
2014-01-07 621.03MB
6.8 表示姓名——字符串
视频
.mp4
2014-01-07 1.21GB
7.1.1 指针类型和指针变量
视频
.mp4
2013-12-12 391.19MB
7.1.2 指针所指变量
视频
.mp4
2013-12-11 243.31MB
7.1.3 空指针、无效指针
视频
.mp4
2013-12-11 178.71MB
7.2 指针操作
视频
.mp4
2013-12-12 131.76MB
7.3 指向指针的指针
视频
.mp4
2013-12-12 125.98MB
7.4.1 用指针标识数组
视频
.mp4
2013-12-12 287.88MB
7.4.2 指针运算
视频
.mp4
2013-12-12 355.84MB
7.4.3 应注意的问题
视频
.mp4
2013-12-12 377.71MB
7.5 多维数组与指针
视频
.mp4
2013-12-12 257.37MB
7.6 指针数组
视频
.mp4
2013-12-12 482.41MB
7.7 指针与字符串
视频
.mp4
2013-12-12 650.30MB
9.1.1 C参数的传递规则
视频
.mp4
2013-12-11 386.77MB
9.1.2 指针作参数
视频
.mp4
2013-12-11 351.26MB
9.1.3 数组作参数
视频
.mp4
2013-12-11 649.65MB
9.2 函数值
视频
.mp4
2013-12-11 410.70MB
9.3.1 作用域
视频
.mp4
2013-12-11 251.63MB
9.3.2 局部量和全局量
视频
.mp4
2013-12-11 157.83MB
 
视频
.mp4
2013-12-12 460.37MB
10.1 递归
视频
.mp4
2013-12-13 384.75MB
10.2 程序设计实例
视频
.mp4
2013-12-13 948.49MB
10.3 间接递归
视频
.mp4
2014-03-13 401.23MB
10.4 递归执行过程
视频
.mp4
2013-12-13 1.22GB
11.1 重新考虑户籍管理问题——文件
视频
.mp4
2013-12-13 130.48MB
11.2 文件概述
视频
.mp4
2013-12-13 406.60MB
11.3 打开、关闭文件
视频
.mp4
2013-12-13 93.29MB
11.4 IO操作
视频
.mp4
2013-12-13 688.58MB
11.5 与操作系统文件联系——程序参数
视频
.mp4
2014-01-07 465.17MB
11.6 程序设计实例
视频
.mp4
2013-12-13 181.21MB
12.1 自顶向下逐步求精
视频
.mp4
2013-12-13 891.00MB
12.2 结构化程序设计原则和程序风格
视频
.mp4
2013-12-12 961.81MB
12.3 程序设计实例
视频
.mp4
2013-12-12 1.12GB
13 动态数据组织
视频
.mov
2014-03-14 563.40MB
13.1 动态变量
视频
.mp4
2014-01-07 343.46MB
13.3 栈和队列
视频
.mp4
2014-03-13 895.63MB
13.5 树
视频
.mp4
2013-12-13 591.37MB
14 若干深入问题
视频
.mp4
2014-03-19 829.84MB
14.2 运算
视频
.mp4
2013-12-13 464.85MB
14.3 语句
视频
.mp4
2013-12-13 505.22MB
14.4 行指针
视频
.mp4
2013-12-13 605.96MB
14.5 共用体,位段
视频
.mp4
2013-12-13 498.40MB
14.6 存储类别
视频
.mp4
2013-12-13 896.35MB
14.7 编译预处理
视频
.mp4
2013-12-13 489.80MB
课程章节
提示框
提示框
确定要报名此课程吗?
确定取消