介绍课程的主要内容、学习顺序;和学员对焦程序员的能力模型,课程希望达到的效果等。然后,讲师和同学同步课程使用的开发工具如intelij,vscode,mars4,mocha,gradle等。
本章集中解决学习三大浪漫过程中的前置基础依赖。主要是理解计算机的模型,理解计算机是如何设计的?程序是什么?指令是怎么被CPU执行的?内存中的数据如何被找到并读入寄存器等。
本章串讲编译器的主要流程,介绍编译器和自然语言翻译的差异性,以及对编译原理的课程提供一个整体介绍。
本章介绍编译器词法分析部分的实现,讲解词法分析的流程,实现一个完整的词法分析器。帮助学员理解流、正则引擎、状态机等概念,理解基本的面向对象封装复用技巧。
本章介绍语法分析的基本概念,如产生式、抽象语法树、递归向下方解析法等,并且在实战中帮助学员理解和处理更复杂的问题,如多级优先级表达式等。同时,向学员渗透跳跃结构——树和图的遍历算法以及相关理论知识。 ...
本章介绍根据语法树进行翻译的基本方法和相关理论,并用这些理论讲TinyScript编译成中间语言。本章涉及语言层面最基本的问题,如符号表、作用域如何被实现?类型检查如何进行?另外,本章重点渗透树、图、哈希表等关键数据结构,相关算法;帮助学员重新review递归问题。 ...
本章介绍如何将中间语言翻译成机器指令,通过构造一个虚拟机执行机器指令。本章会看到堆栈的分配、程序的执行、指令的选择等等内容,和第二章的内容形成呼应,在学习操作系统之前加深对机器的理解。
本章介绍操作系统的历史,如unix是怎么被设计出来?mac和windows又是怎么回事?linux为什么叫linxu等。然后渗透一些基本的概念,如操作系统是连接硬件和软件的桥梁,内核如何被设计,多核的CPU如何管理,如何并发执行指令等。 ...
本章介绍进程如何被操作系统管理,线程如何在用户空间工作;然后介绍竞争问题,掌握处理竞争的算法:自旋锁、TAS、信号量、互斥量、监视器等等。基于信号量模型实现多线程同步IO模型服务器,并与Spring框架及node.js单线程同步I/O模型比较性能。 ...
本章介绍进程如何被操作系统调度的,通过实现哲学家就餐问题引入,然后介绍各种基于时间片、优先级的调度模型;本章会重点渗透队列和优先级队列这两种数据结构。
本章介绍多种内存分配策略,重点会放在内存回收的策略上。通过理解内存分配、内存回收,让学员理解很多语言层面的回收策略,设计妥协以及深层次的考虑。同时向学员渗透链表、栈等数据结构的深入使用方式。
本章介绍文件系统设计和抽象的方法,这里有大量的思想和设计模式可以渗透。帮助学员理解如何从编程接口抽象的API,到高层的文件、目录结构,然后有如何被映射到中层的数据块、节点,最后如何到最底层的物理存储。
本章介绍图形学历史、基本概念,以及涉及的各种各样知识,应用场景的概括。简单介绍3d模型、世界描述、光照等图形学重要的内容,以及他们被应用到电影、工业、医疗、可视化、游戏、电子等等广泛的领域。然后介绍课程的组织形式和学习方法。 ...
本章介绍OpenGL标准、生态以及对webgl进行一个初探,写一个webgl的helloworld并了解图形渲染管道的流程。
本章介绍OpenGL Shadering Language,从语法开始,通过多个实例逐渐渗透GLSL的用途。
本章结合介绍webgl讲解如为场景增加光照,以此来增加场景的真实感。然后重点帮助同学理解图形学渲染的一个核心算法——光线追踪算法,并带领同学通过实际编程解决问题去理解这个算法。
本章通过和学员一起实现一个3D类的射击游戏,帮助学员巩固和提高对图形学的理解。在解决场景布置、视角转换、事件捕捉、碰撞检测、物理计算等等过程中,将之前学的理论知识逐渐融汇贯通。
10年互联网老兵,曾任职于多家大型互联网公司,担任架构师及团队Leader,30岁(2018)任职阿里巴巴高级技术专家(P8)。负责过PHP高负载,前端(React/RN),Java领域化中间件,大数据(BI和数据可视化)等多个方向的知名项目。大学刷完算法导论,参加过ACM和国际机器人竞赛,在多个领域都积累了丰富的实战经验。
如无法下载使用图片另存为
下载海报选课、学习遇到问题?
扫码添加指导老师 1V1 帮助你!
添加后老师会第一时间解决你的问题