学途无忧
标题:
大学计算机必修课新讲--编译原理+操作系统+图形学
[打印本页]
作者:
admin
时间:
2020-5-28 16:07
标题:
大学计算机必修课新讲--编译原理+操作系统+图形学
〖课程介绍〗:
编译原理,操作系统,图形学被称为程序员的三大浪漫,不仅因为它们是大学计算机系的必修内容,更因为它们在回答计算机领域三个基本问题:程序如何被编译成机器指令然后被执行(编译原理)、多个程序如何共享资源(操作系统)、人和机器如何交互(图形学)。掌握这些知识不仅是为了应付大学考试,更是为了能让你在未来的“大型化开发”、“底层开发”中更从容,让你能更好的应对面试、开发、造轮子等实际问题。
〖课程目录〗:
第1章 学前导学(要有准备有目标的学)
介绍课程的主要内容、学习顺序;和学员对焦程序员的能力模型,课程希望达到的效果等。然后,讲师和同学同步课程使用的开发工具如intelij,vscode,mars4,mocha,gradle等。
1-1 学前方向标 试看
1-2 课程中的工具以及学习方法
1-3 一份老仙学习秘诀请你签收
第2章 计算机理论引导(理解计算机)
* z' d0 S4 @8 A! i. d9 P' {
本章集中解决学习三大浪漫过程中的前置基础依赖。主要是理解计算机的模型,理解计算机是如何设计的?程序是什么?指令是怎么被CPU执行的?内存中的数据如何被找到并读入寄存器等。
2-1 什么是计算机
0 x6 c5 L9 l) n, \6 G# `; e
2-2 CPU的工作原理——内存、寄存器和ALU
2-3 指令入门(1)——指令的组成部分
2-4 指令入门(2)——寻址模式、浮点数和指令分类
& Y* }& s, f' M) o5 n7 v5 f, a
2-5 我的第一个汇编程序——实现一个求阶乘的递归函数(思路部分)
2-6 我的第一个汇编程序——实现一个求阶乘的递归函数(coding)
: |- A5 q9 e: a5 p
2-7 中断和中断向量
2 e0 Q \4 c3 a; }% F% C; f" J
第3章 【 编译原理】概述(理解编译器)
3 R7 a7 h5 C' G1 g5 B O
本章串讲编译器的主要流程,介绍编译器和自然语言翻译的差异性,以及对编译原理的课程提供一个整体介绍。
' ?4 F9 B) ]. J; v( x% ?( x
% Y8 E3 |" J2 }- `
3-1 编译原理课程介绍
3-2 编译原理——研究翻译的科学 试看
3-3 编译器和解释器
' H' z! T( e6 e5 ~
3-4 编译器的工作流程
+ j6 F" d9 r0 R+ g5 R
第4章 【 编译原理】词法分析(实现一个词法分析器)
本章介绍编译器词法分析部分的实现,讲解词法分析的流程,实现一个完整的词法分析器。帮助学员理解流、正则引擎、状态机等概念,理解基本的面向对象封装复用技巧。
: s2 r, I* I; f& V" x0 G
4-1 词法分析器简介
. K0 ?7 e2 r7 M& w" K, u
4-2 (编程lexer01)词法分析器的接口(Java和Js) 试看
4-3 编译器基础能力设计——实现流的peek和putBack操作
1 c+ X1 t( k, I$ b
4-4 (编程Lexer01 Java)——实现流的peek和putBack操作
$ t8 _- i( B: S' Z* Q8 N
4-5 (编程Lexer02 Javascript)——实现流的peek和putBack操作
4-6 tips:坚持编写测试用例
4-7 词法相关理论和正则
4-8 (编程lexer03 Java)——有穷状态机实现词语提取(上)
4-9 (编程lexer03 Java)——有穷状态机实现词语提取(下)
4-10 (编程lexer03 Javascript)——有穷状态机实现词语提取(上)
4-11 (编程lexer03 Javascript)——有穷状态机实现词语提取(下)
# A. A; A' m+ Q5 Y* }' C0 b% T
4-12 (编程lexer04 Java)——完整的词法分析器
( Q' X% z G" c3 Z* d) s
4-13 (编程lexer04 Javascript)——完整的词法分析器
; |! d' [+ f5 l. _
第5章 【 编译原理】语法分析(实现一个语法分析器)
6 [0 ~+ [' o; h# D' n3 {
本章介绍语法分析的基本概念,如产生式、抽象语法树、递归向下方解析法等,并且在实战中帮助学员理解和处理更复杂的问题,如多级优先级表达式等。同时,向学员渗透跳跃结构——树和图的遍历算法以及相关理论知识。
5 {" y5 A2 B6 F& a
3 \* S* \5 y) Q6 G/ }: ^1 V3 @
5-1 数据结构引导——树和抽象语法树
5-2 (parser01 java) 定义抽象语法树
5-3 (parser01 javascript) 定义抽象语法树
0 u9 w- @( V. ?* t, S
5-4 最简表达式分析过程
5-5 (编程parser02 java)——实现最简Parser
5-6 (编程parser02 javascript——实现最简Parser
5-7 (编程 parser03 java) TinyScript表达式解析
5-8 (编程 parser03 javascript) TinyScript表达式解析
5-9 (编程 parser04 java) 树的后序遍历——表达式验证
! G0 d3 ^* I4 i- i) b a9 a) e! a
5-10 (编程 parser04 javascript) 树的后序遍历——表达式验证
5-11 语法分析的整体程序
6 P( V% ^( Y1 A
5-12 (编程 parse05 java)语法分析整体程序(上)-
# r, \& k$ I& N7 r1 k
5-13 (编程 parse05 java)语法分析整体程序(下)-
5-14 (编程 parser05 javascript)语法分析整体程序(上)
5-15 (编程 parser05 javascript)语法分析整体程序(下)
5-16 拾遗——那些穿插在迭代中的重构
1 F B h, ]$ h4 x
5-17 补课——大批递归来袭之应对
) j2 u7 ?9 A( `7 u* Y
5-18 词法语法部分总结——领域驱动视角
第6章 【 编译原理】语法制导翻译(实现中间语言翻译器)
% n, v" t. o9 b' C8 k' i8 U# Z
本章介绍根据语法树进行翻译的基本方法和相关理论,并用这些理论讲TinyScript编译成中间语言。本章涉及语言层面最基本的问题,如符号表、作用域如何被实现?类型检查如何进行?另外,本章重点渗透树、图、哈希表等关键数据结构,相关算法;帮助学员重新review递归问题。 ...
. ]: W+ Z V: F* n2 k' L$ D/ |) h* k
6-1 综合部分序章——三地址代码
5 ^ |2 z6 j* y
6-2 构造三地址代码——基于SDD的翻译
6-3 词法作用域和符号表
1 X. F7 c9 K9 E" X& u3 r) R
6-4 (编程trans 01 java) 实现符号表
6 V, [; ]5 t) g5 A
6-5 (编程trans 01 javascript) 实现符号表
6-6 三地址代码的表示
, r0 \( v# ~ m" S6 u3 j/ t% i N
6-7 编程 trans02 java) 三地址代码的表示
6-8 (编程 trans02 javascript)三地址代码的表示
% |" Y9 P# r% I3 p. I/ z6 [; s
6-9 翻译的整体过程和表达式
6-10 (编程 trans 03 java)翻译的整体过程和表达式
6-11 (编程 trans 03 javascript)翻译的整体过程和表达式
6-12 翻译——作用域的处理
" a$ N0 Z9 r4 g! W7 N) d9 h, Y# r
6-13 (编程 trans 04 java)翻译——作用域和整体程序
6-14 (编程 trans 04 javascript)翻译——作用域和整体程序
V" w3 V# c/ R$ Q' ~/ c
第7章 【 编译原理】程序运行环境(实现一个虚拟机)
本章介绍如何将中间语言翻译成机器指令,通过构造一个虚拟机执行机器指令。本章会看到堆栈的分配、程序的执行、指令的选择等等内容,和第二章的内容形成呼应,在学习操作系统之前加深对机器的理解。
* G1 a& Y( R/ i
7-1 冲刺——用虚拟机执行TinyScript程序
& b3 M( `9 s# s3 ]! j! H* C1 d
7-2 (编程 java vm 01)指令和程序表示
7-3 生成器——将三地址代码转化成指令
7-4 (编程 java vm 02)指令翻译过程讲解
6 L' i# ]1 u$ d+ U t L a
7-5 (编程 java vm 02)补课——神奇的位运算
7-6 (编程 java vm 03)虚拟机—— 指令的编码和解码
( V2 t/ c/ @. t
7-7 (编程 java vm 04)虚拟机执行程序
6 c# a3 a0 \$ F# o
7-8 课程总结——如何做一个优秀的架构师
# h) ^6 n, x! |$ c3 k# J
第8章 【 操作系统】概述(历史和核心概念)
3 [+ q$ a% L3 z& g/ c$ g8 Y
本章介绍操作系统的历史,如unix是怎么被设计出来?mac和windows又是怎么回事?linux为什么叫linxu等。然后渗透一些基本的概念,如操作系统是连接硬件和软件的桥梁,内核如何被设计,多核的CPU如何管理,如何并发执行指令等。 ...
% u/ _9 S$ u! y0 Y: c- ?/ r- Y
" z& _& p$ v0 ~7 U& b U
8-1 课前导学——学好操作系统要注意什么
" F% _1 \# u4 X4 ^" \
8-2 什么是操作系统
: `' m+ ^1 X% v5 q- y$ j
8-3 操作系统的历史
8-4 内核和内核设计
第9章 【 操作系统】进程和多线程(多线程算法全解和实战高并发)
6 y3 m. B/ A* F$ t
本章介绍进程如何被操作系统管理,线程如何在用户空间工作;然后介绍竞争问题,掌握处理竞争的算法:自旋锁、TAS、信号量、互斥量、监视器等等。基于信号量模型实现多线程同步IO模型服务器,并与Spring框架及node.js单线程同步I/O模型比较性能。 ...
4 {8 v+ h& G( o9 ?; ?% M
j% s7 b% P' `7 R, w$ A* C' k" z, S
9-1 应用程序的抽象——进程
9-2 进程的三态和中断响应
9-3 多道程序设计和CPU利用率
9-4 线程——轻量级的进程
9-5 竞争条件和临界区
1 u7 v! ^7 I4 f5 Q( f; {. j
9-6 解决竞争条件的算法——严格轮换法和Peterson算法
9-7 锁的基础——硬件TSL和XCHG
S7 s4 K# F7 W: L' s& H
9-8 信号量(Semaphore)和互斥量(Mutex)
9-9 总结——万变不离其宗(1)
第10章 【 操作系统】调度算法入门(理解任务调度的模型)
本章介绍进程如何被操作系统调度的,通过实现哲学家就餐问题引入,然后介绍各种基于时间片、优先级的调度模型;本章会重点渗透队列和优先级队列这两种数据结构。
- f! d0 X+ H, M
10-1 调度问题概述
' |' `, k( `1 h) Q3 S
10-2 补课——优先级队列
, p. [ L$ t$ M. Z
10-3 调度算法选讲
, ?$ @2 Y. p c) g9 Z
10-4 实战哲学家就餐问题
第11章 【操作系统】内存管理(内存分配回收全面解答)
本章介绍多种内存分配策略,重点会放在内存回收的策略上。通过理解内存分配、内存回收,让学员理解很多语言层面的回收策略,设计妥协以及深层次的考虑。同时向学员渗透链表、栈等数据结构的深入使用方式。
, }% `" `/ q9 t% y. P5 u# y$ T% U& R
11-1 内存部分导学
11-2 地址空间——存储器模型的抽象
* I" Z: Q' T" N! k* N
11-3 虚拟内存、页表和mmu
; w# V' r5 ]: f6 j: j% I B |
11-4 java,go和js为什么这么玩——理解OS和语言对内存管理的异同
11-5 垃圾回收算法选讲——基于引用计数的内存回收算法
" u- t& `2 M6 o6 }- [) q9 F3 w6 I
11-6 垃圾回收算法选讲——标记、扫地、整理
8 t8 h; w' U0 D" \
11-7 垃圾回收算法选将——分代算法
第12章 【 操作系统】文件系统(底层数据结构设计与抽象)
/ H6 ]3 B" n; P
本章介绍文件系统设计和抽象的方法,这里有大量的思想和设计模式可以渗透。帮助学员理解如何从编程接口抽象的API,到高层的文件、目录结构,然后有如何被映射到中层的数据块、节点,最后如何到最底层的物理存储。
2 i2 ~% f: U; U' Q* Y
第13章 【图形学】概要(小白学图形学第一步)
- M. Q! L+ E8 S! u6 B* p6 U
本章介绍图形学历史、基本概念,以及涉及的各种各样知识,应用场景的概括。简单介绍3d模型、世界描述、光照等图形学重要的内容,以及他们被应用到电影、工业、医疗、可视化、游戏、电子等等广泛的领域。然后介绍课程的组织形式和学习方法。 ...
第14章 【图形学】 图形渲染流程和WebGL初探(从helloworld逐渐深入)
本章介绍OpenGL标准、生态以及对webgl进行一个初探,写一个webgl的helloworld并了解图形渲染管道的流程。
. j) {2 R: @! E y$ X
第15章 【图形学】GLSL(多例子教你用着色器)
本章介绍OpenGL Shadering Language,从语法开始,通过多个实例逐渐渗透GLSL的用途。
& P2 F1 v" T2 o ^4 A4 F
第16章 【图形学】光照和光线追踪(理解世界最核心的——光)
本章结合介绍webgl讲解如为场景增加光照,以此来增加场景的真实感。然后重点帮助同学理解图形学渲染的一个核心算法——光线追踪算法,并带领同学通过实际编程解决问题去理解这个算法。
, f( Q3 @1 D v, Q. {
; {; A. E; x0 D0 H
第17章 【图形学】游戏开发(一起实现一个射击类的3D游戏)
8 L4 p# i/ m s# o
本章通过和学员一起实现一个3D类的射击游戏,帮助学员巩固和提高对图形学的理解。在解决场景布置、视角转换、事件捕捉、碰撞检测、物理计算等等过程中,将之前学的理论知识逐渐融汇贯通。
作者:
a2439561
时间:
2020-5-28 17:28
6666666666666666
作者:
1468697939@qq
时间:
2020-5-28 17:31
666666666666
作者:
s459126865
时间:
2020-5-28 18:53
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
samuelju
时间:
2020-5-28 19:15
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
yongbuyanqi
时间:
2020-5-28 19:42
谢谢分享
作者:
hgzhou
时间:
2020-5-28 20:30
666666666666666
作者:
xtwyzh
时间:
2020-5-29 03:01
进来看看哦。
作者:
xtwyzh
时间:
2020-5-29 03:02
进来看看哦。
作者:
zgledu
时间:
2020-5-29 07:31
谢谢分享!!!!!
作者:
苏北
时间:
2020-5-29 07:46
通过和学员一起实现一个3D类的射击游戏,帮助学员巩固和提高对图形学的理解。在解决场景布置、视角转换、事件捕捉、碰撞检测、物理计算等等过程中,将之前学的理论知识逐渐融汇贯通
作者:
ljz779848255
时间:
2020-5-29 09:06
啥也不说了,感谢楼主分享哇!
作者:
wanghui1234
时间:
2020-5-29 09:34
大学计算机必修课新讲--编译原理+操作系统+图形学 [
作者:
littlefish1900
时间:
2020-5-29 09:39
sadasdasdasasd
作者:
bll
时间:
2020-5-29 09:50
呀GG色域
作者:
fuxi0825
时间:
2020-5-29 09:59
学习,谢谢
作者:
ahhh
时间:
2020-5-29 10:05
作者:
ymgaoski
时间:
2020-5-29 10:19
学计算机必修课新讲--编译原理+操作系统+图形学
作者:
zzydev
时间:
2020-5-29 10:22
大学计算机必修课新讲--编译
作者:
szy0syz
时间:
2020-5-29 11:59
终于更新了。。我来了。。
作者:
robertal
时间:
2020-5-29 12:55
111111111111111111111
作者:
davidshen
时间:
2020-5-29 18:33
大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
smile-coding
时间:
2020-5-29 18:38
6666666666666666
作者:
michaelhee
时间:
2020-5-29 18:55
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
jason2k
时间:
2020-5-29 18:56
计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
cccccc
时间:
2020-5-29 20:30
6666666666666666
作者:
VaderWang
时间:
2020-5-29 21:35
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
作者:
char32
时间:
2020-5-29 22:04
谢谢楼主啦
作者:
xch20010
时间:
2020-5-30 00:25
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
ttamos
时间:
2020-5-30 08:08
大学计算机必修课新讲--编译原理+操作系统+图形
作者:
hibook
时间:
2020-5-30 08:25
感谢楼主分享
作者:
混乱牧师
时间:
2020-5-30 13:34
66666666666
作者:
lamp
时间:
2020-5-30 13:52
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
zybniubi
时间:
2020-5-30 14:24
6666666666666
作者:
zza00000
时间:
2020-5-30 21:24
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
徐志文
时间:
2020-5-30 22:06
77777777777777777
作者:
omgay
时间:
2020-5-30 22:23
666666666666
作者:
cmcc2099
时间:
2020-5-30 23:05
看看........
作者:
xiao123
时间:
2020-5-30 23:54
感谢分享
作者:
weiyihui
时间:
2020-5-31 00:38
高浮雕鬼地方
作者:
vnetoolxw
时间:
2020-5-31 07:45
66666666666666666666666666666
作者:
maxfine
时间:
2020-5-31 09:01
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
FfIJjGKb
时间:
2020-5-31 15:18
v现在v选择新在v现场v下
作者:
qyx123
时间:
2020-5-31 17:54
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
liunian
时间:
2020-6-1 08:47
666666666666
作者:
sunyajun1988
时间:
2020-6-1 11:00
感谢分享
作者:
betago
时间:
2020-6-1 11:05
666666666666666666
作者:
solaya
时间:
2020-6-2 10:53
大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
MrCvcNkf
时间:
2020-6-2 16:23
2222222222222222222222222222222222222
作者:
xiao9527
时间:
2020-6-2 17:06
1111111111111111111
作者:
veyron
时间:
2020-6-2 23:32
66666666666666666
作者:
Annd
时间:
2020-6-3 07:38
谢谢分享
作者:
65304258@qq.com
时间:
2020-6-3 08:59
666666666666666666666666666
作者:
zzt74800
时间:
2020-6-3 10:08
。。。。。。。。。。。。。。。。
作者:
VanGogh
时间:
2020-6-3 16:02
感谢分享
作者:
沱长
时间:
2020-6-3 23:19
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
柠檬精
时间:
2020-6-4 14:49
感谢分享
作者:
fuko
时间:
2020-6-4 16:31
大学计算机必修课新讲
作者:
610826321
时间:
2020-6-7 23:10
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
onionlxc
时间:
2020-6-8 12:01
111111111111111111111111111
作者:
13015759927
时间:
2020-6-8 16:43
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
GGBond丶
时间:
2020-6-8 18:49
66666666666666666
作者:
lomeixiok
时间:
2020-6-8 18:59
厉害厉害
作者:
gjc_searchon
时间:
2020-6-8 19:40
thanks .....
作者:
街甪丶de幸
时间:
2020-6-8 20:35
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
roger_20
时间:
2020-6-9 01:06
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
atimeslie
时间:
2020-6-9 22:41
11111111111111111
作者:
yehehui
时间:
2020-6-9 23:25
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
zengxl
时间:
2020-6-12 21:13
大学计算机必修课新讲
作者:
bchen372
时间:
2020-6-14 03:26
哈哈哈哈哈哈哈哈哈哈或或或或或或或或
作者:
whatsmax
时间:
2020-6-14 09:21
图形学图形学图形学
作者:
920212455
时间:
2020-6-14 10:58
66666666666
作者:
heqianting
时间:
2020-6-14 20:05
作者:
一览众山小
时间:
2020-6-14 21:02
感谢分享
作者:
Ganxuetuwuyou
时间:
2020-6-15 11:09
感谢 大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
shoven
时间:
2020-6-17 12:12
顶顶顶顶顶多多多多多
作者:
hechengnan123
时间:
2020-6-17 21:34
66669888888888888888
作者:
hellotgth
时间:
2020-6-18 10:29
6666666666666666666666
作者:
LuciferMS
时间:
2020-6-19 11:58
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
18888
时间:
2020-6-19 17:43
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
aiur
时间:
2020-6-20 20:41
如果您要查看本帖隐藏内容请回复
作者:
睡睡不睡
时间:
2020-6-23 00:00
感谢分享~~~~
作者:
rosw123
时间:
2020-6-23 10:39
1111111111111111
作者:
alfredolee
时间:
2020-6-23 11:38
大学计算机必修课新讲--编译原理+操作系统+图形学
作者:
墨鱼
时间:
2020-6-24 23:08
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
一颗心为你
时间:
2020-6-25 18:10
哦哦哦哦哦哦哦哦
作者:
fengsuia
时间:
2020-8-19 11:18
好好好好好
作者:
wilsonlu
时间:
2020-8-20 15:55
goodgoodgoodgoodgoodgoodgood
作者:
xxxaa111
时间:
2020-8-20 21:31
作者:
zzztest
时间:
2020-8-20 22:26
路过路过路过路过路过路过
作者:
djj
时间:
2020-8-21 19:26
666666666666666666666666666
作者:
youyichuan
时间:
2020-8-30 18:09
haodongxi,xuexiyixia
作者:
FireflieX
时间:
2020-8-31 19:16
谢谢分享!!!!!
作者:
imldb
时间:
2020-8-31 20:59
66666666666666
作者:
xiao_du
时间:
2020-9-3 09:29
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
wuyascnu
时间:
2020-9-27 09:16
666666666666666666666
作者:
wuyascnu
时间:
2020-9-27 09:23
可以更新一下嘛?网盘挂了
作者:
mutsu
时间:
2020-9-27 10:41
RE: 大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
bLI海阔天空
时间:
2020-9-27 13:36
大学计算机必修课新讲--编译原理+操作系统+图形学 [修改]
作者:
uvuv
时间:
2020-10-10 14:35
adsfasssssssssssssss
欢迎光临 学途无忧 (http://xuetu123.com/)
Powered by Discuz! X3.2