本课程的内容主要分为两个部分:(1)计算机基础知识,约占课时量的15%;(2)C程序设计基础,约占课时量的85%;
在计算机基础知识部分,我们将为大家解答一些与计算机程序设计相关的基础问题,例如,“计算机为什么能够进行计算?”,“计算机程序在计算机中是如何运行的?”,“计算机的发展规律是什么?”,“下一代的计算机将会是什么样子?”等等。我们希望通过对这些问题的解答,达到两个目的:A 培养起大家对计算机科学的兴趣;B 帮助大家建立起学习计算机科学所需要的“背景知识框架”。
在C程序设计基础部分,我们将以“C 语言”为主要学习对象,以典型的C++编程环境(如Visual Studio C++, Eclipse等)为工具,学习计算机程序设计的相关知识,并培养程序设计的基本技能。通俗讲,在这个部分,我们将教会大家“如何使用C语言编写计算机程序,甚至编写具有一定技术难度的程序”。
对于第一次学习计算机程序设计的同学而言,通常会觉得学习过程比较困难。在这里,我们特别提示大家:“对于难学的东西,更要循序渐进,更要遵循学习规律——先打好基础,逐步进阶!”为此,我们把“程序设计基础”部分的学习划分为四个迭代周期:
周期一: 感性认识计算机程序;
周期二: 理性认识程序设计语言;
周期三: 学会使用——函数;
周期四: 学习使用C程序中的复杂成分(指针、结构体、链表、文件等);
之所以称为“迭代周期”,是因为我们希望在每个周期中,同学们都能够编写出完整、可运行、能解决问题的计算机程序,而不是仅仅学习计算机程序设计语言的某个部分!所以,学习程序设计的过程,应该是一个“在实战中进阶”的过程,而不是一个“知识堆砌”的过程。希望这个迭代进阶的学习过程可以帮助大家顺利达成学习目标。
该课程是“北大-德稻网络公开课程”中的一门,由北京大学与德稻教育联合提供。
Ge Li 李戈, Ph.D., Jiaying Liu 刘家瑛, Ph.D., Prof. Ming Zhang 张铭 and 郭 炜