浙江大学Linux程序设计教学大纲与建议学时分配数-金国庆刘加海

合集下载

《Linux》教学大纲

《Linux》教学大纲

《Linux》教学大纲1、课程性质与任务(1)课程性质本课程是计算机应用及相关专业的职业技术课程。

同时它还包含了很多必要的知识和技能,是一门实用性很强、面向计算机操作、计算机编程人员的重要的专业课程。

(2)课程任务随着我国信息化建设的不断发展,国家、企业和个人对计算机系统的性能、安全提出了更高的要求。

Linux是一种可以在PC上执行的类似UNIX的操作系统,功能非常强大。

可以用于开发优秀的图形化界面,并有免费的中文套件。

自由软件Linux无论从稳定性、安全性及价格因素来考虑都具有了明显的优势。

目前许多大型商业、金融企业以及政务部门开始使用该系统。

Linux及应用是计算机科学专业的一门专业课程。

本课程的任务是使学生全面地了解和掌握Linux系统的基本概念、原理及应用技术,以适应社会对Linux操作与管理人员的需求。

(3)与其它课程的分工与联系鉴于Linux是一种操作系统,建议学生学此门课前先要熟悉计算机操作系统的各种知识。

另外,因为编程的需要,所以要对C语言比较熟悉。

本课程的先行课程为:《计算机操作系统》、《C语言》2、课程目标与基本要求课程目标:本课程学习结束后,学生应该能够熟练使用Linux,会简单的shell编程。

本课程对学生在知识、素质和能力方面的基本要求如下:(1)知识要求·掌握Linux基本知识、基本工作原理。

·了解Linux一些专业术语。

(2)素质要求本课程将培养学生以下几方面职业素质:·质量意识:重视质量,意识到质量是企业生存的前提和保障。

·较强的自我知识、技术更新能力:快速跟踪软件的新技术及市场应用动态。

·团队精神:具有合作精神、协调工作能力和组织管理能力。

(3)能力与技能要求通过本课程的学习,学生应能掌握:·熟练使用Xwindow视窗环境;·能进行用户帐号与组管理;·能进行网络的应用与设置。

3、课程的教学内容与体系本课程的教学环节包括课堂讲解与演示、实验两部分。

最新浙江大学Linux程序设计教学大纲与建议学时分配数-金国庆刘加海

最新浙江大学Linux程序设计教学大纲与建议学时分配数-金国庆刘加海

浙江大学计算机学院、软件学院《Linux程序设计》教学大纲与教学日历一、课程基本情况课程代码:总学时数:32-64课程类型: 考试课+项目实训适用对象: 计算机专业本、理工科各专业及计算机软件工程师先导课程:C程序设计基础与实验后续课程:Linux数据库程序设计,Linux嵌入式程序设计。

使用教材:Linux程序设计,浙江大学出版社,金国庆、刘加海、季江民主编二、课程性质和目标1、课程的基本特性本课程是一门为计算机软件人员开设的一门计算机专业课程。

Linux作为具有良好特性的操作系统,C语言作为广泛使用的编程语言,两者的结合为用户提供了一个强大的编程环境。

2、课程的教学目标通过本课程的学习,学生能够熟悉Linux操作系统下的基本命令使用、shell程序设计、Linux环境下C程序的编辑、编译、调试及运行,掌握Linux环境下系统函数的使用,掌握文件操作、非缓冲文件的I/O操作,掌握进程控制的程序设计,掌握进程间共享内存、管道、队列及信号等通信的机理及编程方法,掌握图形、动画、文字及简单游戏程序的设计,掌握网络编程设计,掌握串行通信程序设计,初步了解驱动程序设计,使学生掌握Linux操作系统下C程序开发的方法和技巧,并具备开发大型应用程序的能力。

三、课程教学方法与手段本课程的教学主要以理论教学和上机实践教学相结合的方式进行。

四、课程教学内容、要求及重点、难点第一章终端的基本操作(一)主要教学内容第一节 Linux的常用命令第二节文件与网络常用命令第三节Linux的进程命令第四节Linux的安全常用命令(二)学习目的要求1.了解Linux下终端常用命令的操作2.熟悉网络命令的使用;3.熟悉安全命令的使用;(三)重点和难点教学重点:Linux下终端命令的操作。

教学难点:命令的使用格式。

第二章Shell程序设计(一)主要教学内容第一节 shell程序设计初步第二节 shell程序设计中表达式应用第三节循环程序设计第四节分支程序设计第五节综合实例(二)学习目的要求1.了解Linux下shell程序设计方法;2.掌握shell程序的顺序、分支、循环结构的程序设计。

