操作系统在计算机系统中处于核心地位,本课程以讨论操作系统的管理方法、实现原理及使用方法为核心,以对Linux操作系统的编程应用为手段,辅以高效的课程组织及实施,使学生充分达到课程教学目标。
课程内容的设计是让学生在完成高级编程语言、算法与数据结构、操作系统学习的基础上,进一步系统学习Linux操作系统的应用程序开发环境、方法和技术,掌握在Linux下多种应用程序的设计、编写、调试、运行跟踪的综合能力,课程主要内容包括:
l Linux系统的结构和基本命令;
l Linux下的应用程序开发环境、编译、调试、工程管理、版本控制等工具的使用;
l 程序编译、链接、加载的过程,库的原理及使用;
l 用户、进程、文件、中断/异常/信号、IPC等Linux操作系统的基本概念;
l 文件系统、进程、信号、IPC等的编程接口和调用方法;
l Linux基于Socket的网络编程等;
课程实施过程除了进行知识及案例视频讲授之外,以预习任务、探究性研讨作业和课程实训的方式加强学生对问题的探究能力和对知识的运用能力的锻炼。
通过合理设计课程教学内容和教学实施模式,以达到以下教学目标:
l 系统的掌握操作系统的一般原理,通用方法、实现技术和发展趋势;
l 理解Linux系统的工作原理和结构,掌握Linux下常见的开发工具、开发方法及开发流程,掌握Shell命令的使用及脚本编程的方法,从而使学习者具备在Linux下实施系统管理维护及软件开发的基本能力和素养。
l 分组调研探究性难题的过程锻炼学生自主查阅资料、分工合作、沟通交流、报告撰写等能力;
以实践为中心的课程体系充分锻炼学生的动手能力和运用计算机专业知识解决复杂问题的能力。
高级语言编程、算法与数据结构
课程考核线上成绩=视频学习*20%+测验*20%+作业*30%+期末考试*30%
教材:
[1] 南京软件研究院中科院软件所卓越工程师项目教材编写组,Linux应用编程技术. 高等教育出版社,2020.10
参考书目:
[1] [美]W. Richard Stevens Stephen A. Rago 著UNIX环境高级编程(第三版). [美]W. Richard Stevens Stephen A. Rago 著,2014.
[2](美)William Stallings著 陈向群 等译.操作系统—精髓与设计原理.北京:电子工业出版社,2012.