• 数据结构(下)(自主模式)

    自主模式 计算机学科
    邓俊辉
    • 邓俊辉副教授清华大学计算机系
    • $可随时加入
    • g15.9万人
    • 7课件全部开放

    简介数据结构是计算机科学的关键内容,也是构建高效算法的必要基础。其中涉及的知识,在相关专业的课程系统中始终处于核心位置。本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。讲授的主题从基础的数据结构,一直延伸至新近的研究成果。

    章节第零章 第七章 二叉搜索树 第八章 高级搜索树(上) 第八章 高级搜索树(下) 第九章 词典 第十章 优先级队列 第十一章 串(上) 第十一章 串(下) 第十二章 排序 OJ帐号验证 查询PA成绩和加分

  • 数据结构(上)(自主模式)

    自主模式 计算机学科
    邓俊辉
    • 邓俊辉副教授清华大学 计算机系
    • $可随时加入
    • g15.9万人
    • 7课件全部开放

    简介 数据结构是计算机科学的关键内容,也是构建高效算法的必要基础。其中涉及的知识,在相关专业的课程系统中始终处于核心位置。本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。讲授的主题从基础的数据结构,一直延伸至新近的研究成果。 

    章节第零章 第一章 绪论(上) 第一章 绪论(下) 第二章 向量(上) 第二章 向量(下) 第三章 列表 第四章 栈与队列 第五章 二叉树 第六章 图 查询PA成绩和加分

  • C++语言程序设计基础 (2017秋)

    随堂模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $
    • g15.3万人
    • V5小时/周

    简介 C++是从C语言发展演变而来的一种面向对象的程序设计语言。面向对象的程序设计方法将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类通过外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系简单,程序模块的独立性、数据的安全性具有良好的保障,通过继承与多态性,使程序具有很高的可重用性,使得软件的开发和维护都更为方便。 由于面向对象方法的突出优点,目前它已经成为开发大型软件时所采用的主要方法。而C++语言是应用最广泛的面向对象的程序设计语言之一。 本课程是一门面向广大初学者的入门课程,自1999年开始在清华大学开设,本课程的教材已经在清华大学等一百多所学校的不同专业中使用,取得了良好的教学效果。 本课程将C++语言作为大学生的计算机编程入门语言,不仅详细介绍语言本身,而且介绍常用的数据结构和算法、面向对象的设计思想和编程方法。课程以面向对象的程序设计方法贯穿始终,每一章都是首先阐述面向对象的程序设计思想和方法,由实际问题入手,然后引出必要的语法知识,在讲解语法时着重从程序设计方法学的角度讲述其意义和用途。

    章节第1章 绪论 第2章 C++简单程序设计(一) 第2章 C++简单程序设计(二) 第3章 函数 第4章 类与对象 第5章 数据的共享与保护 第6章 数组、指针与字符串(一) 第6章 数组、指针与字符串(二)

  • C++语言程序设计基础 (自主模式)

    自主模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $可随时加入
    • g15.3万人
    • 7课件全部开放

    简介 C++是从C语言发展演变而来的一种面向对象的程序设计语言。面向对象的程序设计方法将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。对同类型对象抽象出其共性,形成类。类通过外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系简单,程序模块的独立性、数据的安全性具有良好的保障,通过继承与多态性,使程序具有很高的可重用性,使得软件的开发和维护都更为方便。 由于面向对象方法的突出优点,目前它已经成为开发大型软件时所采用的主要方法。而C++语言是应用最广泛的面向对象的程序设计语言之一。 本课程是一门面向广大初学者的入门课程,自1999年开始在清华大学开设,本课程的教材已经在清华大学等一百多所学校的不同专业中使用,取得了良好的教学效果。 本课程将C++语言作为大学生的计算机编程入门语言,不仅详细介绍语言本身,而且介绍常用的数据结构和算法、面向对象的设计思想和编程方法。课程以面向对象的程序设计方法贯穿始终,每一章都是首先阐述面向对象的程序设计思想和方法,由实际问题入手,然后引出必要的语法知识,在讲解语法时着重从程序设计方法学的角度讲述其意义和用途。 本课程是清华校内同名课程的完整版,内容全面,难度适中,包括了ISO第三版C++标准(C++11)的新内容。 课程分《C++语言程序设计基础》和 《C++语言程序设计进阶》,各8周。 《C++语言程序设计基础》无先修课程要求,内容包括程序设计基础知识、数据的表示和基本运算、函数与重载、类与对象、数据的共享与保护、数组、指针、字符串。教材:《C++语言程序设计》(第4版)1-6章,《C++语言程序设计(第4版)学生用书》1-6章。 《C++语言程序设计进阶》要求必须先修《C++语言程序设计基础》或者阅读《C++语言程序设计》(第4版)1-6章。内容包括继承与多态、运算符重载、模板与泛型程序设计、文件I/O、异常处理。教材:《C++语言程序设计》(第4版)7-12章,《C++语言程序设计(第4版)学生用书》7-12章。

    章节第1章 绪论 第2章 C++简单程序设计(一) 第2章 C++简单程序设计(二) 第3章 函数 第4章 类与对象 第5章 数据的共享与保护 第6章 数组、指针与字符串(一) 第6章 数组、指针与字符串(二)

  • 计算机科学和Python编程导论(自主模式)

    自主模式 计算机学科
    Eric Grimson
    • Eric Grimson教授、副校长麻省理工学院计算机科学和电机工程系
    • $可随时加入
    • g7.9万人
    • 7课件全部开放

    简介本课程是两部分课程的上半部分:即 计算机科学和 Python 编程导论及计算思维和数据科学导论。两部分课程旨在帮助以前从未接触过计算机科学或编程的人们学会计算思维、编写程序解决问题。学习了两部分课程的部分学生会将其作为进修高级计算机科学课程的基础,但是大部分是将其作为第一门也是最后一门计算机科学课程。 因为这些课程对很多学生而言,可能是其唯一的正式计算机科学课程,我们更关注的是知识的宽度而不是深度。目标是帮助学生简要了解更多内容,以便他们在以后事业发展过程中需要考虑如何用计算法完成某些目标时,能有些许概念。也就是说,这并非是一门“精深计算法”课程。这些具有挑战性且严格的课程内容是要求学生们花费大量时间和精力学会让计算机按照自己的意愿工作。 计算机科学导论和Python 编程导论包括计算概念、Python 编程语言、部分简单算法、测试和调试、算法复杂性、部分简单算法和数据结构的非正式导论。

    章节第一周 Week 1 第二周 Week 2 第三周 Week 3 第四周 Week 4 第五周 Week 5 第六周 Week 6 第七周 Week 7 第八周 Week 8

  • 操作系统 (自主模式)

    自主模式 计算机学科
    向勇
    • 向勇副教授清华大学计算机系
    • $可随时加入
    • g7.5万人
    • 7课件全部开放

    简介 操作系统是计算机系统中负责管理各种软硬件资源的核心系统软件,为应用软件运行提供良好的环境。掌握操作系统的基本原理及其核心技术是研究型大学计算机专业本科毕业生的基本要求。 本课程是计算机专业核心课,以主流操作系统为实例,以教学操作系统ucore为实验环境,讲授操作系统的概念、基本原理和实现技术,为学生从事操作系统软件研究和开发,以及充分利用操作系统功能进行应用软件研究和开发打下扎实的基础。 课程维基页面:  http://os.cs.tsinghua.edu.cn/oscourse/OS2016autumn http://166.111.68.197:11123/oscourse/OS2016autumn/ (这个链接是临时的,可能修改) 课程问答和交流区:https://piazza.com/tsinghua.edu.cn/spring2015/30240243x/home 课程实验与练习: http://crl.ptopenlab.com:8811/courses/Tsinghua/CS101/2015_T1/courseware/ 65a2e6de0e7f4ec8a261df82683a2fc3/7be9a21ca62e4f5d8325d27b66a0c9bf/

    章节第零讲 在线教学环境准备 第一讲 操作系统概述 第二讲 实验零 操作系统实验环境准备 第三讲 启动、中断、异常和系统调用 第四讲 实验一 bootloader启动ucore os 第五讲 物理内存管理: 连续内存分配 第六讲 物理内存管理: 非连续内存分配 第七讲 实验二 物理内存管理 第八讲 虚拟存储概念 第九讲 页面置换算法 第十讲 实验三 虚拟内存管理 第十一讲 进程和线程 第十二讲 进程控制 第十三讲 实验四 内核线程管理 第十四讲 实验五 用户进程管理 第十五讲 处理机调度 第十六讲 实验六 调度器 第十七讲 同步互斥 第十八讲 信号量与管程 第十九讲 实验七 同步互斥 第二十讲 死锁和进程通信 第二十一讲 文件系统 第二十二讲 实验八 文件系统 第二十三讲 I/O子系统 期末考试

  • Java程序设计(自主模式)

    自主模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $可随时加入
    • g5.8万人
    • 7课件全部开放

    简介 课程目标:掌握Java的基础语法、面向对象的程序设计方法;初步了I/O流类库与集合框架;初步了解GUI程序开发方法。 

    章节第一章 Java语言基础知识 第一章续-习题讲解视频 第二章 类与对象 第三章 类的重用 第四章 接口与多态 第五章 输入输出 第六章 对象群体的组织 第七章 图形用户界面

  • Java程序设计(2017秋)

    随堂模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $
    • g5.8万人
    • V6小时/周

    简介 课程目标:掌握Java的基础语法、面向对象的程序设计方法;初步了解GUI程序开发方法; 主要受众:程序设计初学者。无先修课程要求,如有一点编程基础更好。 主要内容: 1、Java语言基础知识; 2、类与对象的基本概念; 3、类的方法; 4、类的重用; 5、接口与多态; 6、输入/输出流; 7、Java集合框架;8、图形用户界面; 

    章节第一章 Java语言基础知识 第一章续-习题讲解视频 第二章 类与对象(一) 第三章 类的重用 第四章 接口与多态 第五章 输入输出 第六章 对象群体的组织 第七章 图形用户界面

  • C程序设计案例教程(进阶)(自主模式)

    自主模式 计算机学科
    张莉
    • 张莉教授中国农业大学信息与电气工程学院计算机系
    • $可随时加入
    • g5.7万人
    • 7课件全部开放

    简介 C语言曾开发出UNIX操作系统等经典复杂系统。随着物联网、智能终端等技术发展,也用于开发更多应用程序,还具硬件底层执行能力,且易于使用,因此能持久丰富和发展,成为学习掌握各种编程技术的重要基础。 《C程序设计案例教程》分为基础骗和进阶篇,本课为进阶篇,也是C程序设计的精华所在,结合MOOC教学特点,通过案例应用解析相关知识难点要点,学习掌握程序设计算法实现及应用相关技术与实验方法。本课程主要包括数据存储地址的操作与指针变量、构造类型与自定义类型的定义与使用、链表结构创建与应用、按位运算操作、文件系统与数据操作等内容及相关应用。 本课程学习可按章节自主选择知识点相关内容和学习方式。各知识要点有授课视频,案例分析视频、编程实验视频、习题分析等;每小节有小节讨论及知识要点综述相关练习,每章都有单元测试或自测练习及习题分析解答等。学习过程中可根据内容自主选择案例分析、问题讨论、编程练习、自测练习等,强化知识要点实际应用和计算思维技术方法。本课程同样提倡跟随案例动手实践,积极参加各种互动主题讨论等线上线下多种形式清华学习与实践。 MOOC学习优势 MOOC学习是一种基于丰富多样化学习资源,并拥有多种学习选择模式的自主式构建知识点结构体系的学习环境。也特别适合计算机程序设计类课程的基础型学习和创新创意编程的学习,尤其是清华学堂在线。在这里,我们不仅可以随时随地自主选择分享主讲老师精心准备的各种上线资源,同时还可共享国内外名校的精品资源。在学习过程中,可参与各种学习讨论,线上线下分享动手实践和体验。在这里,我们可随时分享自己想得到和想不到的各种问题,或许可以得到来自全球名校各位高手点拨,分享各种创意学习思维方式,分享知识热点讨论和求解思路方法等。 分享知识与学习体验,不断获得学习实践成就感,就从最简单的实用案例分析继续学习。

    章节C程序设计进阶 第10章 地址与指针变量——指针初步 第10章 地址与指针变量——指针与数组 第10章 地址与指针变量——指针与函数 第10章 地址与指针变量——指针数组与地址 第11章 构造类型与自定义类型——结构体类型、数组、指针 第11章 构造类型与自定义类型——链表结构 第11章 构造类型与自定义类型——共用体类型、枚举类型 第12章 位运算操作 第13章 文件系统管理与操作 2016结课测试(自主模式)

  • C程序设计案例教程(基础)(自主模式)

    自主模式 计算机学科
    张莉
    • 张莉教授中国农业大学信息与电气工程学院计算机系
    • $可随时加入
    • g5.7万人
    • 7课件全部开放

    简介 C语言曾开发出UNIX操作系统等经典复杂系统。随着物联网、智能终端等技术发展,也用于开发更多应用程序,还具硬件底层执行能力,且易于使用,因此能持久丰富和发展,成为学习掌握各种编程技术的重要基础。 《C程序设计案例教程》分为基础篇和进阶篇,本课为基础篇,主要结合MOOC教学特点,优化提炼基础部分知识点,通过案例应用来解析相关的知识要点,学习掌握程序算法实现,及相关的语义语法基本规范等相关技术及实验方法。 本课程主要内容包括计算机程序设计算法与实现、C语言程序设计组成结构、编译运行、各种数据存储类型及相关运算、各类程序流程控制命令与控制结构、数组的创建定义与使用、函数定义与变量的作用、编译预处理与宏定义的使用方法等基础知识内容。 本课程学习规划,可按章节自主选择知识点相关内容和学习方式。如各知识要点的授课视频,案例分析视频、编程实验视频、习题分析视频等。每小节均有小节讨论及知识要点综述和相关练习,每章都有单元测试,或自测练习及习题分析解答等。在学习过程中可根据内容自主选择问题讨论、编程练习、自测练习等,以强化知识要点基础训练与计算思维技术方法。本课程提倡跟随案例动手实践,积极参加各种主题讨论等线上线下多种形式学习模式。 C程序设计学习特点: C语言是现代编程的基础。ANSI标准定义的命令关键字只有32个,运算符34个,程序控制语句也只有9种,这些在学习中都不难理解,也比较易于掌握。 对初学者来说,每当遇到实验或编程分析以解决实际问题时,总体会感觉上“难”掌握。特别是非计算机专业同学,这种现象比较普遍。 要越过心理“难点”这道坎儿,运用计算思维方法养成习惯是关键。通过案例分析和引导,勤动手多实践,训练掌握如何自如地表达实际问题求解过程与程序算法,才能有效编写组织程序,实现相关运算逻辑的计算结果。 计算机程序设计中,掌握知识要点的计算思维方法是核心,通过实验验证则是有效掌握程序算法实现的关键。这是一个实践应用熟练过程。 MOOC学习优势: MOOC学习是一种基于丰富多样化学习资源,并拥有多种学习选择模式的自主式构建知识点结构体系的学习环境。也特别适合计算机程序设计类课程的基础型学习和创新创意编程的学习,尤其是清华学堂在线。在这里,我们不仅可以随时随地自主选择分享主讲老师精心准备的各种上线资源,同时还可共享国内外名校的精品资源。在学习过程中,可参与各种学习讨论,线上线下分享动手实践和体验。在这里,我们可随时分享自己想得到和想不到的各种问题,或许可以得到来自全球名校各位高手点拨,分享各种创意学习思维方式,分享知识热点讨论和求解思路方法等。 在分享每个知识点的学习体验,提高自主学习效率和学习质量的同时,不断获得学习实践的成就感,哪怕是一点点,积少成多,积点滴则汇成江海河流,就从最简单的案例开始。

    章节第0章 课前认知与体验 第1章 计算机程序设计算法实现 第2章 C程序设计结构组成与编译运行 第3章 数据存储类型与相关运算 第4章 顺序结构程序设计 第5章 条件分支选择结构程序设计 第6章 循环控制结构程序设计 第7章 数组定义及应用 第8章 函数与变量(上)——函数与调用 第8章 函数与变量(下)——变量及函数的操作范围 第9章 编译预处理 2016结课测试(自主模式)