《LINUX系统应用与开发》课程教学大纲

《LINUX系统应用与开发》课程教学大纲

《LINUX系统应用与开发》课程教学大纲课程编号:20821103总学时数:48总学分数:3课程性质:专业选修课适用专业:信息与计算科学专业一、课程的任务和基本要求:LINUX系统应用与开发是信息与计算科学专业软件方向的一门方向模块课程。

LINUX是网络应用领域中广泛使用的一种主流操作系统。

随着PC平台上LINUX系统的快速发展,尤其是Internet网络的全球性普及,使得LINUX操作系统的应用领域进一步得到了扩展。

本课程采用PC平台环境的LINUX操作系统,学习LINUX系统结构、工作原理和网络管理的基本理论知识,掌握LINUX操作系统的技术思想及使用方法,为网络系统管理以及系统软件工程的开发奠定基础。

二、基本内容和要求:本课程的主要教学目的:使学生系统地了解LINUX的基本概念、基本原理、系统结构和实现技术。

掌握LINUX操作系统结构组织和管理方法的基础理论知识,熟悉LINUX系统的运行环境和管理机制,具有使用和操作LINUX系统运行环境的基本能力。

达到独立安装、正确配置和自主管理LINUX操作系统的基本要求,并初步掌握LINUX环境的系统开发技术。

第1章 Linux概述了解 Linux操作系统的历史背景,熟悉近代LINUX系统的特点和技术发展趋势。

系统学习LINUX操作系统不同应用模式的工作原理、系统功能及结构、运行资源要求、系统安装以及相应的环境配置。

主要内容:了解LINU操作系统的特点、功能、结构和分类,LINUX技术体系的基本结构以及系统的谱系结构。

LINUX操作系统的技术创新及其开发模式和推广应用对现代OS发展的深远影响。

GNU、GPL、POSIX等新的软件管理理念和技术思想。

重点:熟练掌握LINUX操作系统的正确安装和基本配置。

第2章 shell及常用命令系统介绍LINUX系统下目录操作、文件处理、联机帮助、通信消息、进程管理与控制、系统资源管理和权限设置等常用的命令。

为日常的系统维护提供基本的管理手段。

Linux操作系统教学大纲

Linux操作系统教学大纲

UnUX操作系统教学大纲【课程编码】2B080217 【课程类别】专业必修【学分数】3 【适用专业】网络工程【学时数】51+34二、教学目标本课程的目的在于讲授1inux操作系统的基础和应用知识,使学生掌握1inUX 系统的安装、配置、管理维护等技能。

课程从1inUX的系统管理、编程技巧、网络管理三个部分着手系统地介绍1inUX的基础知识、安装和配置方法、系统的视窗环境一Xwindow、文本编辑工具、用户帐号与组管理、文件与目录系统、用户界面一she11、ssh、dhcp、web>ftp>数据库等各种网络应用服务的配置与管理。

