还剩47页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
清华大学计算机科学欢迎来到清华大学计算机科学课程!课程概述课程目标课程内容本课程旨在为学生提供扎实的计算机科学基础,涵盖计算机系统、课程涵盖了计算机科学的核心知识,包括操作系统、网络、数据算法、数据库、软件工程、人工智能等重要领域结构、算法、数据库、软件工程、人工智能等计算机科学发展历程1940s1电子计算机的诞生1950s-1960s2程序设计语言的出现,计算机开始进入商业应用1970s-1980s3个人计算机的普及,互联网的兴起至今1990s-4移动互联网、云计算、人工智能等新技术的快速发展计算机系统结构内存硬盘总线CPU中央处理器,负责执行指令,存储数据和指令,供快存储数据,容量较大,速度连接各个部件,传输数据CPU是计算机的核心部件速访问较慢操作系统基础操作系统是计算机系统资源的管理者,操作系统为用户提供一个统一的接口,常见的操作系统包括、Windows它负责管理、内存、磁盘、网屏蔽了硬件的复杂性,方便用户使用、等CPU LinuxmacOS络等硬件资源计算机进程管理进程进程管理正在运行的程序,是一个独立的执行单元,具有自己的内存空间负责创建、调度、终止进程,并为进程分配资源和资源内存管理虚拟内存页面置换算法使用硬盘空间来扩展内存容量,管理内存页面,决定哪些页面应提高内存使用效率该被置换到硬盘内存碎片内存中出现许多小的空闲空间,导致内存利用率低下文件管理目录结构文件系统组织文件,方便用户查找和管理文件管理文件存储和访问,提供文件操作的接口输入输出系统输入设备键盘、鼠标等,用于向计算机输入数据输出设备显示器、打印机等,用于将计算机处理后的结果输出计算机网络基础网络协议1网络拓扑24网络应用网络安全3网络层协议协议协议IP ARP互联网协议,负责数据包的寻址和路由地址解析协议,将地址转换为物理地址IP传输层协议TCP1传输控制协议,面向连接,可靠传输UDP2用户数据报协议,无连接,不可靠传输应用层协议HTTP FTP超文本传输协议,用于网页浏文件传输协议,用于文件传输览SMTP简单邮件传输协议,用于电子邮件发送数据结构基础线性结构1数据元素之间存在一对一的关系非线性结构2数据元素之间存在多对一或多对多的关系线性表顺序表链表数据元素在内存中连续存放,便于随机访问数据元素分散存储,通过指针连接,便于插入和删除栈和队列栈后进先出的线性表,类似于一个箱子LIFO队列先进先出的线性表,类似于一条流水线FIFO树和二叉树树1一种非线性数据结构,数据元素之间存在层次关系二叉树2每个节点最多有两个子节点的树,在计算机科学中应用广泛图论基础节点边图中的数据元素连接节点的关系排序算法1冒泡排序2插入排序3选择排序4快速排序搜索算法算法复杂度分析时间复杂度空间复杂度衡量算法执行时间随输入规模的变化趋势衡量算法执行过程中所需要的内存空间随输入规模的变化趋势递归算法递归递归基例函数自身调用自身递归的停止条件递归步骤递归调用自身,并逐步逼近递归基例贪心算法步骤一1选择当前看起来最优的方案步骤二2将当前方案加入到最终解中步骤三3重复步骤一和步骤二,直到问题解决动态规划状态定义定义问题的状态,将问题分解成子问题状态转移方程描述子问题之间的关系,用递推公式表示边界条件定义问题的初始状态,作为递推的起点数据库基础数据模型1数据库语言24数据安全数据库管理系统3数据库系统架构数据库服务器数据库客户端DBMS数据库管理系统,负责管理数据,提供运行的硬件设备,负责存储和处用户访问数据库的工具,例如数据库管DBMS数据访问接口理数据理工具、应用程序等关系数据模型关系元组由行和列组成的二维表格,用关系中的一行,表示一个数据于存储数据记录属性关系中的一列,表示数据的属性语言SQL数据定义语言数据操作语言数据控制语言DDL DMLDCL创建、修改、删除数据插入、删除、修改、查控制数据库的访问权限库对象,例如表、视图、询数据索引等事务管理原子性1事务中的操作要么全部执行,要么全部不执行一致性2事务执行完成后,数据库保持一致性状态隔离性3多个事务之间相互隔离,不会相互影响持久性4事务执行完成后,其结果会永久保存在数据库中并发控制锁机制时间戳机制通过锁来控制并发访问,防止数使用时间戳来判断数据是否被修据冲突改,防止并发访问冲突乐观并发控制假设数据不会发生冲突,并在提交时检查冲突软件工程基础需求分析明确用户需求,确定软件的功能和性能设计设计软件的架构、模块、接口等编码将设计转换为代码,实现软件的功能测试验证软件的正确性和性能部署将软件发布到生产环境,供用户使用需求分析需求收集需求分析需求验证从用户那里收集需求信息,了解用户期对收集到的需求进行分析,整理成结构验证需求文档是否准确地反映了用户的望软件的功能和特性化的需求文档真实需求架构设计系统架构1定义整个软件系统的整体结构和模块划分模块架构2定义每个模块的功能、接口和数据结构数据库架构3设计数据库的结构、数据关系和访问模式编码实现选择合适的编程语言和开发工根据设计文档编写代码,实现具软件的功能遵循编码规范,提高代码的可读性和可维护性测试与部署单元测试1测试代码中的各个模块的功能集成测试2测试各个模块之间的集成情况系统测试3测试整个系统的功能和性能部署4将软件发布到生产环境,供用户使用面向对象程序设计继承21封装多态3封装和继承封装继承将数据和方法隐藏在类的内部,通过接口对外提供访问子类继承父类的属性和方法,实现代码复用多态性多态同一方法可以根据不同的对象类型产生不同的行为动态绑定在运行时根据对象的类型来决定调用哪个方法设计模式工厂模式单例模式观察者模式用于创建对象的工厂类确保一个类只有一个实例用于定义一对多的依赖关系,当一个对象发生变化时,所有依赖它的对象都会收到通知计算机图形学建模创建三维模型,描述物体的形状和几何信息渲染将三维模型转换为二维图像,生成视觉效果动画使三维模型动起来,创建动态效果渲染管线模型变换1将模型从模型空间转换到世界空间视图变换2将模型从世界空间转换到摄像机空间投影变换3将模型从三维空间投影到二维空间光栅化4将二维图像转换为像素信息光照模型环境光漫反射光镜面反射光来自各个方向的光线,均匀照亮物体物体表面散射的光线,使物体表面呈现物体表面反射的光线,形成高光出均匀的亮度纹理映射纹理二维图像,用来装饰物体表面映射将纹理图像映射到物体表面动画技术关键帧动画动作捕捉物理模拟通过定义关键帧来控制使用传感器捕捉演员的使用物理引擎模拟物体动画的播放动作,生成动画数据的运动,生成逼真的动画效果人工智能基础机器学习1深度学习24计算机视觉自然语言处理3机器学习算法12监督学习无监督学习3强化学习神经网络人工神经元神经网络层训练模拟生物神经元,进行信息处理多个神经元组成的神经网络层,用于提通过数据训练神经网络,使其能够完成取特征特定任务自然语言处理文本分类机器翻译将文本自动归类到不同的类别将一种语言的文本自动翻译成另一种语言问答系统根据用户的问题,自动生成答案计算机视觉图像识别1识别图像中的物体,例如人脸、汽车等物体检测2在图像中找到特定物体的位置和大小图像分割3将图像分割成不同的区域,例如前景和背景。
个人认证
优秀文档
获得点赞 0