【课程简介】
《linux系统》是软件工程专业中一门重要的专业课程。它是一门实践性很强的课程,通过让学生实际操作,完成相关的实验,使学生理解和掌握linux环境下的基本操作,网络配置方法、网络编程、内核优化等的知识和技能。本选修课的开设主要是为本科生掌握linux环境下编程,特别是网络编程,以及掌握linux基本操作方面的知识提供帮助。通过本课程的学习,使学生加深对计算机网络、编程语言和操作系统等的认识,为其今后从事的工程技术工作和研究工作打下良好的基础。
先导课程:计算机网络、c语言程序设计、面向对象程序设计(c 语言)等。
【学习资源】
1.参考书目:
史蒂文斯/芬纳/鲁道夫.unix网络编程(第3版),清华大学出版社,2006
neil matthew和richard stones,linux程序设计(第4版),人民邮电出版社,2010
richard blum,linux命令行与shell脚本编程大全(第2版),人民邮电出版社,2012
宋敬彬、孙海滨,linux网络编程,清华大学出版社,2010
李卓桓等著.linux网络编程,机械工业出版社,2000
华清远见嵌入式培训中心著,《嵌入式linux系统开发标准教程》,人民邮电出版社,2009
杨水清,《arm嵌入式linux系统开发技术详解》,电子工业出版社,2008
张辉翻译,gnu/linux编程指南(第二版),清华大学出版社,2002
彭松虎,unix和shell程序设计权威教程,清华大学出版社,2003
史蒂文斯,unix环境高级编程,人民邮电出版社,2006
daniel p等,深入理解linux内核(第3版),中国电力出版社,2007
2. mooc资源:edx课程《introduction to linux》,linux fundation。
3. mooc资源:edx课程《linux system administration essentials》
4. linux学习网站:www.chinaunix.net
5.linux网络课程:网易云课堂,《linux入门基础》
6. linux网络课程:网易云课堂,《linux高级系统管理》
实验大纲 | |||||||||
项 目 序号 | 实验项目名称 | 内容提要 | 实验 学时 | 仪器 套数 | 实验 属性 | 开设 要求 | |||
1 | linux实验环境的建立 | 掌握linux的安装方法和步骤,熟悉linux的启动和关闭。 | 2 | 61 | 1 | 1 | |||
2 | linux的gui界面 | 熟悉x window,掌握gnome和kde界面的基本使用方法 | 2 | 61 | 1 | 1 | |||
3 | linux文件系统操作 | 掌握ext3文件系统的命令操作方法 | 2 | 61 | 1 | 1 | |||
4 | linux的vim编辑器 | 掌握vim的工作模式,vim的启动与退出,vim的编辑命令等 | 2 | 61 | 1 | 1 | |||
5 | linux系统管理 | 熟悉linux的系统管理基本方法,掌握用户管理方法和常用用户管理命令、设备管理方法级常用命令。 掌握linux进程管理命令和日志管理方法,熟悉常用的日志分析工具。 | 2 | 61 | 1 | 1 | |||
6 | linux网络管理 | 掌握linux下基本的网络配置,熟悉linux常用网络管理命令。 掌握linux下nfs、samba、tftp等服务的配置方法,了解web、mail、ftp、dns、bootp的服务器配置。 | 2 | 61 | 1 | 1 | |||
7 | linux下shell编程 | 熟悉shell类型、掌握shell编程的基础,通过shell脚本实现对linux系统的管理。 | 2 | 61 | 1 | 1 | |||
8 | linux c编程环境 | 熟悉linux编程环境,程序编写和编译方法。掌握gcc,gdb、make的使用。 | 2 | 61 | 1 | 1 | |||
9 | 简单的网络程序编程 | 熟悉linux网络方法,要求分别完成server(服务器端)和client(客户端) 两个程序,实现其间的通信。熟悉网络程序建立步骤。 | 2 | 61 | 1 | 1 | |||
10 | 并发访问服务器编程 | 熟悉linux网络服务器编程,要求编写一个并发tcp服务器实例,实现服务器与客户端的通信。 | 2 | 61 | 1 | 1 | |||
11 | gtk 图形界面程序设计基础 | 熟悉gtk 程序设计的基本方法、掌握如何使用gtk 开发图形界面程序 | 2 | 61 | 1 | 1 | |||
12 | gtk 图形界面程序设计案例 | 通过具体实例熟悉gtk 图形界面程序的设计 | 2 | 61 | 1 | 1 | |||
13 | qt图形界面程序设计 | 熟悉qt应用程序设计方法、掌握qt集成开发环境使用方法和步骤,掌握qt程序编译方法,掌握对话框、记事本等小程序的实现。 | 2 | 61 | 1 | 1 | |||
八、综设、创新性实验项目介绍 | |||||||||
项目编号 | 项目名称 | 实验属性 | 开设目的及要求 | 涉及的内容或知识点 | |||||
14 | linux下web服务器配置与管理 | 1 | 综合运用linux的系统管理和网络管理的知识,搭建一个linux web服务器。 | 文件系统、权限管理、命令操作、tomcat、apache、网络配置、jsp开发、脚本配置等。 | |||||
15 | linux云平台环境搭建 | 3 | 掌握linux平台下云计算平台的搭建。 | openstack、hadoop、ubuntu linux、虚拟化等 | |||||
16 | 基于gtk 的即时通讯系统设计 | 2 | 掌握linux下网络通讯程序的设计方法及图形界面的开发。 | 网络通讯、图形界面设计、信息安全、代码优化等。 | |||||
综设、创新性实验采用的教学方法和手段: 通过翻转课堂、mooc及网上视频的方式首先让学生了解相关教学内容,鼓励学生在课余时间完成综合性、创新性实验项目。 综设、创新性实验评价方式: 实验报告:平时成绩20% 实验报告50% 其它30% |