二、教学内容和学时分配(一)第O1章1i1IUX系统安装与启动学时(3+2)主要内容:5.1inux的基本知识6.1inux的安装和基本配置7.XWindowsSystem8.GRUB的安装与配置教学要求:理解:1inux的基本知识掌握:1inUX的安装和基本配置、XWindowsSystemGRUB的安装与配置重点、难点1inux的安装和基本配置其它教学环节:实验:1inux实验环境Vmware工具熟悉和使用;UbUntU1inux系统安装(二)第02章1i1n1X基本命令学时(3+2)主要内容:9.1inux命令基础10文件目录类命令11系统信息类命令12系统信息类命令13.进程管理类命令14.软件包管理命令教学要求:了解:命令行中使用1inux命令的特点掌握:文件目录类命令的使用、系统信息类命令的使用、进程管理类命令的使用、软件包管理类命令的使用重点、难点:文件目录类命令的使用、系统信息类命令的使用、进程管理类命令的使用、软件包管理类命令的使用其它教学环节:实验:1inUX常用命令的使用(三)第03章Vi编辑器学时(3+2)主要内容:1Vi编辑器的使用方法2.1inux中C语言程序的编译3.1inux中C语言程序的调试运行教学要求:熟悉:Vi编辑器的基本命令掌握:Vi编辑器的启动和退出、Vi编辑器的工作模式、C∕C÷+编译器gcc的使用、1inUX下程序设计的一般方法重点、难点:Vi编辑器的启动和退出、Vi编辑器的工作模式、C/C++编译器gcc的使用、1inux下程序设计的一般方法其它教学环节:实验:Vi编辑器、GCC编译器以及GDB调试工具的使用(四)第04章用户和组管理学时(3+2)主要内容:1.用户和组群文件2.用户帐户的创建和管理3.组群的管理4.用户帐户管理器教学要求:了解:用户和组的配置文件掌握:1inUX下用户的创建管理和维护、1inUX下组的创建管理和维护熟悉:用户帐户管理器的使用方法重点、难点:1inux下用户的创建管理和维护、1inux下组的创建管理和维护其它教学环节:实验:用户和组的创建、管理和维护(五)第05章1iIn1X文件权限管理学时(3+2)主要内容:5.文件权限的概念与原理6.文件权限的类型7.文件权限的设置方法教学要求:掌握:文件权限的基本概念、文件权限的类型、文件权限的设置方法、使用各种文件系统重点、难点:文件权限的设置方法、使用各种文件系统其它教学环节:实验:文件权限的设置(六)第06章1ii1IIX文件系统管理学时(9+6)主要内容:1.文件系统的基本概念2.文件系统的类型3.创建文件系统的方法4.磁盘的简介5.磁盘分区6.文件系统的挂载7.RAID简介8.RAID设备的创建与挂载9.RAID设备的数据恢复10.1VM逻辑卷的简介I11VM逻辑卷的建立12.1VM逻辑卷的管理和检查13.打印服务简介14CUPS服务的安装、启动与停止15.CUPS打印服务管理16.常用打印命令教学要求:了解:1VM简介掌握:文件系统的基本概念、文件系统的类型、文件系统的设置方法、不同文件系统的使用方法、磁盘分区、文件系统的建立与挂载、磁盘的基本管理、RAID卷的创建、RA1D卷的挂载、RAID卷的数据恢复、1VM逻辑卷的创建、1VM逻辑卷的管理、1VM逻辑卷的删除、打印配置文件、打印服务的安装、启动与停止、打印服务的管理、常用的打印命令理解:文件系统的理论重点、难点:文件系统的类型、文件系统的设置方法、文件系统的建立与挂载、RAID卷的创建、RAID卷的挂载、RAID卷的数据恢复、1VM逻辑卷的创建、1VM逻辑卷的管理、1VM逻辑卷的删除、打印服务的安装、启动与停止、打印服务的管理其它教学环节:实验1:文件系统的创建和管理实验2:基本磁盘管理实验3:动态磁盘RA1D管理实验4:1VM逻辑卷管理实验5:打印机管理(七)第07章Sh第编程学时(3+2)主要内容:1.SheH的概念与原理2.She1I环境变量的设置3.SheH脚本的设计与运行教学要求:掌握:she11的基本命令、she11的基本概念和作用、she11环境变量概念和使用方法、SheII程序的结构和设计方法重点、难点:she11的基本命令、she11环境变量概念和使用方法、she11程序的结构和设计方法其它教学环节:实验:SheH环境变量的配置和脚本程序的设计与运行(A)第08章TCP/IP网络接口配置学时(3+2)主要内容:1.常见网络配置文件2.常见网络配置与测试工具3.1inUX启动过程和运行级别4.守护进程教学要求:了解:1inUX启动过程和运行级别、守护进程掌握:网络配置文件、网络配置命令、网络测试工具重点、难点:网络配置文件、网络配置命令其它教学环节:实验:网络接口配置和1inUX守护进程设置(九)第09章远程管理学时(3+2)主要内容:1.TeInet服务的配置与管理2.SSH服务的配置与管理3.VNC服务的配置与管理4.Webmin服务的配置与管理教学要求:熟悉:Te1net服务的安装与配置、VNe服务的安装与配置掌握:SSH服务的安装与配置、Webmin服务的安装与配置重点、难点:SSH服务的安装与配置、Webmin服务的安装与配置其它教学环节:实验:TeInet服务、SSH服务、VNC服务和Webmin服务安装、配置与管理(十)第10章网络服务配置与管理学时(18+12)主要内容;1.DHCP的作用及优点2.DHCP服务器的配置与管理3.DHCP客户端配置4.NFS服务的工作原理5.NFS服务器的配置与管理6.NFS客户端配置7.Samba的工作原理8.Samba服务的安装配置与管理9.Samba客户端访问共享资源的方法10.FTP的工作原理11.FTP服务的安装配置与管理12.FTP客户端的配置方法13.DNS的工作原理14.DNS服务的安装配置与管理15.DNS客户端的配置方法16.Web的工作原理17.Web服务的安装配置与管理18.虚拟主机与访问控制教学要求:理解:DHCP的作用及优点掌握:DHCP的工作原理、DHCP服务的安装配置与管理、DHCP客户端的配置、NFS 的工作原理、NFS服务的安装配置与管理、NFS客户端的配置方法、Samba的工作原理、Samba服务的安装配置与管理、Samba客户端访问共享资源的方法、FTP的工作原理、FTP服务的安装配置与管理、FTP客户端的配置方法、DNS的工作原理、DNS服务的安装配置与管理、DNS客户端的配置方法、Web的工作原理、WCb服务的安装配置与管理、虚拟主机与访问控制重点、难点:DHCP的工作原理、DHCP服务的安装配置与管理、NFS的工作原理、NFS服务的安装配置与管理、Samba的工作原理、Samba服务的安装配置与管理、FTP的工作原理、FTP服务的安装配置与管理、DNS的工作原理、DNS服务的安装配置与管理、Web的工作原理、Web服务的安装配置与管理、虚拟主机与访问控制其它教学环节:实验:DHCP服务的安装、配置与管理实验:NFS服务的安装、配置与管理实验:Samba服务的安装、配置与管理实验:FTP服务安装、配置与管理实验:DNS服务安装、配置与管理实验:Web服务安装、配置与管理三、推荐教材与主要参考资料推荐教材:陈明.Ubuntu1inux应用技术教程.北京:清华大学出版社,2009年.参考书:[1]1inUX系统管理与网络管理.唐华.电子工业出版社.2006年12月.[2]1inux配置与管理.张素智.河南科技大学出版社.2008年2月.[3]计算机网络配置、管理与应用一一1inux.吴怡.高等教育出版社.2004年8月.[4]1inux操作系统实训教程.陈忠文.中国电力出版社.2006年2月[5]1INUX实用教程.唐洪浪.北京希望电子出版社.2002年[6]RedHat1inux9网络服务.梁如军.机械工业出版社.2003年[7]1inux基础及应用,雷宇飞.孙勇毅等.天津科学技术出版社.2008年[8]1inux操作系统.黄志洪.钟耿扬等.冶金工业出版社.2006年[9]1inux基础及应用.谢蓉.中国铁道出版社,2008年.[10]1inux系统应用与开发教程(第二版).机械工业出版社.2011年.四、先修课要求及教学手段与方法建议1.计算机网络(熟练掌握互联网层次模型,以及各层上典型的网络协议)五、考核方式及成绩评定考核方式:考试成绩评定考试课(1)平时成绩占30%,形式有:作业、考勤、上课提问、答疑等(2)考试成绩占70%。

