成为第一个分享这门课真实体验的人。
来自官方课程资料的结构化信息
课程代码
COMP3438
课程名称
System Programming
开课学系
comp
所属学院
Faculty of Engineering
学分
3 学分
级别
3
课程简介
课程内容 1. 系统编程与Unix简介 计算机系统的分层结构;系统软件与应用软件;系统编程的范围与任务。Unix的发展;Unix的特点;Unix标准;Unix编程的良好风格。 2. Unix系统简介 文件;Unix文件类型;Unix文件系统;Unix文件系统中文件的结构与表示;目录;访问Unix文件;I/O重定向;设备与设备驱动程序;Unix文件接口(API)。Unix外壳;Unix进程创建与执行;进程管理;父进程与子进程;Unix进程接口(API)。 3. Unix设备驱动程序简介 设备驱动程序;设计问题;设备驱动程序的类型;设备驱动程序的主要组成部分。 4. 设备驱动程序开发 操作系统/驱动程序接口;设备驱动程序的内部操作;结构与主要组成部分;地址空间与数据传输;典型字符/块驱动程序的设计与实现。 5. 编译器构造概览 编程语言的语法与语义;语言翻译方法;编译器的任务;编译器的过程。 6. 词法分析 词法分析的任务;通过正规文法与正规表达式指定标记;通过有限自动机(FA)识别标记;从正规表达式构建FA;将NFA转换为DFA;模拟DFA。 7. 语法分析 语法分析的任务;通过上下文无关文法指定语言结构;BNF;推导;语法树;通过推进自动机(PDA)识别语言结构;自顶向下与自底向上的解析方法。 8. 代码生成 中间编译阶段;符号表;中间代码生成;代码优化;代码生成。
学习目标
1. 向学生介绍系统编程的概念与原则,使他们理解系统程序员的职责与范围; 2. 向学生传授系统编程的理论与实践知识,教授他们设计与实现系统级程序的方法与技术; 3. 培养学生使用高级操作系统服务、编程语言与实用工具编写系统软件的技能。
先修要求
先修课程:COMP2432,C语言编程
教学模式
在讲座中,将通过实例解释概念、模型与算法。 辅导课与实验课帮助学生理解概念并提高解决问题的能力。 作业帮助培养学生编程技能与批判性思维。