2023秋高级语言程序设计(郭勇)
SPOC学校专有课程
spContent=欢迎来到高级程序设计语言课程!本课程将带你踏上探索编程的旅程,让你体验编码的乐趣和挑战。无论你是否有编程经验,本课程都是一个理想的起点。 学习程序设计是一件充满挑战、更充满乐趣的事情,然而学习之初,它之所以给你枯燥乏味的感觉,那是因为没有发掘出它的趣味来。本课程力图用最简明的语言、最典型的实例及最通俗的解释将这种趣味性挖掘出来,带给你全新的学习体验,和你一起欣赏C语言之美,领悟C语言之妙,体会学习C语言之无穷乐趣。 相信通过这门C语言课程的学习,你将建立起坚实的编程基础,为将来的学习和工作打下扎实的基石。无论你是计算机专业学生还是对编程充满兴趣的爱好者,这门课程都将为你带来丰富的知识和无限的想象空间!让我们一起开启编程的精彩旅程吧!
—— 课程团队
课程概述

1. 为什么要学习这门课?

本课程是编程世界的入门门槛,掌握它可以为你的编程之路打下坚实的基础。本课程教授的语言是一种强大而灵活的编程语言,广泛应用于系统开发、嵌入式系统、游戏开发和科学计算等领域。通过学习C语言,你将掌握一种通用的编程语言,为将来学习其他编程语言打下坚实的基础。

设置本课程的主要目的是使学生掌握用计算机分析和解决问题的思维方法以及程序设计的基本方法,建立从问题到算法再到程序的认知,在从问题到算法再到程序的问题求解及程序构造和实现的过程中理解高级语言的基本构造要素以及算法和数据结构在程序构造中的作用,具备良好的编程素养,以及综合运用所学程序设计语言和程序设计方法,设计、构造和应用计算系统求解科学或工程问题的程序设计和实现能力,为后继课程的学习和将来从事软件开发、解决复杂工程问题奠定编程能力基础。


2. 这门课的主题是关于什么?

这门课程的主题是教授C语言编程的知识和使用方法。你将学习C语言的语法和基本概念,如变量、数据类型、控制流程、函数、数组、指针等。通过理论与实践相结合的方式,你将逐步掌握C语言的核心概念和编程技术,能够熟练使用C语言编写程序。

 

3. 学习这门课可以获得什么?

通过学习这门课,你将获得以下几方面的收获:

1)   编程基础:掌握C语言的基本语法和编程技巧,为学习其他编程语言打下坚实的基础。

2)   逻辑思维能力:编程过程要求逻辑清晰,培养了解决问题和思考的能力。

3)   程序设计能力:学习C语言能够培养编写结构良好、高效的程序的能力。

4)   动手实践能力:锻炼你的编程能力和解决问题的能力。你将逐渐提升自己的编程能力和解决问题的能力。实践是学习编程的关键,只有通过实践才能真正掌握和应用所学的知识。

5)   就业竞争力:C语言是许多软件开发职位的基本要求,掌握C语言能够增加你在就业市场上的竞争力。

 

4. 这门课的特色和亮点

       1)   实践导向,强调编程方法,淡化语言语法,以讲解编程方法和问题求解方法为主,避免学生在学习完程序设计后“只见树木、不见森林”,只会语法,课程中采用实践编程为主的教学方式,通过编写小程序和项目,让你动手实践和运用所学知识。

       2)   面向应用,问题驱动,以点带面,突出重点和难点,计算思维和编程能力培养为主,算法和数据结构为辅。以点带面,培养学生选择恰当的问题求解策略或算法以及适合问题求解的数据结构,进行程序设计和实现的能力。

       3)   讲练结合,精讲多练,边讲边练,以练为主:本课程的特点是实践性强,因此教学方法要以练为主,教师要带领学生一起读程序、写程序和调试程序,让学生边学边用,学以致用。

       4)   采用混合式教学方法,课前预习,课上内化,课后强化:引导学生课前先在MOOC课程中自学,针对学生不易理解的难点和重点内容,在课堂上通过精讲多练和边讲边练达到让学生将知识内化的目的,课后通过大量的代码阅读和编程训练强化其编程能力。

       5)   以考督学,以考促练,引导学生自主编程训练,辅助教师因材施教和有的放矢地改进教学:本课程有完备的教学辅助平台,包括面向学生自主学习的高级语言程序设计能力训练平台、编程题考试自动评分系统、试卷和题库管理系统,因此可以借助这些平台和阶段考核引导和促进学生自主编程训练,使教师及时掌握学生的学习进展,及时与学生沟通,对学习困难的学生给与个性化帮助和辅导。

       6)   适当课堂翻转,注重项目实践。