Linux程序设计实验教学大纲(计算机科学与技术专业).doc

Linux程序设计实验教学大纲(计算机科学与技术专业).doc

Linux程序设计实验教学大纲一、制定本大纲的依据根据2006级计算机科学与技术专业培养计划和Linux程序设计课程教学大纲制定本实验教学人纲。

、本实验课程的具体安排实验项目的设置及学时分配序号实验项目名称内容简介(50字左右)实验学时实验耍求实验类型实验类别每组人数1熟练使用Linux 操作系统掌握Linux操作系统的安装方法,并能熟练使用Linux shell命令。

2必修验证专业12编制BASHshell基本模块程序编制输入变量和导出变量脚本shell程序,掌握运用多种脚本开发各种BASH shell 程序。

2必修验证专业13编制BASHshell控制结构模块程序编制Web页索引程序,BASH shell屮各种常用控制结构的编写方法。

2必修验证专业14使用Tel语言编制程序1使用Tel语言编制文件复制,掌握Tel 语言各种常见用法。

2必修验证专业15使用Tel语言编制程序2使用Tel语言编制文件操作程序,掌握Tel语言各种常见用法。

2必修验证专业16使用Tk编制显示目录程序使用Tk编制显示目录程序,掌握Tk中各种图形对象实现方法。

2必修设计专业17使用Tk创建一个文件管理器使用Tk创建一个文件管理器,掌握Tk中各种图形对象处理方法。

2必修验证专业18创建一个GNOME 应用程序创建GNOME应用程序,学会实现和处理GNOME图形对象和利用狭槽和信号处理程序对象交互。

2必修验证专业1三、本实验课在该课程体系中的地位与作用Linux程序设计实验是Linux程序设计课程的重要组成部分,属于学科基础实验范畴。

作为与相关教学内容配合的实践性教学环节,应在Linux程序设计理论课教学过程中开设。

