学校云 建设你的专属在线教育平台
中国大学MOOC
SPOC学校专有课程
C语言程序设计
分享
spContent=C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 本课程是后续的操作系统、编译原理、体系结构等课程的基石。
—— 课程团队
课程概述

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

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

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

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

为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。

授课目标

程序设计基础是计算机科学与技术专业的核心专业基础课之一。程序设计课程不仅仅是知识的讲述,更重要的是一种基本技能的训练。因此本课程的教学目的是:

1)掌握程序及程序设计的基本概念。

2)掌握C语言的基本语法、基本概念和基础知识。

3)掌握结构化程序设计的常见技巧和算法。

4)具备较强的实践能力,特别是调试程序的能力。

7)通过本课程的教学,逐步培养学生的运用计算思维方式解决实际问题的能力。

8)强调计算机的系统观,让学生有意识地从整个计算机系统的角度来看待程序运行,理解程序的运行原理。

9)强调软件工程的意识,让学生意识到程序设计规范化的重要性,让学生理解系统分析、系统设计的重要性。


成绩 要求

课程的总分(平时测验和期末考试各占50%)达到60分以上,在线期末试卷也达到60分以上,可以获得本课程的合格证书。
课程的在线期末试卷达到60分以上,并且在课程结束后的24个月内,参加PAT(编程能力测试,https://pat.zju.edu.cn ),只以C语言答题,甲级获得20分及以上,乙级获得40分及以上者,在获得PAT证书之后,可以获得本课程的优秀证书。

PAT每年会有三次考试,分别在3月、8月和11月左右举行,目前在全国有12个城市有PAT的考场。PAT的成绩和证书在考试的当天就会公布。你只要在报名了PAT考试之后,通知我们你的报名考场,那么在考试通过的当天,我们就会给你发出证书。

课程大纲
预备知识

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

参考资料

[1]      C语言与程序设计方法》第二版,万常选等编著,科学出版社,2009年出版

[2]      裘宗燕等著,《问题到程序:程序设计与C语言引论》,机械工业出版社,2011.5

       [3]   何钦铭、颜晖,《C语言程序设计(第2版)》,高等教育出版社,2013年,ISBN 978-7-04-034672-5,购买网址:https://www.icourse163.org/learn/zju/zju001#/learn/custom?id=82002

常见问题

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的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。

Q:有的课件内容前面有个*号是什么意思?

A:这是参考课件,不是你必须看必须学的。比如,用来说明某个操作系统下需要如何编写程序的,或者针对计算机专业学生对某些问题的深入解释的。对这些问题的理解不会影响你的课程学习。