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

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

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

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

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

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

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

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

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

    随堂模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $
    • g17.1万人
    • 7已更新至第8章

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

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

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

    自主模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $可随时加入
    • g17.1万人
    • 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章 数组、指针与字符串(二)

  • 操作系统 (自主模式)

    自主模式 计算机学科
    向勇
    • 向勇副教授清华大学计算机系
    • $可随时加入
    • g8.2万人
    • 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程序设计(自主模式)

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

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

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

  • Java程序设计(2017秋)

    随堂模式 计算机学科
    郑莉
    • 郑莉教授清华大学计算机科学与技术系
    • $
    • g6.7万人
    • 7已更新至第9章

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

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

  • C++语言程序设计进阶 (自主模式)

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

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

    章节第七章 继承与派生 第八章 多态性 第九章 模板与群体数据 第十章 泛型程序设计与C++标准模板库 第十一章 流类库与输入/输出 第十二章 异常处理

  • 程序设计基础(自主模式)

    自主模式 计算机学科
    徐明星
    • 徐明星 副教授清华大学 计算机系
    • $可随时加入
    • g4.8万人
    • 7课件全部开放

    简介本课程是一门计算机专业的基础课。课程以C/C++语言为工具,通过编写程序解决问题,培养学生的计算思维,掌握程序设计的基本概念、基本算法思路与基本设计方法,为学习后续课程打下扎实的基础。课程主要内容包括:(1) 程序设计语言和程序设计的基本概念,C/C++程序的基本结构;(2) 基本的问题求解思路,包括变量与数据类型,循环与分支,枚举法的算法思路,逻辑思维与问题求解;(3) C/C++语言的基本数据结构及操作方法,包括数组、结构、链表等;(4) 基本的算法思想,如排序、查找、筛法、递推、递归、动态规划等;(5) 文件创建与读写操作,以及各种应用。本课程在教学过程中,将采用任务驱动方式,培养学生用程序设计语言解决实际问题的能力;强调在解题实践中掌握程序设计的基本概念、基本思想和基本方法;突出对编程思想的阐述和计算思维的训练;平时作业与测验考试均使用上机解题,以程序运行结果是否正确为评判标准;要求学生养成良好规范的编程习惯。

    章节第一章 编程初步 第二章 变量与代数思维 第三章 逻辑推理与枚举解题 第四章 筛法与查找 第五章 分治思想与递归 第六章 递推与动态规划 第七章 文本数据处理 第八章 非文本数据处理 第九章 可配置的程序设计 考试

  • 计算机文化基础(2017秋)

    随堂模式 计算机学科
    李秀
    • 李秀副教授清华大学计算机系
    • $
    • g4.2万人
    • 7已更新至第9章

    简介 面对着纷繁复杂、层出不穷的软硬件,你是否想了解这些背后万变不离其宗的基本原理?生活在机遇与挑战并存的信息时代,各种新技术和新名词铺天盖地涌现,有些成功引领了行业潮流,而有些只是昙花一现的噱头,你是否很想知道如何“未卜先知”地去鉴别?当智能计算设备已成为现代人生活不可或缺的组件,计算机文化渗透到社会的方方面面,你是否想更好地融入这种文化氛围?信息爆炸催生了网络时代的快节奏模式:今天的流行语到明天可能就会变成老掉牙的梗,今天的新潮设备到明天可能就会变成过时产品。在这种环境下,把握信息技术发展的大方向,从宏观上对当前的时代有一个全面而直观的认识,在扑朔迷离的信息时代找准自己的定位,也许对你而言,比掌握某个软件的使用方法要实用得多。 这是一门以生机勃勃的信息技术为内容载体,为各领域的专业人才铺垫坚实的信息素养的公共基础课程。在大学里,这是一门面向全校各专业各年级的公共基础课。无论你是一名电脑“小白”,希望学习图像处理软件来制作海报;还是一名百万行代码量级的编程高手,渴望以新的视角了解1和0之外的世界;或者你正在从事与计算机几乎完全无关的工作(这样的工作还存在吗?),迫于潮流想对当下的信息技术有个全面系统而深入浅出的了解……无论出于什么目的,相信你都能从这门课中得到属于你的收获。 这门课可以看作是计算机世界的“概论课”,采用全新的课程理念和教学模式,内容精彩,特征鲜明。与传统课程相比,本课程最大的特点在于讲授主体不只是学校教师,还有信息技术各相关领域的专家学者,他们都会根据自己的独特经历,以全新视角为你讲述不同的计算机世界;而我们的授课内容也远远不只是说教式的、冷冰冰的书本知识,更有与生活密切相关的、活灵活现的案例与故事。此外,由于信息技术发展极为迅速,所以本课程没有特定的教材(书籍出版会非常滞后),而且会不断更新内容,力图展现最新颖、最前沿、最符合时代潮流的内容。不仅如此,本课程还立足于“文化”视点,努力尝试将深刻影响人类社会的信息技术讲出“文化”的味道,让受众建立起普适的计算思维。

    章节第1课:说在前面的话 第2课:揭开计算机的神秘面纱 第3课:数字世界中形形色色的“数” 第4课:最熟悉的陌生人APP 第5课:数据如何安好 实践课:演示文稿制作 第6课:从单机到联网 第7课:+互联网 第8课:从图像传感器看世界的物联 第9课:从信息为王到选择为王 第10课:信息安全知多少 第11课:说在后面的话 期末考试