【stanford C++】C++课程学习
2013-06-30 11:54
302 查看
C++课程网站:
http://www.stanford.edu/class/cs106b/ (或)http://cs106b.stanford.edu
http://www.stanford.edu/class/cs106l/
CS106B主要讲述的是C++的一些基本的编程概念,但是没有进行深入的介绍,其中使用了很多自己的定制库来取代C++的标准库,因此没有对C++中的细节部分进行探索。
CS106L是对CS106B课程的补充,介绍了C++更加强大的功能。
所用课本:
是Eric Robert编写的《Programmin Abstractions in C++》
课程任务:
有7个编程任务,各个任务会逐渐的变难,逐渐需要更多的时间来完成。
教学大纲:
http://www.stanford.edu/class/cs106b/ (或)http://cs106b.stanford.edu
http://www.stanford.edu/class/cs106l/
CS106B主要讲述的是C++的一些基本的编程概念,但是没有进行深入的介绍,其中使用了很多自己的定制库来取代C++的标准库,因此没有对C++中的细节部分进行探索。
CS106L是对CS106B课程的补充,介绍了C++更加强大的功能。
所用课本:
是Eric Robert编写的《Programmin Abstractions in C++》
课程任务:
有7个编程任务,各个任务会逐渐的变难,逐渐需要更多的时间来完成。
教学大纲:
天数 | 主题(Topics) | 阅读 | 任务 |
第1天 | 为什么继续学习编程? 课程概述 C++编程语言 | 第1章 | |
第2天 | 如何定义函数? C++中的函数 递归函数 | 第2章和第7章 | 任务1开始 |
第3天 | 如何递归的处理文本? 串 串的递归 | 第3章 | |
第4天 | 计算机如何分析表达式? 栈(Stack) Shunting-Yard算法 | 第5章的5.1~5.3 | |
第5天 | 如何存储集合的数据? C++流(Stream) Vector | 第4章 | |
第6天 | 如何对关联数据进行处理? Map, Set和Lexicon foreach | 第6章 | 任务1完成 任务2开始 |
第7天 | 如何安全的存储密码? Queue 密码管理(Password Management) | 第5章的5.4~5.6节 | |
第8天 | 在问题解决中递归的作用 递归的思想 | 第7章和第8章 | |
第9天 | 什么是分形(fractal)? 图示递归 穷举搜索(一) | 第9章 | |
第10天 | 如何找到一个问题的所有解? 穷举搜索(二) 回溯搜索(一) | 任务2完成 任务3开始 | |
第11天 | 如何探索一个大的搜索空间? 回溯搜索(二) | ||
第12天 | 为什么有些算法比其他的快? 算法效率 Big-O标记法 | 第10章10.1~10.2节 | |
第13天 | 计算如何排序数据? 排序算法(第一部分) | 第10章10.3~10.5节 | |
第14天 | 排序理论如何匹配实践? 排序算法(第二部分) | ||
第15天 | 如何定义自己的容器类(collection class)? 设计抽象 指针 | 第11章 | 任务3完成 任务4开始 |
第16天 | 动态数组是如何实现的? 动态分配 实现栈(Stack) | 第12章 | |
第17天 | 数据表示方式如何影响效率? 优化栈(Optimizing Stack) | ||
第18天 | 对于存储线性数据,数组是必需的吗? 链表(一) | 第13章 | |
第19天 | 栈和队列是如何实现的? 链表(二) 实现栈(Stack)和队列(Queue) | 第14章 | 任务4完成 任务5开始 |
第20天 | 如何迅速的存储和查询数值? 哈希表(Hash Table) 实现Map | 第15章 | |
第21天 | 如何有效的存储文本数据? Tries 实现Lexicon | ||
第22天 | 如何有效的以排序的顺序进行数据存储? 二叉搜索树 实现Set | 第16章 | |
第23天 | 如何探索网络结果? 图(Graphs) 图搜索(Graphs Searches) | 第19章19.1~19.4节 | |
第24天 | 如何最小化trip时间和wiring成本? 图表示(Graph Representations) 图算法(Graph Algorithm) | 第19章19.5~19.7节 | 任务5完成 任务6开始 |
第25天 | 如何存储大的文件到一个小的文件中 Huffman编码 贪婪算法 | ||
第26天 | 计算机如何识别数据组? 树状图(Dendrograms) 分层聚类(Hierarchical Clustering) | ||
第27天 | 有趣和令人兴奋的附加话题 | ||
第28天 | 学完C++后,后续如何走? | ||
第29天 | 其他 |
相关文章推荐
- C++基础学习课程 前言
- 14-9-11 C/C++课程设计--图书馆管理系---<time.h>中时间数据类型的学习记录
- C++课程学习笔记整理声明
- c++学习课程
- C++课程学习[4]-复杂信息的处理之相关练习
- Stanford在线学习课程
- C++ 基础学习课程 第一章 开始
- [转]Stanford在线学习课程
- 从C++起步到MFC实战VC++软件工程师高端培训(服务器端开发方向)学习课程
- Stanford在线学习课程
- Stanford NLP学习笔记1:课程介绍
- Stanford机器学习网络课程---第二讲 (续) MATLAB (Octave )数据处理快速学习教程
- 学习总结(C++课程感受)+目标
- C++课程学习代码汇总基础
- C、C++、VC++ 编程学习 免费课程 精品电子书 精品源码 下载 期待您的加入!
- C++程序设计课程学习的网址
- 实验楼学习之C++实现课程管理系统
- Stanford机器学习课程笔记——神经网络学习
- c++课程学习心得
- Stanford University C++课程