Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Tsinghua University

基于Linux的C++

Tsinghua University via XuetangX

Overview

Linux操作系统开源的特性使得其获得越来越重要的地位,而Linux系统编程也向C++程序设计者提出了更高的要求。本课程由C/C++语言的共性与特性出发,在深入学习程序设计语言的基础上,进一步强调程序设计语言的适用性,并与Linux系统编程紧密结合,通过大力培养学习者的抽象思维能力和计算思维能力,将学习者对语言作为工具的基本认知转化为动手实践能力,完成从具象到抽象再到具象的思维能力转变。课程内容主要涵盖C++程序设计基本概念、数据组织与算法设计、程序组织、面向对象程序设计方法、泛型编程与模板库以及进程、线程、内存管理、设备驱动程序、网络等Linux系统编程核心主题。

Syllabus

  • 第一讲 C/C++基本语法元素
    • 1.1 提纲
    • 1.2 程序设计的基本概念
    • 1.3 简单C/C++程序介绍
    • 1.4 程序设计的基本流程
    • 1.5 基本语法元素
    • 1.6 程序设计风格
    • 1.7 编程实践
  • 第二讲 程序控制结构
    • 2.1 提纲
    • 2.2 结构化程序设计基础
    • 2.3 布尔数据
    • 2.4 分支结构
    • 2.5 break语句
    • 2.6 循环结构
    • 2.7 编程实践
  • 第三讲 函数
    • 3.1 提纲
    • 3.2 函数声明、调用与定义
    • 3.3 函数调用栈框架
    • 3.4 编程实践
  • 第四讲 算法
    • 4.1 提纲
    • 4.2 算法概念与特征
    • 4.3 算法描述
    • 4.4 算法设计与实现
    • 4.5 递归算法(一)
    • 4.6 递归算法(二)
    • 4.7 容错与计算复杂度
    • 4.8 编程实践
  • 第五讲 程序组织与开发方法
    • 5.1 提纲
    • 5.2 库与接口
    • 5.3 随机数库(一)
    • 5.4 随机数库(二)
    • 5.5 作用域与生存期
    • 5.6 典型软件开发流程(一)
    • 5.7 典型软件开发流程(二)
    • 5.8 编程实践
  • 第六讲 复合数据类型
    • 6.1 提纲
    • 6.2 字符
    • 6.3 数组(一)
    • 6.4 数组(二)
    • 6.5 结构体
    • 6.6 编程实践
  • 第七讲 指针与引用
    • 7.1 提纲
    • 7.2 指针基本概念
    • 7.3 指针与函数
    • 7.4 指针与复合数据类型(一)
    • 7.5 指针与复合数据类型(二)
    • 7.6 字符串
    • 7.7 动态存储管理(一)
    • 7.8 动态存储管理(二)
    • 7.9 引用
    • 7.10 编程实践
  • 第八讲 链表与程序抽象
    • 8.1 提纲
    • 8.2 数据抽象(一)
    • 8.3 数据抽象(二)
    • 8.4 链表(一)
    • 8.5 链表(二)
    • 8.6 链表(三)
    • 8.7 链表(四)
    • 8.8 函数指针(一)
    • 8.9 函数指针(二)
    • 8.10 抽象链表(一)
    • 8.11 抽象链表(二)
    • 8.12 编程实践
  • 第九讲 类与对象
    • 9.1 提纲
    • 9.2 程序抽象与面向对象
    • 9.3 类类型
    • 9.4 对象(一)
    • 9.5 对象(二)
    • 9.6 类与对象的成员(一)
    • 9.7 类与对象的成员(二)
    • 9.8 类与对象的成员(三)
    • 9.9 继承(一)
    • 9.10 继承(二)
    • 9.11 继承(三)
    • 9.12 多态(一)
    • 9.13 多态(二)
    • 9.14 编程实践
  • 第十讲 操作符重载
    • 10.1 提纲
    • 10.2 四则运算符重载(一)
    • 10.3 四则运算符重载(二)
    • 10.4 关系与下标操作符重载
    • 10.5 赋值操作符重载(一)
    • 10.6 赋值操作符重载(二)
    • 10.7 赋值操作符重载(三)
    • 10.8 赋值操作符重载(四)
    • 10.9 赋值操作符重载(五)
    • 10.10 流操作符重载(一)
    • 10.11 流操作符重载(二)
    • 10.12 流操作符重载(三)
    • 10.13 操作符重载总结
    • 10.14 编程实践
  • 第十一讲 泛型编程
    • 11.1 提纲
    • 11.2 泛型编程概览
    • 11.3 异常处理机制(一)
    • 11.4 异常处理机制(二)
    • 11.5 运行期型式信息(一)
    • 11.6 运行期型式信息(二)
    • 11.7 模板与型式参数化
    • 11.8 题外话:术语翻译
    • 11.9 泛型编程实践(一)
    • 11.10 泛型编程实践(二)
    • 11.11 泛型编程实践(三)
    • 11.12 泛型编程实践(四)
    • 11.13 泛型编程实践(五)
    • 11.14 泛型编程实践(六)
    • 11.15 泛型编程实践(七)
    • 11.16 泛型编程实践(八)
    • 11.17 泛型编程实践(九)
    • 11.18 泛型编程实践(十)
    • 11.19 编程实践
  • 第十二讲 Linux系统编程基础
    • 12.1 提纲
    • 12.2 程序执行环境(一)
    • 12.3 程序执行环境(二)
    • 12.4 程序执行环境(三)
    • 12.5 程序执行环境(四)
    • 12.6 输入输出(一)
    • 12.7 输入输出(二)
    • 12.8 文件系统
    • 12.9 设备
    • 12.10 库(一)
    • 12.11 库(二)
    • 12.12 makefile文件(一)
    • 12.13 makefile文件(二)
    • 12.14 makefile文件(三)
    • 12.15 编程实践
  • 第十三讲 进程编程
    • 13.01 提纲
    • 13.02 进程基本概念
    • 13.03 信号
    • 13.04 进程管理(一)
    • 13.05 进程管理(二)
    • 13.06 进程管理(三)
    • 13.07 进程间通信(一)
    • 13.08 进程间通信(二)
    • 13.09 进程间通信(三)
    • 13.10 进程间通信(四)
    • 13.11 进程池
    • 13.12 编程实践
  • 第十四讲 线程编程
    • 14.1 提纲
    • 14.2 线程基本概念
    • 14.3 线程管理(一)
    • 14.4 线程管理(二)
    • 14.5 线程管理(三)
    • 14.6 线程管理(四)
    • 14.7 线程同步机制(一)
    • 14.8 线程同步机制(二)
    • 14.9 C++11线程库(一)
    • 14.10 C++11线程库(二)
    • 14.11 C++11线程库(三)
    • 14.12 C++11线程库(四)
    • 14.13 C++11线程库(五)
    • 14.14 编程实践
  • 第十五讲 网络编程
    • 15.1 提纲
    • 15.2 Internet网络协议
    • 15.3 套接字(一)
    • 15.4 套接字(二)
    • 15.5 编程实践
  • 课程文档

    Taught by

    Lin Qiao

    Tags

    Reviews

    Start your review of 基于Linux的C++

    Never Stop Learning.

    Get personalized course recommendations, track subjects and courses with reminders, and more.

    Someone learning on their laptop while sitting on the floor.