24x资源网

VIP
大学计算机必修课新讲--编译原理+操作系统+图形学

【7800】-大学计算机必修课新讲--编译原理+操作系统+图形学

  • 本站均为资源介绍,仅限用于学习和研究,不得将上述内容用于商业或者非法用途,
  • 否则一切后果请用户自负。您必须在下载后的24个小时之内,从您的电脑中彻底删除
  • 如果喜欢该资源请支持正版。如发现本站有侵权违法内容,请联系后查实将立刻删除。
  • 资源简介:大学计算机必修课新讲--编译原理+操作系统+图形学
  • 详细描述

    慕课-大学计算机必修课新讲--编译原理+操作系统+图形学


    第1章 学前导学(要有准备有目标的学)
    介绍课程的主要内容、学习顺序;和学员对焦程序员的能力模型,课程希望达到的效果等。然后,讲师和同学同步课程使用的开发工具如intelij,vscode,mars4,mocha,gradle等。
     
     1-1 学前方向标
     1-2 课程中的工具以及学习方法
     1-3 一份老仙学习秘诀请你签收
    第2章 计算机理论引导(理解计算机)
    本章集中解决学习三大浪漫过程中的前置基础依赖。主要是理解计算机的模型,理解计算机是如何设计的?程序是什么?指令是怎么被CPU执行的?内存中的数据如何被找到并读入寄存器等。
     
     2-1 什么是计算机
     2-2 CPU的工作原理——内存、寄存器和ALU
     2-3 指令入门(1)——指令的组成部分
     2-4 指令入门(2)——寻址模式、浮点数和指令分类
     2-5 我的第一个汇编程序——实现一个求阶乘的递归函数(思路部分)
     2-6 我的第一个汇编程序——实现一个求阶乘的递归函数(coding)
     2-7 中断和中断向量
    第3章 【 编译原理】概述(理解编译器)
    本章串讲编译器的主要流程,介绍编译器和自然语言翻译的差异性,以及对编译原理的课程提供一个整体介绍。
     
     3-1 编译原理课程介绍
     3-2 编译原理——研究翻译的科学
     3-3 编译器和解释器
     3-4 编译器的工作流程
    第4章 【 编译原理】词法分析(实现一个词法分析器)
    本章介绍编译器词法分析部分的实现,讲解词法分析的流程,实现一个完整的词法分析器。帮助学员理解流、正则引擎、状态机等概念,理解基本的面向对象封装复用技巧。
     
     4-1 词法分析器简介
     4-2 (编程lexer01)词法分析器的接口(Java和Js)
     4-3 编译器基础能力设计——实现流的peek和putBack操作
     4-4 (编程Lexer01 Java)——实现流的peek和putBack操作
     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)——有穷状态机实现词语提取(下)
     4-12 (编程lexer04 Java)——完整的词法分析器
     4-13 (编程lexer04 Javascript)——完整的词法分析器
    第5章 【 编译原理】语法分析(实现一个语法分析器)
    本章介绍语法分析的基本概念,如产生式、抽象语法树、递归向下方解析法等,并且在实战中帮助学员理解和处理更复杂的问题,如多级优先级表达式等。同时,向学员渗透跳跃结构——树和图的遍历算法以及相关理论知识。
     
     5-1 数据结构引导——树和抽象语法树
     5-2 (parser01 java) 定义抽象语法树
     5-3 (parser01 javascript) 定义抽象语法树
     5-4 最简表达式分析过程
     5-5 (编程parser02 java)——实现最简Parser
     5-6 (编程parser02 javascript——实现最简Parser
     5-7 TinyScript表达式解析——优先级和去左递归
     5-8 (编程 parser03 java) TinyScript表达式解析
     5-9 (编程 parser03 javascript) TinyScript表达式解析
     5-10 (编程 parser04 java) 树的后序遍历——表达式验证
     5-11 (编程 parser04 javascript) 树的后序遍历——表达式验证
     5-12 语法分析的整体程序
     5-13 (编程 parse05 java)语法分析整体程序(上)-
     5-14 (编程 parse05 java)语法分析整体程序(下)-
     5-15 (编程 parser05 javascript)语法分析整体程序(上)
     5-16 (编程 parser05 javascript)语法分析整体程序(下)
     5-17 拾遗——那些穿插在迭代中的重构
     5-18 补课——大批递归来袭之应对
     5-19 词法语法部分总结——领域驱动视角
    第6章 【 编译原理】语法制导翻译(实现中间语言翻译器)
    本章介绍根据语法树进行翻译的基本方法和相关理论,并用这些理论讲TinyScript编译成中间语言。本章涉及语言层面最基本的问题,如符号表、作用域如何被实现?类型检查如何进行?另外,本章重点渗透树、图、哈希表等关键数据结构,相关算法;帮助学员重新review递归问题。 ...
     
     6-1 综合部分序章——三地址代码
     6-2 构造三地址代码——基于SDD的翻译
     6-3 词法作用域和符号表
     6-4 (编程trans 01 java) 实现符号表
     6-5 (编程trans 01 javascript) 实现符号表
     6-6 三地址代码的表示
     6-7 编程 trans02 java) 三地址代码的表示
     6-8 (编程 trans02 javascript)三地址代码的表示
     6-9 翻译的整体过程和表达式
     6-10 (编程 trans 03 java)翻译的整体过程和表达式
     6-11 (编程 trans 03 javascript)翻译的整体过程和表达式
     6-12 翻译——作用域的处理
     6-13 (编程 trans 04 java)翻译——作用域和整体程序
     6-14 (编程 trans 04 javascript)翻译——作用域和整体程序
    第7章 【 编译原理】程序运行环境(实现一个虚拟机)
    本章介绍如何将中间语言翻译成机器指令,通过构造一个虚拟机执行机器指令。本章会看到堆栈的分配、程序的执行、指令的选择等等内容,和第二章的内容形成呼应,在学习操作系统之前加深对机器的理解。
     
     7-1 冲刺——用虚拟机执行TinyScript程序
     7-2 (编程 java vm 01)指令和程序表示
     7-3 生成器——将三地址代码转化成指令
     7-4 (编程 java vm 02)指令翻译过程讲解
     7-5 (编程 java vm 02)补课——神奇的位运算
     7-6 (编程 java vm 03)虚拟机—— 指令的编码和解码
     7-7 (编程 java vm 04)虚拟机执行程序
     7-8 课程总结——如何做一个优秀的架构师
    第8章 【 操作系统】概述(历史和核心概念)
    本章介绍操作系统的历史,如unix是怎么被设计出来?mac和windows又是怎么回事?linux为什么叫linxu等。然后渗透一些基本的概念,如操作系统是连接硬件和软件的桥梁,内核如何被设计,多核的CPU如何管理,如何并发执行指令等。 ...
     
     8-1 课前导学——学好操作系统要注意什么
     8-2 什么是操作系统
     8-3 操作系统的历史
     8-4 内核和内核设计
    第9章 【 操作系统】进程和多线程(多线程算法全解和实战高并发)
    本章介绍进程如何被操作系统管理,线程如何在用户空间工作;然后介绍竞争问题,掌握处理竞争的算法:自旋锁、TAS、信号量、互斥量、监视器等等。基于信号量模型实现多线程同步IO模型服务器,并与Spring框架及node.js单线程同步I/O模型比较性能。 ...
     
     9-1 应用程序的抽象——进程
     9-2 进程的三态和中断响应
     9-3 多道程序设计和CPU利用率
     9-4 线程——轻量级的进程
     9-5 竞争条件和临界区
     9-6 解决竞争条件的算法——严格轮换法和Peterson算法
     9-7 锁的基础——硬件TSL和XCHG
     9-8 信号量(Semaphore)和互斥量(Mutex)
     9-9 总结——万变不离其宗(1)
    第10章 【 操作系统】调度算法入门(理解任务调度的模型)
    本章介绍进程如何被操作系统调度的,通过实现哲学家就餐问题引入,然后介绍各种基于时间片、优先级的调度模型;本章会重点渗透队列和优先级队列这两种数据结构。
     
     10-1 调度问题概述
     10-2 补课——优先级队列
     10-3 调度算法选讲
     10-4 实战哲学家就餐问题
    第11章 【操作系统】内存管理(内存分配回收全面解答)
    本章介绍多种内存分配策略,重点会放在内存回收的策略上。通过理解内存分配、内存回收,让学员理解很多语言层面的回收策略,设计妥协以及深层次的考虑。同时向学员渗透链表、栈等数据结构的深入使用方式。
     
     11-1 内存部分导学
     11-2 地址空间——存储器模型的抽象
     11-3 虚拟内存、页表和mmu
     11-4 java,go和js为什么这么玩——理解OS和语言对内存管理的异同
     11-5 垃圾回收算法选讲——基于引用计数的内存回收算法
     11-6 垃圾回收算法选讲——标记、扫地、整理
     11-7 垃圾回收算法选将——分代算法
    第12章 【 操作系统】文件系统(底层数据结构设计与抽象)
    本章介绍文件系统设计和抽象的方法,这里有大量的思想和设计模式可以渗透。帮助学员理解如何从编程接口抽象的API,到高层的文件、目录结构,然后有如何被映射到中层的数据块、节点,最后如何到最底层的物理存储。
     
     12-1 文件系统和磁盘
     12-2 文件和文件的表示
     12-3 共享文件和目录
     12-4 虚拟文件系统(VFS)和基于日志的文件系统
     12-5 场景思考100W并发——epoll,select和poll
    第13章 【图形学】概要(小白学图形学第一步)
    本章介绍图形学历史、基本概念,以及涉及的各种各样知识,应用场景的概括。简单介绍3d模型、世界描述、光照等图形学重要的内容,以及他们被应用到电影、工业、医疗、可视化、游戏、电子等等广泛的领域。然后介绍课程的组织形式和学习方法。 ...
     
     13-1 图形学部分导学
     13-2 图形学的基本概念和应用场景
     13-3 图形学历史概述
     13-4 向量的世界
     13-5 圆的世界
     13-6 向量的点乘和叉乘
     13-7 矩阵的乘法(1)
     13-8 三角形网格(1)
     13-9 渲染图形——从顶点到视区(1)
    第14章 【图形学】 图形渲染流程和WebGL初探(从helloworld逐渐深入)
    本章介绍OpenGL标准、生态以及对webgl进行一个初探,写一个webgl的helloworld并了解图形渲染管道的流程。
     
     14-1 webgl的第一个程序(上)
     14-2 webgl的第一个程序(下)
     14-3 WebGL图形渲染管道
     14-4 传递数据给GLSL——Buffer管理
     14-5 绘制3d图形——旋转的立方体
     14-6 2d变换和实战(上)
     14-7 2d变换和实战(下)
     14-8 3d观察——投影和透视
     14-9 简单三维变换和模型的封装.mp4
     14-10 3D观察——眼睛和摄像头
    第15章 【图形学】GLSL(多例子教你用着色器)
    本章介绍OpenGL Shadering Language,从语法开始,通过多个实例逐渐渗透GLSL的用途。
     
     15-1 GLSL基础语法
     15-2 纹理入门——给图形增加纹理
     15-3 手把手制作球面贴图——地球仪和笑脸
     15-4 制作一个游戏角色(上)——模型组合
     15-5 制作一个游戏角色(中)—— 多纹理的原理和处理
     15-6 制作一个游戏角色(下)—— 实现动画
    第16章 【图形学】光照和光线追踪(理解世界最核心的——光)
    本章结合介绍webgl讲解如为场景增加光照,以此来增加场景的真实感。然后重点帮助同学理解图形学渲染的一个核心算法——光线追踪算法,并带领同学通过实际编程解决问题去理解这个算法。
     
     16-1 光照部分导学
     16-2 为模型增加直线光源
     16-3 点光源
     16-4 制作手电筒效果
     16-5 光线追踪介绍
    第17章 【图形学】游戏开发(一起实现一个射击类的3D游戏)
    本章通过和学员一起实现一个3D类的射击游戏,帮助学员巩固和提高对图形学的理解。在解决场景布置、视角转换、事件捕捉、碰撞检测、物理计算等等过程中,将之前学的理论知识逐渐融汇贯通。
     
     17-1 游戏开发部分导学
     17-2 构造游戏地图——2.5D网格和基础架构
     17-3 为角色创建AI——Agent设计模式
     17-4 多个GLSL之间切换和Framebuffer
     17-5 用户交互——选择3D模型
     17-6 多状态切换——战斗效果
     17-7 图形学总结和后续学习建议
    本课程已完结

     
    大学计算机必修课新讲--编译原理+操作系统+图形学
    百度网盘分享地址: 链接: https://pan.baidu.com/s/1cP89rC19NpzyuJcnz0tMww 提取码: axdw
    2米资源网