学生应具有Linux操作系统的基础知识。

四、学生应达到的实验能力与标准学生通过实验应能够掌握Linux各种应用程序设计方法。

五、讲授实验的基本理论与实验技术知识实验一熟练使用Linux操作系统1.实验的基本内容(1)了解Linux操作系统的安装方法。

《Linux程序设计》课程大纲

《Linux程序设计》课程大纲

Linux程序4殳计课程教学大纲一、课程的基本信息适应对象:电了•信息工程专业(包括实验班)课程代码:22E02027、22E11926 (实验班)学时分配:48 (理论32+实验16)赋予学分:3先修课程:C语言程序设计、数据结构及应用后续课程:毕业设计二、课程性质与任务《Linux程序设计》课程属于电子信息工程专业(包括实验班)本科生的专业选修课,实践性、应用性较强。

其任务是让学生掌握基于嵌入式Linux操作系统开发环境下的应用程序开发环境搭建以及程序设计与调试方法,为将来从事相关开发工作奠定基础。

三、教学目的与要求通过本课程的学习,应使学生掌握嵌入式Linux开发环境构建方法、Linux操作系统内核移植、根文件系统的建立、应用程序开发与调试方法、设备驱动程序开发基础以及基于Qt的嵌入式图形用户界面应用程序开发基础等。

四、教学内容与安排1、课时安排本课程共48个学时(课堂讲授32课时,实验16课时),按照课程内容,分成5个教学单元,各单元的课时安排如下表。

本课程以课堂讲授为主,辅以实验教学,以下是理论教学各单元的主要内容。

第一单元Linux基础【教学内容】Linux操作系统的安装;Linux文件及文件系统;Linux常见命令;Linux启动过程;Linux系统服务配置;Linux下C编程基础。

【教学重点与难点】教学重点:Linux文件及文件系统。

Linux操作命令。

教学难点:Linux启动过程详解。

【基本要求】・了解嵌入式系统基础知识;・掌握Linux操作系统安装;・了解Linux操作系统文件类型及目录结构;・掌握Linux命令行基本基本操作;•广解Linux启动过程;•掌握Linux软件安装方法,掌握环境变量设置方法;・掌握系统服务设置方法。

【培养的能力】学会安装Linux操作系统,完成系统配置。

熟练掌握嵌入式Linux环境下的常用命令行命令。

第二单元嵌入式Linux C语言程序开发工具【教学内容】Linux下C语言编程概述;vim编辑器;gcc编译器:调试器GDB; make工程管理器;autotools 工具。

Linux程序设计

Linux程序设计

Linux程序设计课程简介和教学大纲格式课程代码:21188100 课程名称:Linux程序设计学分: 2.0 周学时总48学时(短学期)面向对象:计算机科学与技术、软件工程数字媒体专业,三年级学生预修课程要求:程序设计类课程一、课程介绍(100-150字)(一)中文简介本课程主要介绍Linux操作系统的安装、使用和管理。

包括Linux的文件和文件系统结构,进程概念和管理,文件安全和共享,I/O重定向和管道,以及各种实用软件的使用,shell 程序设计,Linux系统程序设计。

(二)英文简介This course introduces the Linux operating system installation、use and administration. Include Files and File System Structure,Process concept and administration ,File Security and File Sharing, I/O Redirection and Piping ,And the use of a variety of utility software , shell Programming, Introductory Linux system Programming.二、教学目标(一) 学习目标本课程的目的是使学生熟悉Linux系统环境,通过本课程的学习能够使用、管理和维护Linux系统,掌握shell程序设计和Linux系统程序设计基本方法。

本课程为学习“操作系统原理”和“操作系统分析及实验”课打下基础。

(二)可测量结果通过本课程的学习能达以下目标:1.了解Linux操作系统,学习并领会自由软件(Free Software)的思想和文化;2.掌握Linux操作系统的安装;3.掌握linux的文件、进程概念,管道及I/O重定向;4.掌握linux系统常用命令、实用程序的使用和管理,熟悉Linux下各种工具软件的使用;5.了解Linux环境下开发环境和桌面系统;6.了解shell编程,掌握基本的shell程序设计;7.Linux环境下的API编程以及Linux的系统调用。

教学大纲-143990050-linux系统及程序设计[1]

教学大纲-143990050-linux系统及程序设计[1]

