《人工智能与Python程序设计》教学大纲_第1页
《人工智能与Python程序设计》教学大纲_第2页
《人工智能与Python程序设计》教学大纲_第3页
《人工智能与Python程序设计》教学大纲_第4页
《人工智能与Python程序设计》教学大纲_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能与Python程序设计教学大纲课程简介“人工智能与Python程序设计”是一门本科生人工智能入门课程,同时也是统领后续人工智能教学和知识普及的引领课程,把学生引进人工智能理论与实践的大门。它的目标有两个:一个是扩展学生在人工智能方面的视野培养兴趣,对人工智能的方法论和应用领域有一个全面的认识,另一个是为学习后续课程打下坚实的基础,培养人工智能理论研究和实践应用人才。教学内容分为四大部分,分别是人工智能概论、Python编程语言基础、人工智能模型与深度学习平台初步、大规模人工智能实践。教学目标在知识水平方面,培养学生掌握用python语言设计人工智能算法程序解决实际问题的能力;在综合能力方面,通过创设适当的情境问题加强教学知识的形成和学生学习过程的体验,注重学生的动手、操作能力的训练。在实践作业中让学生实现人脸识别和机器自动写诗等实际应用,体会有用并且有趣的人工智能技术。在大项目与大作业的实践过程中,强调同学间的相互交流与合作,培养学生的团队合作能力。课程训练环节设计1.案例驱动和教师演示:课堂采用PPT讲授和现场运行程序的方式进行教学,在上机课安排学生进行上机操作,以增强学生的实践操作能力;2.卷积的实现与效果观察:了解卷积操作和定义和效果,用Python实现二维卷积操作并观察其在图像变换上的效果。3.文本词频统计:统计给定文本文件的词频与并进行可视化展示,使用Python完成多个文本文件的读取、分词、词频统计、画图展示等自动文本处理任务。4.实现逻辑斯蒂回归:实现并测试逻辑斯蒂回归(Logisticregression)算法,使用Python语言实现逻辑斯蒂回归模型和基于梯度下降的模型训练算法。5.基于PyTorch的逻辑斯蒂回归模型:使用PyTorch库,实现LogisticRegression算法,并在真实数据集上验证算法的性能。6.MINIST-fashion图像分类:使用PyTorch库搭建一个基于卷积神经网络的深度图像分类模型,完成包括数据读取、定义CNN模型、定义损失函数、模型的训练和测试等使用深度学习技术解决实际问题的完整流程。教学进度安排教学周:第1周第1次

教学方式:理论教学

课堂学时:2学时教学内容:人工智能和Python语言概述【课堂教学内容与要求】了解本课程全貌、简介人工智能概念与发展历史、介绍Python语言及其编程环境,具体包括:1.人工智能导语2.Python语言在人工智能应用开发中的重要作用3.Python语言与C语言的区别(编译型语言与解释型语言的区别)4.Python语言概述5.开发环境配置6.Anaconda与PythonIDE【课外学习内容与要求】1.思考:举出3个你认为具有智能的产品,再举出3个认为不具备智能的产品,说出你的理由。2.在自己的机器上安装Anaconda和PyCharm,预备后续学习环境;教学周:第1周第2次

教学方式:理论教学

课堂学时:2学时教学内容:Python基本语法元素【课堂教学内容与要求】通过实例掌握Python语言的基本语法(缩进、变量、命名等),掌握Python语言绘制图形的一般方法,了解Python标注库的导入和使用,具体包括:1.Python程序实例解析2.基本语法元素分析(格式框架、注释、命名与保留字、字符串、赋值语句、分支语句、input、print、eval函数)3.演示Python调试环境PyCharm的安装和使用方法【课外学习内容与要求】思考:比较分析Python语言和程序设计I中的C语言的优劣,你更喜欢哪种语言的风格教学周:第2周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Python基本数据类型【课堂教学内容与要求】掌握三种数字类型的概念和使用,了解它们在计算机中的表示方法并运用Python标准数学库进行数值计算;掌握字符串类型的概念、使用方法、格式化操作方法和应用等,具体包括:1.基本数据类型(整数、浮点数、复数)2.数值运算操作与运算函数3.数据类型转换4.math库5.字符串类型及操作(字符串操作符、处理函数)【课外学习内容与要求】1.布置作业:用Python字符串操作功能实现文本进度条2.思考:与C语言的int、float、double、char*等具有显示定义的数据类型比较,Python的基本数据类型在定义和操作上有何特点?方便之处在哪里?可能产生的问题有哪些?教学周:第2周第2次

