Linux程序设计环境
课程简介
本课程的目的是使学生认识Unix/Linux程序设计环境,学习Unix/Linux的文化和哲学,学习Unix/Linux编程思想,掌握Unix/Linux编程工具,了解开源软件思想和方法。具体要求包括:
1. 学会用 Unix/Linux;
2. 学习 Unix/Linux 文化, 历史, 哲学;
3. 学习 Unix/Linux的Shell程序设计;
4. 学会使用Unix/Linux各种程序设计工具;
5. 了解开源软件及其开发方法.
课程网站:
开源项目孵化器网站:http://i.pku.edu.cn
课程教学大纲和知识点
|
章节 |
课时 |
知识点 |
难度和重要性 |
|
Unix发展历史 |
2 |
Unix发展历程,开源软件发展历史,互联网发展历史 |
难度 ▃▄ 重要性 ★★ |
|
Unix哲学 |
2 |
Unix文化与Unix哲学 |
难度 ▃▄▅▇ 重要性 ★★★★★ |
|
使用Unix |
2 |
Unix系统,文件系统,各种命令 |
难度 ▃▄ 重要性 ★★ |
|
正则表达式 |
2 |
三种正则表达式,grep与find |
难度 ▃▄▅▇ 重要性 ★★★★★ |
|
Shell编程 |
4 |
变量, I/O, 结构, 函数, 信号处理等 |
难度 ▃▄▅ 重要性 ★★★★★ |
|
文本处理 |
2 |
各种文本处理工具, awk与sed |
难度 ▃▄▅ 重要性 ★★★ |
|
Perl/Python程序设计 |
4 |
perl和python基础编程 |
难度 ▃▄▅ 重要性 ★★★★ |
|
程序设计工具 |
2 |
gcc, gdb, gprof, gcov等 |
难度 ▃▄ 重要性 ★★★ |
|
高级程序设计 |
6 |
lex/yacc, make, Makefile自动生成, 补丁工具diff/patch, 版本管理工具rcs/cvs/svn, 每日创建技术及工具 |
难度 ▃▄▅ 重要性 ★★★★ |
|
开源软件开发 |
2 |
开源软件特点,开源许可证,开源软件开发实践 |
难度 ▃▄ 重要性 ★★★ |
|
Unix文档 |
2 |
LaTeX, Docbook等文档工具 |
难度 ▃▄▅ 重要性 ★★ |
|
技术报告 |
2 |
学生课堂报告与讨论 |
难度 ▃▄ 重要性 ★★★ |

