还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
东南大学计算机学院教学课件方效林教授东南大学计算机科学与工程学院课程简介计算机科学基础Python编程语言项目实战本课程旨在教授计算机科学基础知识,培养重点讲解Python语言的基本语法、数据结课程设计了一系列项目实战案例,帮助学生学生编程能力和解决问题的能力构、算法和面向对象编程等内容将理论知识应用到实际问题中学习目标编程能力提升掌握基础语法,理解算法和数据结构,独立完成小型项目问题解决能力培养逻辑思维,提升代码调试和错误处理能力,有效解决编程问题团队合作能力学习并应用版本控制工具,与团队成员协作开发项目教学内容概要编程基础面向对象编程
11.
22.基础语法、数据类型、控制流类、对象、继承、多态等概念、函数等及应用数据结构与算法项目实战
33.
44.线性表、树、图等数据结构和综合运用所学知识,完成实际常用算法项目开发编程基础知识变量与常量数据类型变量用于存储数据,可修改常量用于存储固定值,不可修改基本数据类型包括整数、浮点数、字符串、布尔值等运算符表达式运算符包括算术运算符、比较运算符、逻辑运算符等表达式由运算符和操作数组成,用于计算结果数据类型与运算符基本数据类型运算符Python提供丰富的基本数据类型,包括整数、浮点数、字符串、运算符用于执行各种操作,如算术运算、比较运算、逻辑运算等布尔值等了解基本数据类型的特性,可以帮助您有效地进行数据操作掌握各种运算符的使用,可以方便地构建复杂的表达式和逻辑判断分支结构分支结构使程序能够根据条件执行不同的代码块,为程序带来灵活性和可控性语句if1最基本的判断语句,执行单个条件判断语句if-else2根据条件选择执行两个代码块之一语句if-elif-else3支持多条件判断,选择执行多个代码块之一分支结构是程序逻辑的核心,掌握其应用是编写复杂程序的关键循环结构循环while1条件为真时,重复执行代码块循环for2遍历可迭代对象中的元素嵌套循环3循环结构可以相互嵌套,实现复杂逻辑循环控制语句4break、continue用于控制循环的执行循环结构是程序设计中常用的控制流结构,可以重复执行一段代码,直到满足特定条件为止数组与字符串Python数组字符串字符串操作Python中的数组(列表)是可变的,可以字符串是不可变的,可以表示文本信息,并Python提供丰富的字符串操作函数,例如存储不同类型的数据,并支持多种操作,如支持各种操作,如拼接、切片、查找、替换`len`获取长度,`split`分割字符串,索引、切片、添加、删除等等`join`拼接字符串等函数与模块函数模块函数是一段可重复使用的代码块,执行特定任模块是包含函数、类和变量的代码文件,用于务组织代码代码重用代码结构函数和模块提高代码可读性和可维护性,方便函数和模块划分程序结构,使代码更易于理解代码重用和调试面向对象编程多态封装同一个方法在不同的类中可以有不同的实现,根据对象类型动态调用方法,提高代将数据和操作数据的方法封装在一起,隐码灵活性和扩展性藏内部细节,提高代码可维护性继承创建新的类,继承已有类的属性和方法,实现代码复用,减少代码冗余文件和异常处理文件操作异常处理
11.
22.学习如何打开、读取、写入和了解常见的异常类型,使用关闭文件,包括文本文件和二try-except语句来处理异常,进制文件并使用finally语句来确保资源释放文件系统操作文件序列化和反序列
33.
44.化学习操作文件系统,包括创建、删除、重命名、移动文件和学习将数据存储到文件中,以目录,以及获取文件属性信息及从文件中读取数据,并理解序列化和反序列化机制网络编程基础网络编程基础网络编程实践介绍网络编程的常用概念,如网使用Python中的socket库进行络协议、套接字、网络通信模型网络编程实践,包括创建等讲解TCP/IP协议族,包括TCP/UDP服务器和客户端,实现TCP、UDP、IP等协议简单的数据传输和交互网络安全介绍网络安全相关知识,包括常见的网络攻击和防御手段,以及Python中的安全库使用编程GUI图形界面组件与布局
11.
22.GUI编程涉及图形用户界面开发,为用户提供直观且交互式GUI编程中使用各种组件,如按钮、文本框和窗口,并使用的操作体验布局管理器来安排组件的位置事件处理跨平台支持
33.
44.GUI编程的核心是事件处理机制,用于响应用户的交互行为GUI编程的目标是开发出能够在不同操作系统上运行的应用,如鼠标点击或键盘输入程序,以扩展应用程序的覆盖范围标准库Python基础库模块化设计丰富功能文档齐全Python标准库提供各种功能,标准库的模块化设计方便开发涵盖广泛应用场景,如Web开详细的文档和教程方便开发者包括输入输出、文件处理、网者快速使用,提高开发效率发、数据科学、机器学习等学习和使用络编程、数据结构、算法等常用第三方库网络开发数据分析•Requests•Pandas•BeautifulSoup•NumPy•Scrapy•Scikit-learn图形界面机器学习•Tkinter•TensorFlow•PyQt•PyTorch•Kivy•Keras算法基础算法定义算法特征算法是解决特定问题的一系列步骤,包括算法具有明确性、有限性、可行性、输入明确的指令,可以被计算机执行算法描和输出五个特征这些特征保证算法能够述了解决问题的方法,通过一系列操作步有效地解决问题并得到预期结果骤来实现排序算法插入排序冒泡排序插入排序是一种简单直观的排序算法它将冒泡排序是一种比较简单的排序算法,通过数组分成已排序和未排序两个部分,逐步将不断比较相邻元素,将较大的元素交换到末未排序部分的元素插入到已排序部分的正确尾,从而实现排序位置选择排序归并排序选择排序算法是一种比较简单的排序算法,归并排序是一种基于分治思想的排序算法,它将数组分成已排序和未排序两个部分,每它将数组不断分成两半,然后分别对两半进次从未排序部分中找到最小元素,将其放到行排序,最后将两个有序的子数组合并成一已排序部分的末尾个有序的数组递归算法定义特点应用递归算法通过调用自身来解决问题,递归算法通常具有简洁的代码结构,递归算法适用于解决树形结构、分治将复杂问题分解为更小的相同问题,但需要谨慎处理递归深度和边界条件问题、排序和搜索等问题,例如快速直到问题简单到可以直接解决,避免无限递归排序、二分查找等经典算法搜索算法线性搜索二分搜索哈希搜索广度优先搜索逐个检查每个元素,直到找到前提是数据已排序,每次比较利用哈希函数将键映射到一个从起点开始,逐层扩展,直到目标元素或遍历完所有元素中间元素,根据大小缩小搜索唯一的索引,直接访问对应元找到目标节点范围素适用于查找最短路径,时间复简单易懂,但效率较低,尤其效率较高,时间复杂度为效率极高,平均时间复杂度为杂度为OV+E,V为节点数是在大量数据的情况下Olog n,适合处理有序数据O1,但需要额外的空间存储,E为边数哈希表数据结构定义分类数据结构是计算机科学中组织和主要分为线性结构和非线性结构存储数据的结构,例如数组、链表、栈、队列、树、图等应用数据结构广泛应用于各种软件系统,例如数据库、操作系统、算法设计等线性表线性表概述线性表操作线性表存储线性表是一种最基本的数据结构,它是一组常见的线性表操作包括插入、删除、查找、线性表可以采用顺序存储结构或链式存储结元素的有序集合数据元素之间存在唯一的排序等这些操作的效率取决于线性表的存构顺序存储结构使用连续的内存空间存储线性关系,可以根据元素在集合中的位置进储结构和实现方法元素,而链式存储结构使用链表来存储元素行访问,每个节点包含数据域和指针域栈和队列栈队列应用后进先出LIFO数据结构,类似于堆叠的先进先出FIFO数据结构,类似于排队等栈和队列在计算机科学中广泛应用,例如函盘子候数调用、表达式求值、浏览器历史记录等树和图树形结构图结构遍历算法图算法树是一种非线性数据结构,节图是一种更通用的非线性数据树的遍历方法包括先序遍历、图算法包括最短路径算法、最点之间存在层次关系结构,节点之间可以有多种关中序遍历和后序遍历小生成树算法等系散列表散列表结构冲突解决应用场景散列表是一种常用的数据结构,通过散列函当多个键映射到同一个索引时,需要使用冲散列表在数据库索引、缓存、密码存储等方数将键映射到数组索引,实现快速查找突解决策略,例如开放寻址法或链式地址法面有着广泛应用,提高数据访问效率算法分析和复杂度时间复杂度空间复杂度
11.
22.衡量算法执行时间随输入规模衡量算法执行所需的内存空间增长的变化趋势随输入规模的变化趋势渐进符号复杂度分析
33.
44.Big-O表示法、Omega表示法帮助选择最优算法,了解算法和Theta表示法描述了算法复性能瓶颈,优化代码杂度的上界、下界和准确界算法设计技巧模块化递归将复杂问题分解成更小的子问题利用递归函数将问题分解成更小,以便于理解和解决的相同类型的问题贪婪算法动态规划在每一步选择局部最优解,希望将大问题分解成子问题,并记录最终得到全局最优解子问题的解,避免重复计算项目实战演练实践应用1将课堂所学知识应用到实际项目中,解决实际问题增强学生对理论知识的理解和应用能力团队协作2学生组队进行项目开发,培养团队合作精神学习如何有效沟通,分工合作,共同完成目标问题解决3在项目开发过程中遇到各种问题,锻炼学生分析问题、解决问题的能力学习如何查阅资料、寻求帮助,并最终找到解决方案课程总结与展望总结回顾未来展望本课程全面介绍了Python编程语言的基础知识,涵盖了数据类型未来,学生可以继续深入学习Python高级特性,如网络编程、、运算符、控制流、函数、面向对象编程等核心概念GUI编程、数据库操作等,并探索人工智能、数据科学等领域通过实战演练,学生们掌握了Python编程的基本技能,并能独立完成简单的编程任务Python是一种用途广泛的语言,学习Python将为学生未来的职业发展奠定坚实的基础学习建议积极参与课后复习12课堂上积极参与互动,提出问题,与老认真阅读课本,做习题,巩固课堂学习师和同学交流,加深对知识的理解内容,掌握关键知识点和技能实践练习拓展学习34多动手实践,编写代码,解决实际问题阅读相关书籍、博客和教程,关注最新,提高编程能力和解决问题的能力技术,不断提升自身水平。
个人认证
优秀文档
获得点赞 0