教学方式:理论教学

课堂学时:2学时教学内容:程序的控制结构和异常处理【课堂教学内容与要求】介绍:了解程序基本结构和分支结构,运用Python中的if、else、elif等语句实现分支;掌握程序循环结构,运用Python中的for和while语句实现循环结构;了解程序异常处理及方法。具体包括:1.程序的分支结构2.程序的循环结构3.程序异常处理方法【课外学习内容与要求】1.思考:调研历史上求圆周率的几大类2.布置大作业:二维卷积的实现与应用教学周:第3周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Python函数的定义与应用【课堂教学内容与要求】理解函数的定义,掌握函数的基本使用方法;理解函数的调用过程,掌握lambda函数;理解并掌握函数的参数传递,理解可选参数、可变数量参数、名称传递、返回值以及函数对变量的作用;具体内容包括:1.函数的基本使用2.函数的参数传递3.代码复用与模块化设计4.函数递归【课外学习内容与要求】1.查阅资料,了解python和C的函数定义、使用、参数传递等方面的异同;2.利用datatime库,编程实现七段数码管绘制;3.利用递归思想,编程实现科赫曲线绘制;4.课后练习5.1-5.7,利用递归算法解决汉诺塔难题。教学周:第3周第2次

教学方式:理论教学

课堂学时:2学时教学内容:Python组合数据类型(一)【课堂教学内容与要求】了解三类基本组合数据类型(序列、集合、映射);理解列表概念并掌握Python中列表的使用,运用列表管理采集的信息;掌握jieba库,能够处理一组数据,并处理中文文本;能够对中文文本进行分词,运用列表进行词频统计。1.组合数据类型概述2.列表类型与操作3.jieba库的使用与词频统计【课外学习内容与要求】1.查阅网络资料了解Python中列表和C中数组的异同;2.查阅资料,探索jieba库的更多功能;3.程序练习题6.1-6.6.4.布置作业:读多个文本文件,统计字符频率教学周:第3周第3次

教学方式:实验教学

实验课时:8学时实验名称:卷积的实现与效果实验分组:1人/组【实验教学安排】实验目标:了解卷积操作和定义和效果,用Python实现二维卷积操作并观察其在图像变换上的效果。实验内容:1.给定一幅图片的矩阵表达的卷积核和卷积操作的数学定义,用Python的math库实现卷积操作,对比转换之前和之后图片的异同;2.变换不同的卷积核,对比不同的卷积核对转换后图片的影响。

教学周:第4周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Python组合数据类型(二)【课堂教学内容与要求】掌握集合、字典概念,并掌握Python中集合和字典的使用;了解Listslice用法;了解列表推导式(ListComprehension)用法;了解collections中DefaultDict、Counter等数据类型的用法。1.集合类型的概念与操作2.字典类型的概念与操作3.组合数据类型高级操作【课外学习内容与要求】1.查阅网络资料了解访问集合和字典中的时间复杂度;2.查阅资料了解collections和itertools模块中的类型和函数的用法;3.leetcode等集合、字典相关编程题练习。教学周:第4周第2次

教学方式:理论教学

