《Linux环境下C程序设计-教学大纲.docx》由会员分享,可在线阅读,更多相关《Linux环境下C程序设计-教学大纲.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Linux环境下C程序设计课程教学大纲一、课程的性质、目的和任务Linux操作系统是计算机系统配置的基本软件之一。它在整个计算机系统软件中占有中 心地位。其作用是对计算机系统进行统一的调度和管理,提供各种强有力的系统服务,为用 户创造既灵活又方便的使用环境。本课程是软件技术专业的一门专业主干课和必修课。通过 本课程的学习,使学生掌握操作系统的基本概念、设计原理及实施技术,具有分析操作系统和 设计、实现、开发实际Linux系统软件的能力。Linux操作系统是软件技术专业的的必修主干课。课程的目的是让学生初步掌握Linux 系统软件开发流程和应用程序设计过程。培养学生掌握基于Linux的软件开发的
2、能力,进而 进入企业后进行Linux应用程序设计和开发。为将来适应Linux产品的研究、开发及在实际 工程应用中合理选择和善于应用各种Linux产品和技术,打下良好的基础。二、课程教学的基本要求通过本课程的学习,使学生掌握如下要求:掌握安装、启动及使用Linux系统平台的方法;具备基于Linux操作系统架设、维护与管理DHCP、DNS、WEB等网络服务器的能力;具备配置使用远程管理的职业能力;具备排除Linux系统及网络故障的职业能力;培养学生自主学习和创新能力。教学基本要求包括:Linux安装、目录结构和文件、常用操作命令、shell编程等;Linux编程基础,VIM. GCC、GDB和Ma
3、ke工具的使用;基于Linux的软件开发流程、系统引导代码、内核结构和移植和设备驱动等;GUI、QT编程基础、信号和槽机制、图形界面设计等; 掌握Linux系统基础的能力,熟悉基本的Linux命令; 掌握Linux编程基础的能力; 掌握基于Linux的软件开发的能力; 掌握Linux应用程序设计的能力; 掌握数据库设计和应用的能力:掌握Linux网络编程的能力。三、课程的教学内容、重点和难点第1章Linux操作系统基础教学目标与要求:熟悉Linux操作系统的历史、内核和功能掌握Linux文件及目录操作命令掌握Linux用户账号的添加、删除与修改的方法掌握Linux用户密码的管理方法掌握Linu
4、x用户组的管理方法掌握Linux文件权限的管理方法教学内容:1.1 GNU简介1.2 Linux 简介1.3 Shell命令概述1.4 文件与目录操作1.5 系统运行常用命令1.6 查找操作命令1.7 其他常用命令1.8 Linux应用软件包管理1.9 工程实训一:linux基本命令重难点:重点:文件及目录操作、用户账号管理、用户密码管理难点:用户组的管理、文件权限的管理第2章常用的C语言库函数教学目标与要求:熟悉Linux环境下C语言常用的库函数。掌握常用C语言中库函数的调用方法。教学内容:2.1 字符和字符串操作函数2.2 内存管理函数2.3 日期与时间函数2.4 随机函数2.5 工程实训
5、二:常用的C语言库函数重难点:重点:常用的库函数难点:库函数的调用方法第3章编程环境教学目标与要求:掌握VIM编辑程序的方法掌握GCC编译程序的方法掌握GDB调试程序的方法掌握make工程管理的方法教学内容:3.1 概述3.2 VIM编辑器3.3 GCC编译器3.4 GDB程序调试器3.5 Make工程管理器3.6 工程实训三:Makefile的编写重难点:重点:VIM、GCC难点:GDB Make第4章文件操作教学目标与要求:掌握文件的创立、翻开与关闭方法掌握文件的读写、定位方法掌握文件属性的修改方法掌握目录文件的操作方法教学内容:4.1 文件系统4.2 基于文件描述符的I/O操作4.3 工
6、程实训四:日志管理功能重难点:重点:文件的创立、翻开与关闭方法 难点:文件的读写、定位方法、目录操作 第5章标准I/O库教学目标与要求:掌握流的翻开和关闭方法掌握缓冲区的操作方法掌握直接输入/输出方法掌握格式化输入/输出方法掌握基于字符和行的输入/输出方法教学内容:5.1 标准流的I/O操作5.2 流的翻开和关闭5.3 缓冲区的操作5.4 直接输入输出5.5 格式化输入输出5.6 基于字符和行的输入输出5.7 工程实训五:出错管理功能重难点:重点:流和缓冲区的基本操作难点:直接输入输出、格式化输入输出、字符和行的输入输出第6章进程控制教学目标与要求:掌握进程的创立方法掌握进程的等待方法掌握进程
7、的终止方法掌握system函数的应用方法教学内容:6.1 进程概述6.2 进程控制6.3 工程实训六:进程的实现重难点:重点:进程的创立、等待、终止的方法难点:system函数的应用第7章线程控制教学目标与要求:掌握线程的创立与终止方法掌握线程的同步方法了解私有数据教学内容:7.1 线程控制7.1.1 线程的创立7.1.2 线程的终止7.1.3 线程的同步7.1.4 私有数据7.2 工程实训七:线程的实现重难点:重点:线程的创立、终止、同步难点:私有数据第8章进程间通信教学目标与要求:掌握共享内存的用法掌握信号量的用法掌握管道通信的用法了解命名管道的用法掌握消息队列的用法教学内容:8.1 概述
8、8.2 共享内存8.3 信号量8.4 管道通信8.5 命名管道8.6 消息队列8.7 工程实训八:进程之间通信功能的实现重难点:重点:共享内存、信号量、管道通信难点:命名管道、消息队列第9章信号及信号处理教学目标与要求:了解信号的概念掌握信号的捕获与屏蔽方法掌握信号的发送方法教学内容:9.1 信号及其使用9.1.1 Linux信号的产生9.1.2 信号的种类9.1.3 对信号的响应9.2 信号处理9.2.1 信号的捕获与处理922信号的屏蔽923信号的发送9.3 工程实训九:信号的处理重难点:重点:信号及其使用难点:信号处理第10章网络编程教学目标与要求:了解网络模型及协议掌握套接字地址结构和
9、创立套接字的方法掌握建立连接和绑定套接字的方法掌握在套接字上监听和接收连接的方法掌握在套接字上发送和接收数据的方法教学内容:10.1 网络编程的基本概念10.2 网络编程基础10.3 网络地址的转换10.4 TCP通信编程10.5 UDP通信编程10.6 工程实训十:局域网文件下载重难点:重点:网络编程基本概念和基础、网络地址转换难点:TCP通信原理、UDP通信原理第11章Gtk+图形界面编程教学目标与要求:了 解 GTK+了解GTK+程序结构熟悉基本构件熟悉布局构件熟悉信号与事件教学内容:11.1 Linux图形界面开发11.2 Gtk+程序结构11.3 基本控件11.4 布局控件11.5
10、信号与事件11.6 常用控件11.7 工程实训十一:贪吃蛇游戏重难点:重点:基本控件、布局控件难点:信号与事件、常用控件四、课程各教学环节要求本课程主要讲述了 Linux基础命令、文件操作、进程和线程控制、进程通信、信号及 信号处理、网络编程和图形界面编程等技术。基础命令是文件操作、进程线程控制、进程通 信、信号处理等技术的基础,网络编程和图形界面编程技术是进程线程控制、进程通信、信 号处理等技术的扩展和升级。首先掌握基础内容Linux基础命令;然后掌握重点内容文件操 作、进程和线程控制、进程通信、信号及信号处理技术;最后掌握难点内容网络编程和图形 界面编程技术。1 .本大纲只提出了该课程教学
11、的基本内容,至于这些内容安排的先后次序,讲授方法等, 应根据教师本人的教学经验、学生的实际情况和所选用的教材和参考教材等具体情况确定。2 .本大纲所提出的学时分配建议也可根据实际情况作小幅度的调整。讲授是主要的教学 环节,应突出重点,讲清基本概念和分析方法,注意运用启发式教学,阐述各种分析方法间 的横向联系,以培养学生分析、比照,归纳、总结的能力。为培养学生的自学能力,可适当 增加学生自学内容的比例,但必须相应地加强对自学工作的指导。上面教学内容中要求“了 解”条目可以作简单介绍,然后引导学生自学,所列条目。3 .鼓励教师在教学中进行课程体系、教学内容、教学方法等方面的改革。课堂上适时少 量安
12、排一些习题讲解、随堂小测试等环节,布置一些上机或综合训练作业让学生课后完成。4 .上机实验是帮助学生理解基本概念、掌握基本分析方法、学会运用理论处理实际问题 的重要环节之一。课程的每一主要内容都应配合一定数量的上机实验。因此,实验课是培养 学生实验技能的重要环节。与本课程内容相应的实验包含在“实验指导书”中。5 .教学过程中,注意培养学生使用计算机的应用能力。要求学生独立编写程序,应使学 生掌握利用现有的软件编写程序的问题。6 .在理论教学之后,可以安排2-4周的工程设计。五、学时分配本课程的学时分配如下表:主要内容各教学环节学时分配节讲 授实 验讨 论习题课外其 它小计注1Linux操作系统
13、基础662常用的C语言库函数223编程环境224文件操作225标准I/O库226进程控制227线程控制228进程间通信669信号及信号处理2210网络编程6611Gtk+图形界面编程44合计3636六、本课程与其它课程的联系L“计算机应用基础,“C语言程序设计”应在本课程前完成。7 .在讲课中,应注意培养学生的分析问题和解决问题的能力。七、考核及成绩评定方案一:以定量方式呈现评价结果,采用平时成绩和笔试成绩相结合的考核方式:平时成绩占 30%,笔试成绩占70%。以上比例可根据实际情况调整。1 .平时成绩(课堂提问、学生作业、出勤情况)30%2 .笔试成绩(考试试卷)70%方案二:以定量方式呈现
14、评价结果,采用平时表现成绩、实验成绩和笔试成绩相结合的考核方 式:平时成绩占10%、平时实验占20%、笔试考核占70%。以上比例可根据实际情况调整。1 .平时成绩(课堂提问、学生作业、出勤情况)10%2 .平时实验(学生实践操作进度、完成情况和基本技能)20%3 .笔试考核(考试试卷)70%本次采用方案一考核八、实训及实践环节Linux操作系统是一门实践性很强的课程,为了使学生理解所学知识,特设计如下九个实验供学生在学完相应知识点后练习o工程实训1 linux基本命令工程实训2常用的C语言库函数工程实训3编程环境工程实训4文件操作工程实训5标准I/O库工程实训6进程控制工程实训7线程控制工程实训8进程间通信工程实训9信号及信号处理工程实训10网络编程工程实训11 Gtk+图形界面编程九、教材、参考书及网络教学资源教材:Linux环境下C程序设计,黄继海,石彦华,人民邮电出版社,202lo 主要参考书:1. Linux编程基础,黑马程序员,清华大学出版社,2017o2. Linux系统管理与自动化运维,黑马程序员,清华大学出版社,2018o3. Linux基础及应用教程,梁如军,机械工业出版社,2020o4. Linux操作系统及应用,杨云,大连理工大学出版社,2017o