杜祥军 高级实验师
单位:青岛大学
部门:计算机科学技术学院
职位:院长助理
提供学校: | 青岛大学 |
课程编号: | C07000103008 |
【课程编号】C07000103008 【课程类别】专业基础必修课 【总学时数】48+32 【周学时数】3+2 【学 分 数】3+1 【适用专业】计算机科学与技术、软件工程、信息安全、智能科学与技术 【课程简介】《高级程序设计语言》是计算机相关专业的基础必修课程,是《数据结构》、《面向对象程序设计》、《计算机操作系统原理》、《算法设计与分析》等课程的先修课程。该课程通过系统讲授C语言语法知识、程序结构、数据类型与结构化程序设计思想等内容,使学生掌握利用计算机语言编写程序解决问题的过程与方法,为其进一步学习后续专业课程奠定基础。
高级程序设计语言是计算机相关专业的基础必修课程,旨在通过系统讲授C语言使学生能够理解掌握计算机程序设计的基本过程与方法。但本课程对于初次接触计算机程序设计的学生来讲,理解与掌握难度比较大,因此需要综合理论讲授、实例剖析、课堂讨论、实验练习、在线测试、过程性考核等多种方法,以程序设计能力培养为目标,以生动具体的问题为驱动,以深入细致的讲解为核心,以体系化设计的实验测试为保障,形成以能力培养为目标、以问题实例为驱动、线上线下结合、以学为中心的教学方法体系,具体包括以下环节:
1. 程序设计能力培养
本课程的开设目标是以C语言为例系统讲解一门高级程序设计语言,使学生掌握计算机语言的基本要素与特征,能够利用计算机语言针对具体应用问题完成程序设计与软件系统开发,其主旨是培养学生利用程序设计解决具体应用问题的能力。因此,应将传统的以C语言语法为核心的内容体系,转变为以程序设计能力培养为核心的内容体系。具体来说,就是将C语言的讲解与计算机系统、问题建模与软件系统开发等环节结合起来,使学生通过学习C语言系统理解计算机系统的运行机理,并系统理解利用计算机程序设计解决问题的过程与方法。
2. 问题实例驱动讲解
一方面,本课程以培养学生程序设计能力为核心;另一方面,本课程开设在第一学期,无先修课程。两方面因素使得学生在学习时,往往难以提纲挈领。因此,授课过程中应讲解计算机系统的组成与工作原理,帮助学生系统理解计算机程序设计的相关概念。进而,针对知识点体系,选择合适的配套问题与实例,具体讲解程序设计实现过程,举一反三,降低知识点学习难度,提升学生的学习兴趣,将问题分析与实例讲解贯穿授课全过程。
3. 线上测试与过程性考核
计算机程序设计类课程具有较强的实践性,众多知识点均需学生动手编程才能掌握。传统的授课往往需要设计大量的习题,通过随堂作业的方式检查学生的学习效果。一方面,这些习题往往面向基础语法,学生的程序设计能力难以考察;另一方面,教师的评测工作量较大,且可能存在主观性。因此,本课程应依托OJ、PTA等系统,采用线上测试与过程性考核,对学生的学习过程和效果进行全周期的考核测试,具体考核测试可包括知识点测试、阶段性测试、综合考核等。
线上平台:PTA pintia.cn
4. 线下讨论与探究性学习
针对部分重难知识点,授课过程中应引入开放问题与探究性问题,这些问题应与计算机相关专业领域内的核心理论和前沿技术紧密相关。适时组织学生讨论,并通过分组的方式引导学生完成对知识点的探究学习,完成相应的程序编写,形成学习报告。以此为载体,提升学生学习兴趣,并为其后续学习和发展提供专业方向上的引导。
(一)教材
1. 何钦铭, 颜晖,C语言程序设计(第2版),北京:高等教育出版社,2012.
2. K.N.King, C语言程序设计:现代方法(第2版),北京:人民邮电出版社, 2010.
3. Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, second edition, Prentice Hall, 1988.
4. 裘宗燕,从问题到程序:程序设计与C语言引论(第2版), 北京:机械工业出版社,2011.
5. 杜祥军, 等,C语言学习指导与课程设计实践,北京:电子工业出版社,2015.
(二)在线课程
1. 青岛大学在线课程平台 http://mooc1-api.icourses.qdu.edu.cn/course/26447.html
2. 翁恺. 程序设计入门——C语言. https://www.icourse163.org/course/ZJU-199001
(三)教学平台与实验系统
1. 青岛大学OJ平台(QDUOJ),https://qduoj.com
2. 程序设计类实验辅助教学平台(PTA),https://pintia.cn/
课程章节 | | 文件类型 | | 上传时间 | | 大小 | | 备注 | |
1.1 计算机基本组成 |
.pdf
|
2023-09-17 | 1.86MB | ||
1.2 现代计算机的发展 |
.pdf
|
2023-09-17 | 780.00KB | ||
1.3 信息的表示与存储 |
.pdf
|
2023-09-17 | 682.52KB | ||
1.4 计算机程序设计 |
.pdf
|
2023-09-17 | 574.77KB | ||
1.5 程序设计方法与语言 |
.pdf
|
2023-09-17 | 678.51KB | ||
1.6 计算思维及其应用 |
.pdf
|
2023-09-17 | 627.90KB | ||
2.1 课程信息 |
.pdf
|
2023-09-17 | 1.56MB | ||
2.2 关于计算机 |
.pdf
|
2023-09-20 | 2.37MB | ||
2.3 关于计算机程序设计 |
.pdf
|
2023-09-17 | 2.37MB | ||
2.4 C语言的故事 |
.pdf
|
2023-09-17 | 2.37MB | ||
2.5 认识C语言程序 |
.pdf
|
2023-09-17 | 2.37MB | ||
2.6 如何编程求解问题 |
.pdf
|
2023-09-17 | 2.37MB | ||
3.1 数据的表示与存储-基本数据类型 |
.pdf
|
2023-09-17 | 1.49MB | ||
3.2 数据的基本运算 |
.pdf
|
2023-09-17 | 710.33KB | ||
3.3 数据的基本操作-输入输出 |
.pdf
|
2023-09-17 | 225.96KB | ||
4.1 分支结构 |
.pdf
|
2023-09-17 | 537.96KB | ||
4.1.1 if...else... |
.pdf
|
2023-09-20 | 388.48KB | ||
4.1.2 switch |
.pdf
|
2023-09-20 | 367.11KB | ||
4.2 循环结构 |
.pdf
|
2023-09-17 | 882.08KB | ||
4.2.1 循环语句 |
.pdf
|
2023-09-20 | 643.91KB | ||
4.2.2 循环结构程序设计 |
.pdf
|
2023-09-20 | 383.57KB | ||
4.3 函数 |
.pdf
|
2023-09-17 | 628.54KB | ||
4.3.1 函数语法 |
.pdf
|
2023-09-20 | 386.37KB | ||
4.3.2 函数程序设计 |
.pdf
|
2023-09-20 | 376.29KB | ||
4.3.3 作用域与生存期 |
.pdf
|
2023-09-20 | 350.53KB | ||
5.1 数组 |
.pdf
|
2023-09-20 | 952.45KB | ||
5.1.1 一维数组 |
.pdf
|
2023-09-20 | 468.97KB | ||
5.1.2 二维数组 |
.pdf
|
2023-09-20 | 328.08KB | ||
5.1.3 字符数组与字符串 |
.pdf
|
2023-09-20 | 412.55KB | ||
5.2 结构与联合 |
.pdf
|
2023-09-20 | 464.05KB | ||
5.3 C语言的灵魂-指针 |
.pdf
|
2023-09-20 | 1.14MB | ||
5.3.1 指针的定义与运算 |
.pdf
|
2023-09-20 | 314.07KB | ||
5.3.2 指针与函数 |
.pdf
|
2023-09-20 | 506.82KB | ||
5.3.3 指针与数组 |
.pdf
|
2023-09-20 | 495.03KB | ||
5.3.4 多级指针 |
.pdf
|
2023-09-20 | 532.09KB | ||
5.3.5 指针与结构 |
.pdf
|
2023-09-20 | 357.28KB | ||
5.3.6 动态内存与链表 |
.pdf
|
2023-09-20 | 350.54KB | ||
6.1 结构化程序设计 |
.pdf
|
2023-09-20 | 388.22KB | ||
6.2 宏与预处理 |
.pdf
|
2023-09-20 | 428.06KB | ||
6.3 多文件程序设计 |
.pdf
|
2023-09-20 | 358.72KB |