课堂学时:2学时教学内容:PythonIO编程和数据格式化【课堂教学内容与要求】了解Python语言对文件、系统目录的支持,熟悉并会使用Python对二进制文件和非二进制文件的读、写、追写等操作。1.文件(含二进制)打开、关闭、读写2.PythonCSV标准库的介绍3.CSV文件读写:一,二维数据格式化与处理4.表单数据的索引与打印【课外学习内容与要求】1.查阅网络资料了解文件的范畴,可读可写等权限属性;2.查阅资料了解try-except语法在文件读写中的作用;3.查阅资料了解PythonCSV的更多高阶使用方法。教学周:第5周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Python面向对象编程(一)【课堂教学内容与要求】了解面向对象编程概念,知道面向过程与面向对象编程的差异,熟悉Python在面向对象编程中的操作,如类,实例,访问限制等。1.面向对象编程介绍2.Python面向对象编程中类和实例的概念3.数据封装4.访问限制【课外学习内容与要求】1.阅读推荐材料中关于python面向对象编程的相关资料;2.思考C++语言同Python语言在面向对象过程中的共性和差异性。教学周:第5周第2次

教学方式:理论教学

课堂学时:2学时教学内容:Python面向对象编程(二)【课堂教学内容与要求】了解面向对象编程的高阶概念,熟悉Python在面向对象编程中的继承和多态;对象信息获取等。1.面向对象编程中继承和多态2.获取对象信息3.实例属性和类属性4.学生信息类示例【课外学习内容与要求】1.阅读推荐材料中关于python面向对象编程的相关资料;2.深入思考C++语言同Python语言在面向对象过程中的共性和差异性。教学周:第5周第3次

教学方式:实验教学

实验课时:8学时实验名称:文本文件的词频统计实验分组:1人/组【实验教学安排】实验目标:统计给定文本文件的词频与展示。实验内容:1.读取多个文本文件,对文件进行分词等操作;2.基于字典等数据类型计算词频;3.统计词频与打印输出。4.画图展示教学周:第6周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Python面向对象项目分析【课堂教学内容与要求】以一个Python程序为例,具体分析如何使用面对对象程序设计方法对程序代码进行组织和管理;通过具体案例讲解面向对象程序设计思想以及基础语法,要求掌握向对象程序设计思想和面向过程程序设计思想的主要区别与不同。【课外学习内容与要求】1.查阅网上资料,进一步阅读更多的面向对象程序案例2.练习使用面向对象思想重构之前作业的代码教学周:第6周第2次

教学方式:理论教学

课堂学时:2学时教学内容:Python进阶【课堂教学内容与要求】以不可变数据类型和可变数据类型的区别为例,讲解Python中对象与引用的核心实现与使用机制【课外学习内容与要求】查阅网络资料预习和复习Python中的对象与应用教学周:第7周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Python数值计算与一元线性回归【课堂教学内容与要求】掌握Python三种第三方库的安装方法;了解科学计算的基本概念;掌握numpy库,运用numpy库进行矩阵分析与数值运算;理解回归问题流程,掌握线性回归、梯度下降。1.第三方库安装2.Numpy库使用3.图像的矩阵表示和处理4.分类问题与线性回归(linearregression)【课外学习内容与要求】1.进一步熟练运用numpy,探索numpy库的更多功能;2.将疫情预测问题建模为回归问题;3.布置作业:用numpy编程实现预测。教学周:第7周第2次

教学方式:理论教学

课堂学时:2学时教学内容:多元线性回归【课堂教学内容与要求】理解多元线性回归问题流程,掌握线性回归、梯度下降。学习逻辑回归1.多元线性回归2.Matplotlib的安装和使用3.使用Matplotlib库进行图表绘制4.逻辑回归【课外学习内容与要求】查阅资料理解逻辑回归(logisticsregression),并用numpy实现逻辑回归教学周:第7周第3次

教学方式:实验教学

实验课时:8学时实验名称:实现LogisticRegression实验分组:1人/组【实验教学安排】实验目标:实现并测试Logisticregression算法。实验内容:1.理解LogisticRegression的公式2.依据公式中的梯度计算方法实现代码3.测试代码运行的效果,观察loss值下降的情况教学周:第8周第1次