《Linux系统及程序设计》课程教学大纲课程英文名称:Linux System and Software Design课程编号:143990050课程类别:专业课课程性质:必修课学分: 4学时:64(其中:讲课学时:16 实验学时:48)适用专业:信息安全开课部门:计算机科学与技术学院一、课程教学目的和课程性质课程教学目的:本课程以信息系统安全为背景,以Linux操作系统为平台,通过Linux操作系统安全管理(包括基本操作、安全配置等)以及Linux操作系统开发方法(包括Shell程序、C程序、开放源代码项目开发等)两个方面的教学,让学生Linux系统的基本使用方法,培养从事Linux系统安全管理、软件开发等工作的基本能力;通过本课程的教学,还需要培养学生讨论、口头报告、写作、团队合作等能力。

课程性质:本课程是信息安全专业的专业必修课,所属的知识领域为信息系统安全知识领域。

二、本课程与相关课程的关系本课程前修课程为:C/C++语言程序设计、计算机操作系统原理、网络安全技术。

本课程与C/C++语言程序设计课程在程序的编译、调试方法等知识点上有交叉,但是本课程重点在于使用Linux系统命令行环境下的开发方法;与计算机操作系统原理课程在操作系统文件管理部分有交叉,但是本课程重点在于Linux 系统在文件访问控制方面的实现和应用;与网络安全技术课程在访问控制知识点上有交叉,但是本课程重在访问控制在系统安全管理方面的应用。

三、课程的主要内容及基本要求(一)理论学时部分第一单元 Linux操作系统和开放源代码文化(2学时)[知识点]开放源代码运动,自由软件基金会;Linux背景知识:Linux发展史、Linux的主要特性、发行版本介绍;开放源代码软件介绍(安装、使用、开发);[重点]开放源代码的特点,开放源代码开发的意义;本课程的意义[难点]开放源代码与封闭源代码项目的区别;[基本要求]1、识记:开放源代码;Linux发行版本;2、领会:开放源代码运动的意义;3、简单应用:浏览开放源代码项目网站;4、综合应用:比较开放源代码和封闭源代码项目的特点;第二单元 Linux操作系统的基本使用(2学时)[知识点]Linux操作系统的特征介绍;操作命令;管理命令:帐号管理、进程管理;帮助系统;文本编辑器;[重点]常用命令(特别是帮助命令);[难点]用户、用户组的概念;进程的概念;文件系统的概念;[基本要求]1、识记:常用的操作、管理、帮助、文本编辑命令;2、领会:用户、组的概念;进程的概念;文件系统的概念;3、简单应用:常用命令的操作;4、综合应用:在Linux系统中录入和保存一个文本文件;第三单元开放源代码软件的开发技术(4学时)[知识点]开发过程介绍;开发工具的使用(automake和svn);组织、开发一个开源软件项目;[重点]开源软件项目开发方法;[难点]开源软件项目开发管理;[基本要求]1、识记:automake和svn工具使用;2、领会:开源软件项目开发过程;3、简单应用:安装开源软件;4、综合应用:在开源软件项目管理网站上组织一个软件开发项目;第四单元 Linux环境的C程序开发技术(2学时)[知识点]编译器gcc的使用;调试器gdb的使用gdb调试一个本地溢出程序举例[重点]编译、调试工具的使用;[难点]调试过程的理解和应用;[基本要求]1、识记:gcc、gdb的功能和基本选项;2、领会:C程序的编译过程;3、简单应用:编译一个简单的C程序;4、综合应用:调试一个简单的C程序;第五单元 Linux环境的安全管理(2学时)[知识点]信息系统安全概念;确保信息系统安全的原则与措施;Linux操作系统自主访问控制的实现:用户、组、文件权限;Linux操作系统的安全管理的应用举例;[重点]信息系统安全管理的原则;[难点]Linux操作系统安全管理的实现方法;文件访问权限;[基本要求]1、识记:常用的Linux安全管理命令;2、领会:安全管理的原则;3、简单应用:安全管理的基本实现方法;4、综合应用:针对实际应用的安全管理设计和实现方法;第六单元 Linux系统管理的Shell程序实现(4学时)[知识点]语法;逻辑控制;环境变量;Shell程序实现Linux系统管理的例子[重点]Shell程序的编程方法;[难点]Shell程序的调试方法;[基本要求]1、识记:Shell程序的语法、逻辑控制;2、领会:Shell程序的设计方法;3、简单应用:启动和调试Shell程序;4、综合应用:根据安全管理任务设计和实现Shell程序;[学时分配](二)实验学时部分[实验教学环节作用及目的]实践教学环节是本课程的主要部分,重点在于以Linux在信息系统安全管理和程序开发方面的应用,通过Linux环境下的基本使用、安全配置和管理、Shell软件开发、C程序开发、开源项目管理等实验内容,达到培养学生在信息系统安全配置、管理、软件开发方面的实践能力的目标;同时,通过以具体项目组队开发的实验方式,达到培养学生的团队合作能力的目标。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江大学计算机学院、软件学院《Linux程序设计》教学大纲与教学日历一、课程基本情况课程代码:总学时数:32-64课程类型: 考试课+项目实训适用对象: 计算机专业本、理工科各专业及计算机软件工程师先导课程:C程序设计基础与实验后续课程:Linux数据库程序设计,Linux嵌入式程序设计。

