计算概论A

Introduction to Computing

计算概论A是针对“信息科学技术学科一年级本科生”开设的一门专业基础主干课程。本课程的教学目标有二:其一,帮助学…

北京大学

分享

北大慕课计算概论A
  • 分类: 计算机
  • 平台: Coursera
  • 语言: 中文

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

课程概述

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

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

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

对于第一次学习计算机程序设计的同学而言,通常会觉得学习过程比较困难。在这里,我们特别提示大家:“对于难学的东西,更要循序渐进,更要遵循学习规律——先打好基础,逐步进阶!”为此,我们把“程序设计基础”部分的学习划分为四个迭代周期:
周期一: 感性认识计算机程序;
周期二: 理性认识程序设计语言;
周期三: 学会使用——函数;
周期四: 学习使用C程序中的复杂成分(指针、结构体、链表、文件等);

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

该课程是“北大-德稻网络公开课程”中的一门,由北京大学与德稻教育联合提供。

授课大纲

计算机基础知识
1、计算机的基本原理
2、计算机的历史与未来
3、程序运行的基本原理

程序设计基础
周期一:感性认识计算机程序
1感性认识计算机程序
2从现实问题到计算机程序

周期二:理性认识程序设计语言
1、C++语言的基本成分–数据成分
2、C++语言的基本成分–运算成分
3、C++语言的基本成分–控制成分
4、C++程序中的数组
5、字符数组与字符串
6、程序设计习题课(1)

周期三:学会使用——函数
1、C++程序中的函数
2、函数 – 嵌套、递推、递归
3、函数 – 递归(1)
4、函数 – 递归(2)
5、函数 – 递归(3)

周期四:学习使用C程序中的复杂成分
1、可爱的 指针(1)
2、可爱的 指针(2)
3、可爱的 指针(3)
4、结构体与链表
5、流与文件
6、程序设计习题课(2)
7、程序设计基础总结

先修知识

本课程的内容针对“信息科学技术”专业的一年级本科生而设,我们不要求也不假设选课学生有任何信息科学技术相关专业的知识背景,也不要求有任何的程序设计知识背景。
对于具有一定专业知识背景或具有一定程序设计基础的同学,可以选择跳过相应章节,选择有兴趣的章节学习。

参考资料

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

参考教材
[1] C++程序设计,谭浩强,清华大学出版社,2006年.
[2] 《程序设计基础》(第二版),吴文虎,清华大学出版社,2006年7月 参考教材
[3] Computer Systems -A Programmer’s Perspective, Randal E.Bryant, David O’Hallaron, Prentice Hall, 2002.
[4] C++ Programming Today (2 edition), Barbara Johnston, Prentice Hall, 2007.

授课形式

本课程的内容按照上述方式组织,每一节课程的内容,包含“课程视频”“思考题”和“练习题”三个部分。其中:
每一节课的“课程视频”,根据所含内容的不同,被拆分成多个相对独立的“部分”,每个部分力争讲解一个独立的话题,以方便大家利用零散的时间来学习相关内容。
“思考题”多数为问答题,其目的有两个:(1)重申课程的重点内容,以帮助大家进一步感受,哪些内容是需要理解的重点;(2)获取一些与各位同学的学习感受和学习进度相关的信息。
“练习题”是程序设计训练的重点!本课程所有的练习题都是在线练习(在线提交程序代码,在线反馈代码执行结果),届时,会要求各位同学登录 http://ica.openjudge.cn/ 选择相应的练习题完成作业。

本课程的期中和期末考试,也是通过 http://ica.openjudge.cn/ 网站完成,届时,会选择多道题目,并要求各位同学在规定时间(暂定48小时)内完成,根据完成情况,给出分数。

常见问题

Q: 课程成绩如何评定?
A: 本课程的最终评分分为“优秀”、“通过”、“不通过”三个等级。
本课程的成绩分为5个部分:思考题10%,编程作业50%,期中考试15%,期末考试20%,论坛讨论参与5%
“思考题”多数为问答题,其目的有两个:(1)作为课程内容的延伸,促进学生的进一步独立思考;(2)对课程中所涉及的知识点的掌握程度进行考察;(3)进一步提示大家哪些内容是课程的重点;(4)做一些调研,以获取课程相关的信息。编程作业每次开放7天,截止后还有7天可以提交,但会有每天5%的扣分,再之后提交无效。

“编程作业”是课程考核的重点。本课程绝大部分编程作业都是“在线”编程练习题,即需要各位同学登录 http://ica.openjudge.cn/ 网站,在该网站上,在线提交程序代码,在线即时查看程序执行结果。本课程的编程作业将于课程开始的第三周开始布置,届时,我们会给出提示,请大家要求要求登录上述网站并完成作业。编程作业每次开放7天,截止后还有7天可以提交,但会有每天5%的扣分,再之后提交无效。

“期中考试”计划安排在课程开始后的第7周(具体时间会提前公布),考试内容主要为程序设计相关内容,也通过 http://ica.openjudge.cn/ 网站完成,届时我们将在该平台上设置多道题目,并要求大家在约一周时间内完成。

“期末考试”将在学完全部课程内容之后进行(具体时间也会提前公布),考试形式与期中考试一致。
最终成绩≥60 即可获得合格证书
最终成绩≥85 即可获得优秀证书

Q: 如果我获得”优秀”或“通过”评分,能够获得证书吗?
A: 是的!完成课程并获得“通过”评分者将获得由北京大学授权主讲教师签署的成功完成课程学习的证书。

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界