教学方式:理论教学

课堂学时:2学时教学内容:期中复习教学周:第8周第2次

教学方式:理论教学

课堂学时:2学时教学内容:期中考试教学周:第9周第1次

教学方式:理论教学

课堂学时:2学时教学内容:期中习题讲解教学周:第9周第2次

教学方式:理论教学

课堂学时:2学时教学内容:人工智能概述【课堂教学内容与要求】介绍人工智能的基本概念,螺旋式的发展历史(包括诞生、三次低谷、热潮等)、不同的流派(如:符号主义、连接主义、行为主义)、人工智能涉及到的主要应用领域以及当前主流的人工智能方法(如:监督学习、深度学习、强化学习等)1.人工智能的基本概念2.人工智能的发展历史3.人工智能的应用领域【课外学习内容与要求】1.阅读相关材料,进一步了解人工智能的起源和发展历程;2.思考:人工智能不同流派的思想有何异同?3.思考:人工智能在未来会不会再次遇到低谷?

教学周:第10周第1次

教学方式:理论教学

课堂学时:2学时教学内容:机器学习基本流程介绍【课堂教学内容与要求】掌握机器学习中监督学习、无监督学习的概念;掌握数据集划分方法,理解样本、训练数据、验证集、测试数据的概念和作用;理解机器学习模型的训练过程,了解各种评价指标,掌握机器学习模型的测试和评价方法。1.机器学习概述:监督学习/无监督学习2.数据集划分3.训练过程4.测试和结果评估【课外学习内容与要求】1.查阅资料,了解半监督学习、弱监督学、自监督学习的概念;2.查阅资料,了解有哪些常用的机器学习方法;3.针对图像分类、文本分类等常见监督学习问题,描述其样本空间、训练集和测试集的构成以及评价指标的计算方法。教学周:第10周第2次

教学方式:理论教学

课堂学时:2学时教学内容:Pytorch简介和安装【课堂教学内容与要求】理解深度学习的基本概念;了解有影响力的深度学习框架,了解Pytorch优势,了解GPU的概念和作用;掌握Pytorch安装。1.深度学习简介2.深度学习框架和Pytorch优势3.Pytorch安装【课外学习内容与要求】1.查阅资料,了解Tensorflow,keras等其它深度学习框架;2.查阅资料,了解常见的GPU型号,了解cuda安装;3.了解torchvision等配套包的安装。教学周:第10周第3次

教学方式:实验教学

实验课时:8学时(两周完成)实验名称:LogisticRegression的PyTorch实现实验分组:1人/组【实验教学安排】实验目标:使用PyTorch库,实现LogisticRegression算法,并在真实数据集上验证算法的性能实验内容:1.基于PyTorch实现LogisticRegression算法;2.处理UCI收入预测数据集,思考如何处理离散特征;3.将数据集划分为训练、验证、测试集;4.在训练集上训练LogisticRegression模型,在验证集上进行调试,最后报告在测试集上的准确率、召回率、F1值。教学周:第11周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Pytorch基础(一)【课堂教学内容与要求】了解Pytorch的基本功能和动态图机制;掌握Tensor的概念和基本操作1.Pytorch基本功能2.Tensor概念和基本操作【课外学习内容与要求】1.查阅资料,深入了解Pytorch的运作机制,练习Tensor的各种操作和运算;2.查阅资料,探索Pytorch的其它功能;教学周:第11周第2次

教学方式:理论教学

课堂学时:2学时教学内容:Pytorch基础(二)【课堂教学内容与要求】了解Pytorch自动求导机制,掌握Pytorch求导和训练方法;掌握nn工具箱,初步了解常用的层和非线性激活函数。1.自动求导机制2.nn工具箱【课外学习内容与要求】布置作业:用Pytorch实现LogisticRegression。教学周:第12周第1次

教学方式:理论教学

