课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
SPOC学校专有课程
程序设计基础(C语言)和安全-四川大学-网安学院
第5次开课
开课时间: 2024年09月20日 ~ 2025年01月14日
学时安排: 3-5
当前开课已结束 已有 257 人参加
老师已关闭该学期,无法查看
spContent=C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 本课程是零基础的编程入门课,是后续的操作系统、编译原理、体系结构等课程的基石。
C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 本课程是零基础的编程入门课,是后续的操作系统、编译原理、体系结构等课程的基石。
—— 课程团队
课程概述

   程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。

   C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。

   对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介。但是对于计算机专业的学生,本课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石,对于C语言本身甚至程序设计语言基础原理的深入理解都是应该掌握的。

本课程是零基础的入门课程,完成本课程之后,就能具有初步的运用C语言编写程序的能力。要想完整的学习C语言,还需要进一步学习本课程的后续课程——《C语言程序设计进阶》。

   程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。

   为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。如果搞不定自己电脑上的编程软件,我们也会提供在网页中编写、运行C语言程序的方法。

授课目标

   主要目标包括讲解编程和编码技术的基本原理,讨论软件设计方法和介绍软件工程基本原理。整个课程都围绕这些课程目标进行组织,分为授课和实验两部分。

   具体地,本课程介绍C语言的基本原理,包括数据类型,运算符,表达式,结构,函数,数组,指针,结构体和文件等。本课程专注于程序设计基础,遵循软件工程原理,教学与实践结合,教会学生从程序员角度进行思考。学完本课程以后,学生应该:

   1. 能够从程序员的角度解决问题;

   2. 掌握基本的编程能力;

   3. 掌握一定的设计和调试技巧;

   4. 通过查阅文献、自主学习等方式了解软件开发流程;

   5. 动手编程能力以及思考和表达能力得到提高。

成绩 要求

课程的总分达到60分以上合格。

课程的总分达到90分以上优秀。

课程大纲

第1周:程序设计与C语言

1 计算机和编程语言

2 C语言

3 第一个程序

4课件

第2周:计算

1 变量

2 数据类型

3 表达式

4 在线评判系统

第3周:分支结构

1 判断

2 逻辑类型和运算

3 级联和嵌套的判断

4 多路分支

第4周:循环结构

1 循环

2 循环应用

3 判断和循环常见的错误

第5周:循环控制

1 循环控制

2 多重循环

3 循环应用

第6周:函数

1 函数的定义与使用

2 函数的参数和变量

第7周:数据类型

数据类型

第8周:数组

1 数组

2 二维数组

3 数组运算

4 搜索

5 排序初步

第9周:指针

指针

指针运算

第10周:字符串

1 字符串

2 字符串函数

第11周:结构类型

1 枚举

2 结构

3 联合

第12周:程序结构

1 全局变量

2 编译预处理和宏

3 大程序结构

第13周:文件

1 文件

2 位运算

游戏项目

1. 游戏项目启动说明

3. 小飞机

2. 贪吃蛇

安全项目

1. 安全项目相关基础

2. 安全项目要求和启动说明

展开全部
预备知识

   作为第一门编程课,本课程可以零基础学习。大学计算机(大学计算机基础、计算思维导论)等课程对于理解本课程的部分内容有帮助,但这些课程的学习不是必须的。

参考资料

何钦铭、颜晖,《C语言程序设计(第4版)》,高等教育出版社,2020年,ISBN 978-7-04-054506-7


颜晖、张泳,《C语言程序设计实验与习题指导(第4版)》,高等教育出版社,2020年,ISBN 978-7-04-054845-7

常见问题

Q:我需要特殊版本的计算机吗?

A:任何计算机都可以用于C语言编程,包括但不限于各个版本的MS Windows、各个版本的Mac OS X、各种发行版本的Linux。有的手机有app也能实现C语言编程,不过我们不推荐那么小的屏幕。


Q:我需要安装特定的软件才能做这门课的作业吗?

A:任何C语言的开发工具都可以。课程演示会使用Dev C++及命令行环境,但是你使用任何其他开发工具都不会影响做作业的正确性。可以使用的其他工具包括但不限于MS Visual Studio、C-Free等。


Q:每周会发布多少时间的视频?我需要花多少时间来学习?

A:我们按照90分钟的授课时间来设计课程。但是发布的视频肯定小于90分钟,一般在50到70分钟左右。因为在线下上课时,老师可能会回顾一下上周的内容、某些内容会看学生的反应重复几遍、会当堂问做一些提问,以及在各种软件等教学工具之间切换,这些都要花点时间,而这些在线上课程中都不存在了,所以视频的时间不会正好是90分钟。但是一般我们设计课程需要1:1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。

四川大学
3 位授课老师
赵奎

赵奎

教授

赵辉

赵辉

副教授

方智阳

方智阳

副教授

下载
下载

下载App