还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机科学导论欢迎来到计算机科学的世界!课程简介什么是计算机科学?学科概述核心内容计算机科学是研究计算机及其应用的学科它涉及计不仅是学习如何使用计算机,更重要的是学习如何设计CS CS算机的硬件、软件、算法、数据结构、网络、人工智能等领、开发和应用计算机系统,以解决现实世界中的问题域计算机科学的研究领域计算理论研究计算的本质和能硬件体系结构设计和构建计算软件工程开发和维护软件系统力,包括算法、复杂度理论、可机系统,包括处理器、内存、存,包括需求分析、设计、编码、计算性等储器等测试等人工智能研究让计算机模拟人类智能,包括机器学习数据科学研究从数据中提取知识和洞察力,包括数据、深度学习、自然语言处理等挖掘、数据分析、数据可视化等计算机科学的重要性社会进步的驱动力未来发展的前沿计算机科学已经深刻改变了我们生活、工作和思考的方式,在未来,计算机科学将继续在各个领域发挥重要作用,包括从智能手机到互联网,从自动驾驶汽车到人工智能,计算机医疗保健、能源、环境保护、金融等,推动社会发展和人类科学正在推动着社会进步进步计算机的发展历史1940s-1950s1第一代电子计算机问世,采用真空管技术,体积庞大,耗电量高1950s-1960s2第二代电子计算机出现,采用晶体管技术,体积更小,性能更强1960s-1970s3第三代电子计算机出现,采用集成电路技术,体积更小,性能更强大至今1970s-4第四代电子计算机出现,采用大规模集成电路技术,体积更小,性能更强大,并发展了个人电脑、互联网等计算机硬件基础处理器内存存储器负责执行计算机的指用于存储计算机正在用于长期存储数据,令,是计算机的核心运行的程序和数据,速度慢,容量大部件速度快,容量小输入输出设备/用于与计算机进行交互,包括键盘、鼠标、显示器、打印机等冯诺依曼体系结构·控制单元1负责解释和执行指令运算单元2负责进行算术和逻辑运算内存3用于存储程序和数据输入输出设备/4用于与外部世界交互中央处理器CPU核心功能关键指标是计算机的大脑,负责执行程序的指令,控制计算机的性能主要取决于主频、核心数量、缓存大小等指标CPU CPU的所有操作内存Memory存储原理主要类型内存是一种高速存储器,用于存储计算机正在运行的程序和内存主要分为、、等类型,容量和速DDR3DDR4DDR5数据,供快速访问度不断提升CPU输入输出设备/I/O输入设备键盘、鼠标、扫描仪、麦克风等,用于将信息输入到计算机中输出设备显示器、打印机、音箱等,用于将计算机处理的信息输出到外部计算机软件基础系统软件负责管理计算机资源,为应用程序提供运行环境,例如操作系统、驱动程序等应用软件为用户提供特定功能的软件,例如办公软件、游戏、浏览器等操作系统Operating System操作系统的作用常见操作系统操作系统是管理计算机硬件资源、提供用户界面、运行应用、、、等Windows macOSLinux Android程序的软件编程语言概述机器语言由和组成的指汇编语言用助记符代替机器指高级语言接近自然语言,可移01令,直接被计算机执行令,可读性更高,但仍依赖于特植性好,易于学习和使用,例如定硬件平台、、等Python JavaC++算法与数据结构算法解决特定问题的一系列步骤数据结构组织和存储数据的方式,例如数组、链表、树等算法的概念与特性算法的概念算法的特性算法是解决问题的步骤序列,可以用来描述计算机执行的任正确性、效率、可读性、鲁棒性等务常见算法类型排序、搜索等排序算法将数据按照特定搜索算法在数据集合中查顺序排列,例如冒泡排序、找特定元素,例如线性搜索快速排序、二分搜索图算法处理图数据,例如最短路径算法、最小生成树算法数据结构数组、链表、树、图链表数组12由节点组成的链式结构,每个节点包含数连续存储的一组数据据和指向下一个节点的指针图树由节点和边组成的网络结构,表示节点之层次化的数据结构,每个节点可以有多个43间的关系子节点算法复杂度分析时间复杂度空间复杂度算法执行时间随输入数据规模变化的趋势算法执行过程中所需的额外存储空间编程语言Python简单易学语法简洁,易于功能强大支持多种编程范理解,适合初学者式,可用于各种应用场景广泛应用在数据科学、机器学习、开发等领域广泛应用Web基础语法Python标识符关键字用于识别变量、函数、类等,由字母、数字、下划线组成,具有特殊含义的单词,不能用作标识符,例如、、if for第一个字符不能是数字等while数据类型与变量整数类型,例如、浮点数类型,例如字符串类型,例如int10-5float
3.14str Hello、、-
2.5World布尔类型,例如、列表类型,例如元组类型,例如bool Truelist[1,2,3]tuple1,2,3False字典类型,例如dict{name:Alice,age:20}控制流条件语句、循环语句条件语句循环语句根据条件执行不同的代码块,例如、、重复执行一段代码块,例如、if elifelse forwhile函数与模块函数模块将一组代码块封装成一个可重复使用的代码段,提高代码的将多个函数、类等组织在一起,形成一个独立的功能单元复用性面向对象编程OOP类1定义对象的模板,描述对象的属性和方法对象2根据类创建的实例,拥有类定义的属性和方法继承3子类继承父类的属性和方法,实现代码复用多态4相同方法在不同类中具有不同的实现方式封装5将数据和方法封装在一起,隐藏内部实现细节类与对象类对象类是一个抽象的概念,描述对象的属性和方法,例如动物对象是类的实例,具有类的所有属性和方法,例如猫对象类可以描述动物的属性(种类、颜色、体型等)和方法(移是动物类的一个实例,它具有动物的属性和方法,并动、进食、叫声等)拥有自己的具体属性(品种、毛色等)继承、多态、封装继承子类可以继承父类的多态相同方法在不同类中属性和方法,例如狗类可具有不同的实现方式,例如以继承动物类的属性和方动物类的移动方法,在法,同时还可以定义自己特狗类和猫类中可能会有有的属性和方法不同的实现封装将数据和方法封装在一起,隐藏内部实现细节,例如猫对象的叫声方法,可以将实现细节隐藏起来,只暴露一个简单的调用方法异常处理异常异常处理程序运行过程中发生的错误事件,例如除以零、文件不存在使用语句捕获异常,防止程序崩溃,并进行错try-except等误处理文件操作打开文件使用函读写文件使用函open read数打开文件,指定文件路径数读取文件内容,使用和模式函数写入文件内容write关闭文件使用函数关闭文件,释放文件资源close计算机网络基础网络拓扑结构1描述网络中设备之间的连接方式,例如总线型、星型、环型网络协议2规定了网络设备之间通信的规则,例如TCP/IP网络安全3保障网络系统的安全,防止攻击和信息泄露网络协议TCP/IP协议协议TCP IP传输控制协议,提供可靠、面向连接的传输服务互联网协议,提供无连接、面向数据报的网络层服务网络模型模型OSI物理层1定义了网络设备之间的物理连接方式数据链路层2负责将数据帧在网络设备之间传输网络层3负责将数据包在网络之间路由传输层4负责提供端到端的可靠数据传输会话层5负责建立、管理和终止两个应用程序之间的通信会话表示层6负责数据的格式转换和加密应用层7提供用户使用的网络应用程序,例如电子邮件、网页浏览互联网与Web互联网Web全球性的计算机网络系统,连接了无数的计算机和设备互联网上的一种信息服务,通过网页的形式提供各种内容网络安全基础数据安全隐私保护保护数据不被泄露、篡改或破坏保护个人信息不被非法获取、使用或传播数据安全与隐私保护数据加密访问控制使用加密算法将数据转换为难以理解的密文,只有拥有密钥限制用户对数据的访问权限,只有授权的用户才能访问特定的人才能解密数据密码学基础对称加密加密和解密使用非对称加密加密和解密使相同的密钥用不同的密钥,分别称为公钥和私钥哈希函数将任意长度的数据转换为固定长度的哈希值,用于数据完整性验证常见的网络攻击与防御拒绝服务攻击DoS1通过大量请求使服务器无法正常响应跨站脚本攻击XSS2利用网站漏洞注入恶意脚本代码,窃取用户信息注入攻击SQL3通过恶意语句,获取数据库中的敏感信息SQL防火墙4阻止来自外部网络的恶意访问,保护网络内部安全入侵检测系统IDS5监控网络流量,识别可疑行为,并发出警报入侵防御系统IPS6主动阻止攻击,保护网络安全数据库基础数据库管理系统DBMS用于创建、管理和维护数据库的软件系统,例如MySQL、、等Oracle SQLServer数据库模型描述数据库的结构和组织方式,例如关系型数据库、面向对象数据库关系型数据库关系型数据库关系代数使用关系模型存储数据,数据以表格形式组织,每个表格代操作关系型数据库的运算符集合,例如选择、投影、连接、表一个实体,表格中的列代表实体的属性差集等语言SQL结构化查询语言,用于操作关系型数据库的标准语言SQL数据定义语言用于创建、修改和删除数据库对象,例如DDL表、视图、索引等数据操作语言用于对数据进行增删改查操作,例如DML、、、等INSERT DELETEUPDATE SELECT数据控制语言用于控制用户对数据库的访问权限,例如DCL、等GRANT REVOKE数据库设计需求分析确定数据库需要存储哪些数据,以及数据之间的关系概念设计将需求分析的结果转换为概念模型,例如实体关系图-ERD逻辑设计将概念模型转换为逻辑模型,例如关系模式物理设计将逻辑模型转换为物理模型,选择具体的数据库系统,并设计数据库的存储结构数据挖掘与数据分析数据挖掘数据分析从大量数据中提取隐藏的模式、趋势和知识对数据进行处理和分析,以获取有意义的信息,支持决策人工智能导论人工智能研究使计算机器学习让计算机从数据AI机模拟人类智能的学科中学习,自动改进性能深度学习一种特殊的机器学习方法,使用多层神经网络机器学习概述监督学习无监督学习强化学习从已标记的数据中学习,例如分类和从未标记的数据中学习,例如聚类和通过与环境交互学习,例如游戏AI回归降维深度学习简介深度神经网络多层卷积神经网络擅长DNN CNN神经网络,可以提取数据中处理图像数据,例如图像分的复杂特征类和目标检测循环神经网络擅长处理序列数据,例如语音识别和机器RNN翻译自然语言处理NLP文本分类机器翻译问答系统将文本分成不同的类别,例如情感分将一种语言的文本翻译成另一种语言让计算机理解自然语言问题并给出答析、垃圾邮件过滤案图像识别图像分类将图像分成不同目标检测在图像中定位和的类别,例如识别猫和狗识别特定物体,例如识别行人和车辆图像分割将图像分割成不同的区域,例如分割出前景和背景计算机图形学基础图形表示图形处理使用数学模型表示图形,例如点、线、面对图形进行变换、渲染、动画等处理,生成最终的图像图像表示与处理位图使用像素点表示图像,例如、矢量图使用数学公式表示图像,例如JPEG PNGSVG图像压缩减小图像文件的大小,例如压缩图像增强提高图像的清晰度、对比度等JPEG建模与渲染3D建模渲染3D使用软件创建三维模型,例如、将三维模型转换为二维图像,生成最终的画面Maya Blender游戏开发简介游戏引擎提供游戏开发所需的游戏设计设计游戏的规则、玩游戏编程使用编程语言实现游工具和框架,例如、法、故事等戏的逻辑和功能UnityUnreal Engine游戏美术制作游戏中的画面、模型、动画等游戏音乐和音效制作游戏的音乐和音效软件工程基础软件开发方法1瀑布模型、敏捷开发、迭代开发等软件开发工具2代码编辑器、版本控制系统、项目管理工具等软件测试3确保软件质量,发现和修复软件中的错误软件开发生命周期设计需求分析设计软件的架构和界面21确定软件的功能和需求编码使用编程语言实现软件的功能35部署测试将软件发布到用户环境中4发现并修复软件中的错误需求分析与设计需求分析设计收集和分析用户需求,确定软件的功能和目标设计软件的架构、界面、数据库等,形成软件的设计文档软件测试与维护软件测试软件维护通过测试用例验证软件功能和性能,确保软件质量修复软件中的错误、增强功能,以适应新的需求计算机伦理与社会影响信息技术对社会的影响信息技术的应用带来了一系列社会问题,例如信息安全、隐私保护、就业变化等计算机专业道德规范引导计算机专业人员遵守道德规范,促进信息技术健康发展信息技术对社会的影响经济发展信息技术推动了经济发展,创造了新的产业和就业机会社会生活信息技术改变了人们的生活方式,例如社交、娱乐、学习等文化传播信息技术加速了文化传播,打破了地域和时间限制政治和社会治理信息技术为政府提供了新的管理工具,提高了治理效率计算机专业道德规范诚信诚实守信,不作弊,不剽责任对自己的工作负责,保证尊重尊重用户隐私,不滥用信窃软件质量,保护用户信息息技术公平公平对待用户,不歧视社会责任使用信息技术促进社会发展,改善人类生活未来发展趋势人工智能、大数据等人工智能人工智能将继续发展,应用到越来越多的领域大数据大数据分析将为企业和社会提供更多有价值的信息云计算云计算将继续普及,提供更强大的计算资源和服务物联网万物互联将成为现实,改变人们的生活和工作方式IoT总结与回顾课程内容回顾学习目标本课程涵盖了计算机科学的基础知识,包括硬件、软件、算通过本课程的学习,你将对计算机科学有一个初步的了解,法、数据结构、网络、人工智能等并掌握一些基本技能课程重点回顾计算机科学是研究计算机及其应冯诺依曼体系结构是现代计算机算法和数据结构是计算机科学的·用的学科的理论基础核心概念是一种功能强大且易于学习的编程语言计算机网络、数据库、人工智能是计算机科学的重要发Python展方向。
个人认证
优秀文档
获得点赞 0