课程简介

通过这门课程的学习,学生将了解计算理论的基础知识,掌握有效计算的概念。本课程的教学内容包括:形式语言与自动机理论、可计算性理论、计算复杂性理论等三个部分。这些内容分别回答下列问题:(1)有哪些计算装置?它们的能力如何?(2)什么是计算?哪些问题是(不)可计算的?(3)什么是有效计算?哪些问题是(不)可有效计算的?通过这门课程的学习,学生将了解计算理论的基础知识,掌握有效计算的概念。

课程大纲

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

由于国外平台访问课程视频较慢,评审专家可在华文慕课平台查看视频等静态内容,在edX查看互动情况,链接:https://www.edx.org/course/li-lun-ji-suan-ji-ke-xue-ji-chu-pekingx-04830260x-0



第一章: 有穷自动机


第二: 正则语言


第三:上下文无关文法


第四:下推自动机


第五: 图灵机


第六:(不)可计算性


第七: 计算复杂性


第八: NP完全理论


课程说明

本课程的教学方式包括教学录像片段(每段录像8-20分钟,内含1-2个测验问题),教学录像之外的书面作业,以及(必须参加的)期末考试。


本课程课程的总长度为8周,每周教学录像长度大约120分钟。需要的预备知识是离散数学(集合论、数理逻辑、图论等)的基本概念


参考资料

拓展阅读

其他

主讲教师

刘田   副教授

北京大学信息学院计算机系副教授,主要研究方向为算法分析与计算复杂性理论。主持过两项国家自然科学基金项目以及多项其他研究课题,发表了多篇论文和译著。长期主讲“集合论与图论”、“理论计算机科学基础”等课程,2006年和2013年先后两次获得了北京大学教学优秀奖。

课程助教

  • jingpinmooc

相关课程推荐

  • 正在进行
    计算概论PartA
    你有没有好奇过:计算机为什么能够进行计算?计算机程序是怎样运行的?你是否想知道:计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些?《计算导论》这门课将帮助你解决这些疑惑。 学完这门课,你将能够解释计算机和程序的基本运行原理以及它们的特性,向你的朋友讲述计算机的历史和发展趋势;同时,你也将充分“热身”,迎接“计算机程序设计语言”的学习!
  • 正在进行
    IT项目管理
    IT项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。 为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。 这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。
  • 正在进行
    数据分析软件平台----ROOT
    ROOT(下载地址: https://root.cern.ch/ )是科学数据处理的平台。利用它,可将数据(普通数值或C++类)以压缩二进制的办法保存起来并且可以很方便的对其进行挑选、画1维、2维、3维直方图、散点图、拟合等分析工作。利用个人电脑可以登录到远程服务器进行多个文件大批量操作分析数据。ROOT还提供数学及统计工具、并行处理、神经网络及多变量分析软件包,实现多种分布的数据样本产生工具以便于对复杂问题的MC模拟开发,可方便地绘制高质量的图形并存储成pdf等不同格式。对于代码可以不需要编译即可进行解释运行以追求便利也可轻松实现编译运行以追求速度。 该软件现为国际上高能物理数据分析的必备工具,也可用于低能物理、工程、经济、军事等需要处理和分析科学数据及软件开发的领域。通过本培训的学习,学员可以在短时间将数据处理能力快速提高。ROOT系全免费开源软件且可运行在Windows和Linux下,国际上有大量科研人员及科研机构使用,学员掌握该软件后,有助于在参与国际合作和交流的科研活动过程中迅速适应国际科研环境。

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

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

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!