大学计算机必修课新讲–编译原理+操作系统+图形学 | 完结

小七学习网,助您升职加薪,遇问题可联系:客服微信【1099252741】 备注:来自网站

大学计算机必修课新讲--编译原理+操作系统+图形学
围绕核心脉络重学计算机底层知识,学到大学教不到的,学会大学教不会的
编译原理,操作系统,图形学它们在回答计算机领域三个基本问题:程序如何被编译成机器指令然后被执行(编译原理)、多个程序如何共享资源(操作系统)、人和机器如何交互(图形学)。

大学计算机必修课新讲–编译原理+操作系统+图形学
围绕核心脉络重学计算机底层知识,学到大学教不到的,学会大学教不会的
编译原理,操作系统,图形学它们在回答计算机领域三个基本问题:程序如何被编译成机器指令然后被执行(编译原理)、多个程序如何共享资源(操作系统)、人和机器如何交互(图形学)。

〖课程目录〗:

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

〖视频截图〗:

程序员三大浪漫--编译原理+操作系统+图形学

程序员三大浪漫–编译原理+操作系统+图形学
免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站(邮箱:1099252741@qq.com,备用微信:1099252741),本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
(0)
上一篇 2022年6月19日 上午11:21
下一篇 2022年6月19日 上午11:22

小七学习网,助您升职加薪,遇问题可联系:客服微信【1099252741】 备注:来自网站

相关推荐

  • 一站式学习Java网络编程 深度理解BIO/NIO/AIO | 完结

    对比式学习 让网络编程知识更好消化更易理解
    以创新性的“对比式学习”搭建网络编程课程,课程主线:网络层基础铺垫-->java网络编程前置技术讲解-->阻塞式编程BIO-->非阻塞式编程NIO-->异步编程AIO-->综合实战)适合每一位需要理解网络编程的同学们学习。

    2022年6月19日
    160
  • MySQL面试指南 中高级开发者的晋升加薪利器 | 完结

    中高级IT开发人员晋升加薪的必备佳品!
    本课程以MySQL8.0版本为基础,覆盖MySQL面试相关的9大类问题,梳理和总结相关知识点。通过本课程的学习,可以使你紧跟MySQL发展的脚步,学习到最新的MySQL知识,轻松的完成MySQL 的相关面试,助力获得心怡的工作机会!

    2022年6月19日
    187
  • 遇问题可联系 / 客服微信【1099252741】
  • Java实操避坑指南 SpringBoot/MySQL/Redis错误详解 | 完结

    Java实操避坑指南 业务代码-整合框架-存储-缓存常见错误详解
    系统讲解各类常见问题,找坑-分析-填坑-总结,助你养成良好编程习惯和解决问题的思维方法

    2022年6月19日
    197
  • 借助产品思维解决人生难题(含实践方法论+分析工具)| 更新至10章

    制无论你从事什么职业,一旦掌握了产品思维,你将成为无敌的存在。本课程将为你体系化掌握产品思维以及落地案例,助你用产品思维解决职业,生活,学习等难题,助力你能为更优秀的自己。

    2022年11月14日
    77
  • 前端要学的测试课 从Jest入门到 TDD/BDD双实战 | 完结

    以 Vue / React 项目进行实战,更适合前端工程师学习的测试课程
    课程包括前端自动化测试框架 Jest 的讲解,React 中 Enzyme 组件测试工具的讲解,Vue-test-utils 的讲解,以及 TDD,BDD 测试模式的讲解,单元测试,集成测试的讲解。让你形成自己的测试方法论,提高核心竞争力。

    2022年6月19日
    159
  • React16组件化+测试+全流程 实战在线账本项目 | 完结

    React16组件化+测试+全流程 实战“在线账本”项目
    从设计图到上线,精通组件化思维和组件测试,掌握大厂的开发模式和流程
    本门课以”在线账本”为实战项目,以 ‘React理念’为指导思想,让大家从头到尾的实践一个项目是怎样从设计图到最终的线上产品。课程将一步一步带你从设计图出发,到组件拆分,组合,状态分析,数据流分析,组件测试、页面整合,再到搭建 Mock Server,对接后端接口,实现前后端分离开发,最终到部署上线。由浅入深的学习 React 的实际应用的开发模式和流程。

    2022年6月19日
    129
  • 微信小游戏入门与实战 引爆朋友圈 | 完结

    微信小游戏以自己的独特的方式切分了手机游戏市场这块大蛋糕。本课程从0开始,讲述微信小程序的整个开发过程,所讲解内容包含小程序核心API、工具链等小游戏开发核心技术。掌握小游戏开发,展示你的创意,与10亿微信用户分享快乐。

    2022年6月19日
    179
  • 基于GO语言,K8s+gRPC实战云原生微服务开发 | 更新至8章

    K8s在云原生微服务开发中,作为微服务治理框架越来越受企业的青睐,掌握该技术解决方案更有竞争力,课程从企业实际开发中提取精髓,从K8s、gRPC底层原理剖析到服务治理解决方案设计落地,到云上部署,更平滑的学习曲线,助力你成为云原生开发领域的牛人。

    2023年4月5日
    80
  • LoadRunner性能测试实战训练营 | 完结

    LoadRunner性能测试实战训练营 全流程掌握性能测试
    从理论到项目实战,一个课程涵盖性能测试的基础知识和测试技巧
    课程从基础到真实项目实战,全面系统带你学习性能测试,让你完全掌握性能测试的全流程、主流工具( LoadRunnner)使用、测试脚本开发、场景设计以及测试结果分析,让你学会如何在真实项目中进行性能测试,以及如何对结果进行分析与调优。

    2022年6月19日
    138
  • 告别996 双角度优化编程效率 实现Java高效编程 | 完结

    告别996 实现高效编程 减少开发压力
    掌握Java高效编程秘诀 助你在未来展翅高飞

    本课程致力于从“技术”和“工具”两大维度提高Java编程效率,主要包含:链式编程、流式编程、资源关闭、Google开源高效神器Guava、为自己锻造高效IDE神器等,极大化提升工作效率,契合企业刚需

    2022年6月19日
    224