spContent=C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。
本课程是零基础的编程入门课,是后续的操作系统、编译原理、体系结构等课程的基石。
—— 课程团队
课程概述
程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。
C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。
对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介。但是对于计算机专业的学生,本课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石,对于C语言本身甚至程序设计语言基础原理的深入理解都是应该掌握的。
程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。
本课程是面向浙江大学城市学院计算机科学与技术专业学生开设的一门异步SPOC课程,作为2019-2020学年第1学期《程序设计基础与实验》课程的网络学习平台。《程序设计基础与实验》采用MOOC+SPOC+翻转课堂+PTA+DrZ五位一体的线上线下混合式教学模式,你可用的学习资源除了常规的教材、课件以外,还包括两门MOOC、本门SPOC、程序设计类实验辅助教学平台PTA和移动课堂小工具DrZ。
两门MOOC都由浙江大学翁恺老师主讲,第一门是《程序设计入门-C语言》,该课程是零基础的入门课程,完成本课程之后,就能具有初步的运用C语言编写程序的能力,该课程也是我们这门SPOC的源课程;要想完整的学习C语言,还需要进一步学习后续课程——《C语言程序设计进阶》。你的预习和复习常常需要听翁老师的MOOC。当然,MOOC所提供的只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。
SPOC是你的课程学习平台,上面有源课程《程序设计入门-C语言》的全部MOOC资源,你可以超越MOOC的进度提前学习;当然,线下翻转课堂要完成的任务和资源也发布在这里。
PTA是由浙江大学陈越老师负责开发的上机实验平台,本学期我们的平时练习、测验、月考和期末考试都在这里完成。
DrZ是浙江大学城市学院彭彬老师开发的一个移动课堂小工具,每次上课签到、分组、学习调查将在这里完成。
为了学习编程,要用好资源,更需要你多多练习,除了课内上机时间外,课后学校机房也是对你开放的。当然,如果有一台自己的计算机也挺好,无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。
授课目标
学习者通过对C语言相关基础知识的学习及编程练习,理解结构化程序设计的基本思想与方法,熟悉计算机求解实际问题的基本过程,掌握基本的程序设计思想、方法和调试技术,从而具备基本的问题分析、数据表达以及算法描述和实现的能力。
成绩要求
浙江大学城市学院《程序设计基础与实验》:课程总分达到60分以上,可以获得4.5学分。拿到MOOC优秀、合格证书的同学,可以有加分呦。
不过,这里是SPOC,我们不发MOOC证书,不发MOOC证书,不发MOOC证书,重要的事情说3遍。
要拿MOOC证书的同学,必须注册MOOC《程序设计入门-C语言》、《C语言程序设计进阶》学习。
课程大纲
预备知识
作为第一门编程课,本课程可以零基础学习。大学计算机(大学计算机基础、计算思维导论)等课程对于理解本课程的部分内容有帮助,但这些课程的学习不是必须的。
参考资料
何钦铭、颜晖,《C语言程序设计(第3版)》,高等教育出版社,2015年,ISBN 978-7-04-043128-3
颜晖、张泳,《C语言程序设计实验与习题指导(第3版)》,高等教育出版社,2015年,ISBN 978-7-04-043563-4
常见问题
Q:我需要特殊版本的计算机吗?
A:任何计算机都可以用于C语言编程,包括但不限于各个版本的MS Windows、各个版本的Mac OS X、各种发行版本的Linux。有的手机有app也能实现C语言编程,不过我们不推荐那么小的屏幕。
Q:我需要安装特定的软件才能做这门课的作业吗?
A:任何C语言的开发工具都可以。课程演示会使用Dev C++及命令行环境,但是你使用任何其他开发工具都不会影响做作业的正确性。可以使用的其他工具包括但不限于MS Visual Studio、C-Free等。
Q:每周我需要花多少时间来学习?
A:《程序设计基础与实验》课程是4.5学分,每周6节课,包括理论课和实验课,按照每节课45分钟的时间计算,课内4.5小时;一般需要1:0.5到1:1的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要7~9小时的时间。
Q:MOOC每周会发布多少时间的视频?
A:一般按照90分钟的授课时间来设计课程。但是发布的视频肯定小于90分钟,一般在50到70分钟左右。因为在线下上课时,老师可能会回顾一下上周的内容、某些内容会看学生的反应重复几遍、会当堂问做一些提问,以及在各种软件等教学工具之间切换,这些都要花点时间,而这些在线上课程中都不存在了,所以视频的时间不会正好是90分钟。