课堂学时:2学时教学内容:Pytorch神经网络【课堂教学内容与要求】了解Pytorch对神经网络的搭建方法和流程,掌握使用Pytorch对神经网络的训练方法和策略1.神经网络概述2.使用Pytorch搭建神经网络3.使用Pytorch训练神经网络【课外学习内容与要求】查阅资料,探索Pytorch的其它功能,学习搭建自己设计的神经网络模型教学周:第12周第2次

教学方式:理论教学

课堂学时:2学时教学内容:图像数据讲解,卷积操作讲解【课堂教学内容与要求】了解图像数据的数字化编码、存储等概念,介绍PIL图像库的使用,介绍卷积神经网络,并讲解离散卷积的基本含义和操作方法。1.数字图像介绍(灰度图像,RGB图像等)2.学习PythonPIL库3.离散卷积的基本概念,计算方法和输入输出等4.Pytorch中卷积层的使用及相关参数介绍【课外学习内容与要求】1.拓展了解经典的图像处理算法,如sobel,sift,hog等;2.阅读《深度学习框架PyTorch:入门与实践》中卷积章节;3.拓展了解时域连续卷积同离散卷积的区别。教学周:第13周第1次

教学方式:理论教学

课堂学时:2学时教学内容:卷积网络介绍【课堂教学内容与要求】介绍当前图像卷积网络的发展趋势,主要介绍VGG网络的网络架构和其变种,并讲解卷积网络中的基本构成,简略概述不同网络间的差异1.从ImageNetchallenge讲起,介绍图像识别的发展脉络2.介绍卷积网络的基本构成,如卷积,池化,批标准化,全连接等3.介绍VGG网络4.对比不同卷积神经网络的发展差异【课外学习内容与要求】1.阅读文献《VeryDeepConvolutionalNetworksforLarge-ScaleImageRecognition》;2.通过Imagenet官网了解图像识别挑战赛;3.阅读《DeepLearning》卷积神经网络章节。教学周:第13周第2次

教学方式:理论教学

课堂学时:2学时教学内容:卷积网络配置与训练(一)【课堂教学内容与要求】以图像识别为实例,讲解Pytorch框架对卷积神经网络进行配置、优化和训练流程图像识别流程介绍(模型搭建,数据准备)1.Pytorch相关API的介绍和使用2.简述简单的卷积网络和VGG网络的pytorch代码3.基于Pytorch的数据准备,模型搭建【课外学习内容与要求】1.参考了解:\h/tutorials/beginner/deep_learning_60min_blitz.html;2.阅读《DeepLearningwithPyTorch》中卷积网络章节;3.自己尝试利用pytorch搭建自己的卷积网络。教学周:第14周第1次

教学方式:理论教学

课堂学时:2学时教学内容:卷积网络配置与训练(二)【课堂教学内容与要求】以图像识别为实例,讲解Pytorch框架对卷积神经网络进行配置、优化和训练流程图像识别流程介绍(目标函数,参数优化)1.数据加载与DataLoader2.VGG网络的搭建3.模型训练与测试【课外学习内容与要求】自己尝试利用pytorch搭建自己的卷积网络,并进行训练。教学周:第14周第2次

教学方式:理论教学

课堂学时:2学时教学内容:自然图像分类Cifar10【课堂教学内容与要求】以Cifar-10为例,讲解图像分类项目的pytorch代码。1.卷积网络的搭建,分类损失的与优化方法的声明2.卷积网络优化3.卷积模型测试【课外学习内容与要求】1.根据上次课程搭建的简单模型网络进行手写数字分类实验;2.复习《DeepLearningwithPyTorch》中卷积网络章节;3.在github上阅读pytorch官方源码在卷积网络图像分类上的实现。教学周:第14周第3次

教学方式:实验教学实验课时:12学时(三周完成)实验名称:MINIST-fashion图像分类(大作业)实验分组:1人/组【实验教学安排】实验目标:基于CNN网络,实现一个深度图像分类模型。实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论