使用教材:Linux程序设计,浙江大学出版社,金国庆、刘加海、季江民主编二、课程性质和目标1、课程的基本特性本课程是一门为计算机软件人员开设的一门计算机专业课程。

Linux作为具有良好特性的操作系统,C语言作为广泛使用的编程语言,两者的结合为用户提供了一个强大的编程环境。

2、课程的教学目标通过本课程的学习,学生能够熟悉Linux操作系统下的基本命令使用、shell程序设计、Linux环境下C程序的编辑、编译、调试及运行,掌握Linux环境下系统函数的使用,掌握文件操作、非缓冲文件的I/O操作,掌握进程控制的程序设计,掌握进程间共享内存、管道、队列及信号等通信的机理及编程方法,掌握图形、动画、文字及简单游戏程序的设计,掌握网络编程设计,掌握串行通信程序设计,初步了解驱动程序设计,使学生掌握Linux操作系统下C程序开发的方法和技巧,并具备开发大型应用程序的能力。

三、课程教学方法与手段本课程的教学主要以理论教学和上机实践教学相结合的方式进行。

四、课程教学内容、要求及重点、难点第一章终端的基本操作(一)主要教学内容第一节 Linux的常用命令第二节文件与网络常用命令第三节Linux的进程命令第四节Linux的安全常用命令(二)学习目的要求1.了解Linux下终端常用命令的操作2.熟悉网络命令的使用;3.熟悉安全命令的使用;(三)重点和难点教学重点:Linux下终端命令的操作。

教学难点:命令的使用格式。

第二章Shell程序设计(一)主要教学内容第一节 shell程序设计初步第二节 shell程序设计中表达式应用第三节循环程序设计第四节分支程序设计第五节综合实例(二)学习目的要求1.了解Linux下shell程序设计方法;2.掌握shell程序的顺序、分支、循环结构的程序设计。

(三)重点和难点教学重点:Linux下shell程序设计方法、程序的顺序、分支、循环结构的程序设计。

教学难点:表达式的表达方式及应用、分支、循环结构。

第三章Linux系统程序设计基础(一)主要教学内容1.第一节第一个Linux c程序、库依赖第二节gcc编译器2.使用gcc3.gcc编译流程4.gcc编译器的主要参数第三节 makefile工程文件1.makefile工程文件2.makefile工程文件参数使用第四节gdb调试器1.gdb概述2.使用gdb调试程序思考与实验(二)学习目的要求1.了解Linux下c程序的编辑、编译和运行2.熟悉gcc编译器的使用;3.熟悉gdb调试器的使用;(三)重点和难点教学重点:Linux下C语言编程环境、Linux下C语言程序的调试,gcc的使用和常用选项;gdb的调试方法;makefile 文件的书写规则、make命令的使用教学难点:编译器参数的使用,makefile工程文件,Linux下C语言编程环境。

第四章 Linux环境下系统函数的使用(一)主要教学内容第一节数学函数的使用第二节字符函数的使用第三节系统时间与日期函数的使用第四节环境控制函数第五节内存分配函数第六节数据结构中常用函数思考与实验(二)学习目的要求熟悉系统函数的应用,尤其是时间函数的程序设计的应用。

(三)重点和难点教学重点:系统函数的使用。

第五章文件的操作(一)主要教学内容第一节 Linux系统文件的属性1.Linux文件类型;2.Linux文件权限;3.Linux文件的其他属性.第三节不带缓存的文件I/O操作1.文件的创建;2.文件的打开和关闭;3.文件的读写操作;4.文件上锁。

第四节带缓存的流文件I/O操作1.流文件的打开与关闭;2.流文件的读写操作;3.文件的定位。

第五节特殊文件的操作1.目录文件的操作;2.链接文件的操作。

