Programming, OS, DBMS, Data Analytics, HPC, ...

投身于追寻更深智慧的伟大旅程吧!

概述


之所以从教,是因为自己真的很喜欢教学,因为,教学真的是一种提升自己认知的重要途径!在教学中,我遵循如下的经验或规则:

— 总是以Big picture 的方式梳理课程相关的理论和实践.

— 讲解形式总是以直观的例子来阐释 (个人体会:理论之所以复杂、难学,很大程度上是因为没有直观的例子理解).

— 一定要将现实(最新的成就)照进课程.

此网站汇总了自己教学的一些课程,就算是对自己为之付出的努力的纪念吧.

课程列表


课程名 课程描述 示意图
A First Course for Computer Science
(计算机科学概览)

在中国,如何帮助大多数计算机专业新生成功地跨入计算机哲学(也称之为计算思维),对于他们而言是非常重要的.

本课程的目的便在于此。借助一个简单的知识框架(右图),本课程尝试将以一种直观和有效的方式计算机专业的相关概念和技能介绍给新同学.

First Course for CS
An Intuitive Study for Mathematics
(工程数学概览)
数学,对于理工科的学生而言,其重要性无需赘言。本课程以一种直观的方式阐述所谓的工程数学的内容:专注于"思想"的阐释,而不再采取"枯燥的数学推导"的方式。 Engineering Math
Operating System
(操作系统极简概念书)

作为计算机专业的核心内容之一,有着众多的操作系统课程。本课程在阐述经典专题之余,尝试将一些新的进展纳入到本课程中,涵盖 HPC, Big Data and Deep Learning 等。

课程的主要内容分为两部分:

  • 以单核(von Neumann architecture)为基础的操作系统的概念和思想 (也就是传统的经典内容 - 做了简化以更直观)
  • 面向分布计算的高级专题(概念和思想提炼自分布式计算,Big Data, Clouding等不同领域,也是当下现实IT企业使用的技术)
First Course for CS
Design and Implementation of DBMS
- Taking RDBMS as the instance
(数据库的设计与实现书)

作为计算机专业核心软件之一(另两个是 Compiler 和 OS), 数据库管理系统也自然是计算机专业的核心课程。本课程在阐述经典专题之余,尝试将一些新的进展纳入到本课程中,涵盖 Big Data 和大规模数据计算等。

课程的主要内容分为两部分:

  • 基于shared everything model (von Neumann architecture) 阐述数据库管理系统的基本专题
  • 面向 shared nothing model (即 distributed data management system, Big Data, and Clouding 等)的高级专题
DBMS
Data Analytics under the Business View
(商务视角下的数据分析)

随着 Deep Learning 的夺目表现, AI(Artifacial Intelligence), ML (Machine Learning) 和 Deep Learning 等课程在近些年再次日益变得火热起来。 本课程尝试以一种有趣的方式(商务思维)将相关的内容有机地整合起来,帮助学生有一个较为完整的认知.

为此,该课程有如下的专题:

  • 商务思维概述 (基本上可以理解为MBA思想的简单提炼 - 很多商务决策都要依赖相关的数据分析方法)
  • AI 的技术演变(用以澄清 AI, ML/DM, DL 等概念和技术的关系)
  • 一点优化论的技巧(是理解诸多 ML 算法的诀窍)
  • 数据分析方法概览 (涵盖所谓的 ML 和 DM)
  • 介绍 "秒杀" 和 "Precision adv.(精准广告/营销)"这两个目前互联网商务的关键问题和技术解决思路
Data Analytics under Business View
Large Scale Data Computing - HPC, Big Data, Deep Learning and beyond (大规模计算)

某种角度而言,人类的历史也就是努力追寻更强有力的智慧的过程。 自从计算机出现后,为获得更强大的算力而涌现出许多不同的计算结构,例如那些汇总至 HPC 和 Big Data 等领域的经验总结。到目前,这类技术也已经成为互联网技术的主要支撑,也因此,完整地了解相关的概念和技术,对于计算机专业的学生而言就成为必要!

为此,该课程有如下的专题:

  • 借助直观的例子概要地展示所谓的大规模数据计算 (large scale data computing)的概念和技术,包括计算机架构的演变,以及分布式操作系统等
  • 当下大规模数据计算的编程框架(如MPI, CUDA/GPU, OpenMP, Big Data 等)
  • 现实照进课程 (如"秒杀"的架构设计)