授课目标

《高级语言程序设计》是计算机和电信大类/软件工程大类的一门重要的专业基础课程。设置本课程的主要目的是使学生掌握用计算机分析和解决问题的思维方法以及程序设计的基本方法,建立从问题到算法再到程序的认知,在从问题到算法再到程序的问题求解及程序构造和实现的过程中理解高级语言的基本构造要素以及算法和数据结构在程序构造中的作用,具备良好的编程素养,以及综合运用所学程序设计语言和程序设计方法,设计、构造和应用计算系统求解科学或工程问题的程序设计和实现能力,为后继课程的学习和将来从事软件开发、解决复杂工程问题奠定编程能力基础。课程具体目标如下:

课程目标1:掌握程序设计的方法学基础,培养学生阅读程序、编写程序和调试程序的能力,使学生能够选择与熟练运用现代化集成开发工具编写、测试和调试程序,了解鲲鹏体系和鲲鹏计算平台应用开发的流程,鲲鹏计算平台和X86平台的差异,以及针对编译型语言(C语言)掌握鲲鹏计算平台和X86平台代码编写及编译的差异,具备良好的编程素养、职业道德以及自主学习和终身学习能力。

课程目标2:掌握程序设计所需的问题求解基础,培养学生从问题抽象为数学模型或算法再转化为计算机可实现的程序的能力,使学生针对计算、统计、分类等相关的实际问题,能够有效使用程序设计语言和结构化程序设计方法,并恰当使用枚举、递推、分治或递归等常用问题求解方法,完成经典问题求解程序的设计与实现。

课程目标3:掌握程序设计所需的算法和数据结构基础,培养学生利用算法和数据结构构造程序的能力,使学生针对科学计算/文本处理/人工智能相关的复杂工程问题,能够使用恰当的算法和数据结构以及模块化程序设计方法,完成涉及排序、检索、匹配等算法的实际生活问题或与专业背景相关的工程实际问题的程序设计与实现。

成绩要求

自主自助式作业

10%

自主自助式作业,占总成绩的10%。

实验上机随堂测试

60%

实验上机随堂测试,占总成绩的60%。

开放式实验大作业

20%

开放式实验大作业,占总成绩的20%。

不提交实验大作业者,课程总成绩按0分计。

小班主题研讨

10%

小班主题研讨,占总成绩的10%。

附加分

 

(1)完成实验上机随堂测试的附加题,获得附加分。

(2)同时在x86平台和鲲鹏计算平台上开发程序,获得附加分。



课程大纲
参考资料

1.     苏小红,叶麟,张羽,张彦航.《程序设计基础(C语言)慕课版》,人民邮电出版社,2022年12月

2.   《C语言程序设计精髓》MOOC课程,爱课程中国大学MOOC平台,学堂在线平台

3.   《程序设计基础》MOOC课程,爱课程中国大学MOOC平台,学堂在线平台

主要参考书:

1. 苏小红,王宇颖,孙志岗等.《C语言程序设计(第4版)》,高等教育出版社,2019年7月

2. 苏小红,王甜甜,车万翔等.《C语言程序设计学习指导(第4版)》,高等教育出版社,2019年9月


常见问题

Q :  本课程涉及的网站都是什么:

A :  

1.中国大学MOOC(慕课)

链接:https://www.icourse163.org/spoc/course/HIT-1469666163

作用:该网站包括课程的全部视频、课件;在此网站完成开放式项目大作业,占总成绩的20%。

2.高级语言能力测试平台(SSE)

链接:https://sse.hit.edu.cn/train/login.aspx

作用:自主练习刷题,完成共计1000分的作业。占总成绩的5%。

3.头歌教学平台

链接:https://www.educoder.net/classrooms/gfx976em?code=RWZ3M

作用:完成指定的作业。占总成绩的5%。

4.c语言考试平台

作用:实验课模拟考试;三次上机考试。占总成绩的60%。