思考与实验(二)学习目的要求1.了解Linux的文件结构;2.熟悉系统调用;3.了解流和FILE对象;4.熟悉流的打开、读和写操作;5.熟悉文件和目录的维护。

(三)重点和难点教学重点:系统调用,文件的维护,流的打开,读和写等操作。

教学难点:系统调用,流的打开、读和写等操作。

第六章进程控制(一)主要教学内容第一节进程简介第二节Liunx进程控制1.进程的相关函数2.进程创建3.进程终止4.僵尸进程第三节Linux守护进程1.守护进程及其特性2.编写守护进程的要点3.守护进程的编写思考与实验(二)学习目的要求1.了解进程的状态及其状态转换;2.了解进程的调度;3.熟悉进程的一般操作;4.熟悉进程的特殊操作。

(三)重点和难点教学重点:进程的状态,进程调度,进程的一般操作和特殊操作。

教学难点:进程的一般操作和特殊操作。

第七章进程间的通信(一)主要教学内容第一节信号1.信号及其使用简介2.信号操作的相关函数第二节管道1.低级管道操作2.高级管道操作3.命名管道第三节消息队列第四节共享内存1.mmap系统调用2.系统V共享内存思考与实验(二)学习目的要求1.掌握Linux下进程通信;2.了解管道的概念;3.了解消息队列和管道;4.了解各个进程间如何实现共享内存。

(三)重点和难点教学重点:管道、消息队列、各个进程间实现共享内存。

教学难点:管道、消息队列、各个进程间实现共享内存。

第八章线程程序设计(一)主要教学内容第一节线程的基本概念及进程的结构;第二节 Linux环境下线程的相关函数的应用;第三节线程的创建及线程相关函数的应用;第四节线程同步互斥。

(二)学习目的要求1.线程的机制与线程的基本概念;2.掌握在Linux环境下利用pthread线程库编写多线程程序设计;3.线程同步与互斥程序。

(三)重点和难点教学重点:多线程程序设计中各函数的应用,线程程序设计中线程同步与互斥、条件变量、信号量的使用。

教学难点:线程创建,线程同步与互斥,条件变量,信号量。

第九章网络程序设计(一)主要教学内容第一节TCP/IP简介1.TCP/IP概述2.TCP/IP模块结构第二节网络编程1.socket简介2.socket套接口简介3.socket套接口的数据结构4.TCP编程5.UDP编程第三节网络高级编程思考与实验(二)学习目的要求1.了解 TCP/IP;2.掌握 Socket编程;3.了解 ping命令的简单实现。

(三)重点和难点教学重点:Socket编程。

教学难点:Socket编程。

第十章Linux的图形编程(一)主要教学内容第一节 Linux的图形编程简介第二节安装和使用SDL图形开发库第三节初始化图形模式第四节基本绘图函数的应用第五节图片与文字显示第六节动画第七节三维绘图第八节游戏程序入门思考与实验(二)学习目的要求1.了解Linux图形编程的基本特点;2.熟悉图形编程的基本操作。

(三)重点和难点教学重点:图形编程的基本操作和实例。

教学难点:图形编程的基本操作和实例。

第十一章设备驱动程序设计基础(一)主要教学内容第一节在Linux环境下设备文件的查看,主设备号与次设备号。

第二节设备驱动程序设计流程,设备的分类及相关的数据结构。

第三节简单字符设备驱动程序的设计。

第四节GPIO驱动程序的设计。

(二)学习目的要求1.学会如何查看设备类型、主设备号与次设备号,理解主设备号与次设备号的含义;2.设备的分类及不同设备所对应的数据结构;3.掌握设备驱动程序的设计方法、设备驱动程序的编译、模块加载与卸载的方法;4.掌握简单字符设备驱动、GPIO驱动程序设计与测试方法。

(三)重点和难点教学重点:设备驱动程序设计流程,设备的分类及相关的数据结构及字符设备驱动程序的设计。

教学难点:设备驱动程序数据结构各字段的含义及字符设备驱动程序的设计与调试。

第十二章串行通信(一)主要教学内容第一节串行通信概述第二节串行通信程序的设计1.串行通信程序设计流程2.打开通讯端口3.设置串口属性4.串口通信程序设计主要语句说明思考与实验(二)学习目的要求1.了解通讯端口;2.了解串口属性;3.熟悉串行通信程序设计流程。

(三)重点和难点教学重点:串行通信程序设计流程,通讯端口,串口属性。

教学难点:串行通信程序设计流程。

二、教学日历与建议学时分配制订日期: 2015年6 月。

相关文档
最新文档