课程简介

你有没有好奇过:计算机为什么能够进行计算?计算机程序是怎样运行的?你是否想知道:计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些?《计算导论》这门课将帮助你解决这些疑惑。 学完这门课,你将能够解释计算机和程序的基本运行原理以及它们的特性,向你的朋友讲述计算机的历史和发展趋势;同时,你也将充分“热身”,迎接“计算机程序设计语言”的学习!

课程大纲

国家精品在线开放课程认定评审专家请关注:

由于国外平台访问课程视频有困难,评审专家可在华文慕课平台查看视频等静态内容,在Coursera查看互动情况,链接:https://www.coursera.org/learn/jisuanji-biancheng


第一章   计算机的基本原理

第二章   计算机的历史与未来

第三章   程序运行的基本原理

第四章   感性认识计算机程序

第五章   从现实问题到计算机程序

第六章   C++语言的基本成分–数据成分

第七章   C++语言的基本成分–运算成分

第八章   C++语言的基本成分–控制成分

第九章   C++程序中的数组

第十章   字符数组与字符串

第十一章   C++程序中的函数

第十二章   嵌套、递推、递归

第十三章   可爱的指针(1)

第十四章   可爱的指针(2)

第十五章   结构体与链表

第十六章   程序设计基础总结


课程说明

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


本课程的教学目标有二:其一,帮助学习者建立起“学习计算机科学技术知识所需的基本知识背景”;其二,帮助学习者“掌握计算机程序设计的基础知识”,培养学习者“独立设计计算机程序解决问题”的基本技能。



参考资料

基本资料:

主要参考本课程所提供的讲义资料,以及来自 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


拓展阅读

拓展阅读

其他

其他

主讲教师

李戈   

李戈,北京大学信息科学技术学院软件研究所副教授,教育部高可信软件技术重点实验室(北京大学)成员,北京大学元培学院导师。当前研究领域包括软件工程、Web知识提取、知件工程等。自2006年留校任教以来,主讲“计算概论A”等课程,2008年“计算概论A”课程被推选为“国家级精品课程”。他曾获得北京大学青年教师教学基本功比赛第一名,北京市青年教师教学基本功比赛比赛一等奖,北京市高等院校计算机基础教育研究会教学交流“特等奖”。

课程助教

  • 孙晓巍

  • jingpinmooc

相关课程推荐

  • 正在进行
    操作系统与虚拟化安全
    操作系统是计算机系统的基础软件,而系统虚拟化已成为云计算平台的核心技术,没有它们提供的安全性,这些计算机系统及其上数据的安全性都将无法保障。本课程将从理论与工程实践相结合的角度,介绍操作系统(Linux)与系统虚拟化(Xen)安全相关理论、技术和方法,包括:安全概念、安全机制、安全模型、安全体系结构、安全开发方法、安全标准与评测方法等,帮助你深入学习和理解该领域的知识体系、实践技术和方法。
  • 正在进行
    算法设计与分析
    本课程的内容分成两大部分:算法的基础知识、通用算法设计技术与分析方法。 第一部分是算法基础知识,约占20%,主要介绍算法相关的基本概念和数学基础。比如,什么是算法的伪码描述?什么是算法最坏情况下和平均情况下的时间复杂度?算法时间复杂度函数的主要性质,算法复杂度估计中常用的数学方法,如序列求和及递推方程求解。 第二部分是通用的算法设计技术与分析方法,主要介绍分治策略、动态规划、贪心法、回溯与分支限界。主要介绍这些设计技术的使用条件、分析方法、改进途径,并给出一些重要的应用。
  • 正在进行
    算法设计与分析(高级)
    “算法设计与分析”是计算机科学与技术专业的一门核心课程。通过学习算法不但对学习其他专业课程奠定了扎实的基础,也对培养学生的计算思维和求解问题的能力起到重要的作用。算法与计算复杂性理论一直是计算机科学研究的热点领域。面对各个应用领域的大量实际问题,最重要的是根据问题的性质选择正确的求解思路,即找到一个好的算法。特别在复杂的、海量信息的处理中,一个好的算法往往起到决定性的作用。 算法设计与分析涉及内容较多,根据MOOC课程的教学特点和需求,我们将它分成两个部分。其中“算法设计与分析(1)”主要讲授有关算法的基础知识和通用设计技术,包括算法的基本概念和数学基础、分治策略、动态规划、贪心法、回溯和分支限界等。“算法设计与分析(2)”是在上述基础上介绍两类重要问题的建模和算法设计,并进一步讨论问题难度的界定和困难问题的应对策略。这次开课的是第二部分“算法设计与分析(2)”。选修本课程的学生应该预先修过“算法设计与分析(1)”或者具有相关的基础。“算法设计与分析(1)”已经在华文慕课平台上线,网址是:http://www.chinesemooc.org/mooc/4748/,需要了解相关教学内容的同学可以访问。

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

1. 试试去广告邮件、垃圾邮件目录看看

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!