课程详情
课程评价
spContent=本课程是北京大学信息科学技术学院本科生入学之后的第一门专业基础课程(校内课名:计算概论A),也是中国大陆最早发布的第一门计算机相关的MOOC课程(2013年9月于Coursera首次发布)。 在这里,你将与北京大学的同学们一起,学习程序设计的基础知识,感受计算机科学与技术的巨大魅力!
—— 课程团队
课程概述

    “计算概论与程序设计基础”(北京大学校内课程名“计算概论A”)是针对“信息科学技术学科一年级本科生”开设的一门专业基础主干课程。本课程的教学目标有二:其一,帮助学习者建立起“学习计算机科学技术知识所需的基本知识背景”;其二,帮助学习者“掌握计算机程序设计的基础知识”,培养学习者“独立设计计算机程序解决问题”的基本技能。


    本课程的内容主要分为两个部分:(1)计算概论部分,约占课时量的15%;(2)程序设计基础部分,约占课时量的85%


    计算概论部分,我们将为大家解答一些与计算机程序设计相关的基础问题,例如,“计算机为什么能够进行计算?”,“计算机程序在计算机中是如何运行的?”,“计算机的发展规律是什么?”,“下一代的计算机将会是什么样子?”等等。我们希望通过对这些问题的解答,达到两个目的:其一,培养起大家对计算机科学的兴趣;其二,帮助大家建立起学习计算机科学所需要的“背景知识框架”。


    程序设计基础部分,我们将以“C 语言”为主要学习对象,以典型的C++编程环境(如Visual Studio C++, Eclipse等)为工具,学习计算机程序设计的相关知识,并培养程序设计的基本技能。通俗讲,在这个部分,我们将教会大家“如何使用C语言编写计算机程序,甚至编写具有一定技术难度的程序”。

    对于第一次学习计算机程序设计的同学而言,通常会觉得学习过程比较困难。在这里,我们特别提示大家:“对于难学的东西,更要循序渐进,更要遵循学习规律——先打好基础,逐步进阶!”为此,我们把“程序设计基础”部分的学习划分为四个迭代周期

        周期一: 感性认识计算机程序; 

        周期二: 理性认识计算机程序;  

        周期三: 函数——结构化的程序; 

        周期四: 一些稍复杂的数据结构(指针、结构体、链表等);

    之所以称为“迭代周期”,是因为我们希望在每个周期中,同学们都能够编写出完整、可运行、能解决问题的计算机程序,而不是仅仅学习计算机程序设计语言的某个部分!所以,学习程序设计的过程,应该是一个“在实战中进阶”的过程,而不是一个“知识堆砌”的过程。希望这个迭代进阶的学习过程可以帮助大家顺利达成学习目标。

课程大纲
证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


参考资料

基本资料:

主要参考本课程所提供的讲义资料,以及来自 https://ica.openjudge.cn/  的相关练习题。

参考教材:

[1] 《程序设计基础》(第二版),吴文虎,清华大学出版社,2006年7月 参考教材

[2] Computer Systems -A Programmer's Perspective, Randal E.Bryant, David O'Hallaron, Prentice Hall, 2002

[3] C++ Programming Today (2 edition), Barbara Johnston, Prentice Hall, 2007