一、教学内容的针对性与适用性
课程组对中兴通讯股份有限公司、华为技术有限公司、重庆足下科技有限公司、中山大谷电子科技有限公司、成都天府软件园、重庆惠普全球软件服务中心等软件企业进行了调研,针对软件开发/软件服务外包岗位群,与企业共同分析归纳了各岗位的典型工作任务,以完成模块设计员、程序员和测试员岗位工作任务所需的知识、技能和职业素养为主,结合全国计算机等级考试、程序员、软件设计师和软件评测师等认证考试内容,兼顾学生在行业内进阶发展(从事系统设计员、需求管理员、项目经理岗位工作)的需要,选取本课程的教学内容。教学内容以模块设计员、程序员和测试员所需的基本知识/技能为主,以需求管理员和系统设计员的相关知识/技能为辅,而与项目经理相关的知识/技能只让学生作一般了解,目的是让学生在专业课程学习的开始阶段就建立起软件开发流程的概念,有助于对后续课程中知识与技能的掌握,培养其软件开发职业能力和素质。
软件开发岗位 |
典型工作任务 |
知识/技能 |
教学内容 |
项目经理 |
管理项目资源 |
项目配置管理、
研发流程问题的统筹与协调 |
人员能力评估
人员分工与合作规则
设备管理
文档版本管理
(教师示范,学生了解即可) |
需求管理员 |
编写需求说明文档 |
需求说明规范文档书写 |
需求说明书编写规范 |
需求搜集与分析 |
需求管理 |
客户沟通方法
需求调查与搜集
需求分析与定义
需求评审与确认 |
系统设计员 |
编写概要设计说明文档 |
概要设计规范文档书写 |
概要设计说明书编写规范 |
软件概要设计 |
约束因素的确定、系统结构设计 |
质量约束
遵循的标准或规范
软件、硬件环境约束
模块划分与模块间的关系 |
模块设计员 |
编写详细设计说明文档 |
详细设计规范文档书写 |
详细设计说明书编写规范 |
模块详细设计 |
模块结构设计、控制模块开发进度 |
模块质量约束
模块流程设计
单元划分与单元间的关系 |
程序员 |
程序代码编写与调试 |
掌握程序语法及编程规范、
程序与算法设计 |
C数据类型、常量与变量
算术、逻辑运算
分支、循环结构
数组、指针、函数
编程规范 |
排除模块/系统故障
(与测试员协同) |
故障分析与排除
(与测试员协同) |
故障分析方法
纠偏、传感校正与修复
运行精度校正 |
测试员 |
编写测试分析报告 |
测试报告规范文档书写 |
测试分析报告编写规范 |
单元/模块/集成测试 |
测试用例设计及测试代码编写 |
设计单元测试用例
编写单元测试代码
模块/集成测试用例设计
编写模块/集成测试代码 |
排除模块/系统故障
(与程序员协同) |
故障分析与排除
(与程序员协同) |
故障分析方法
纠偏、传感校正与修复
运行精度校正 |
返回顶部
二、教学内容的组织与安排
按照学生的认知规律和能力培养的阶段性目标,本课程教学分四个阶段进行:基础知识阶段、基础项目阶段、应用项目阶段和拓展项目阶段。
第一阶段为基础知识阶段,共42学时,教学地点在程序设计机房。本阶段将软件开发必备的C语言基础知识和程序设计方法演绎为生活中的趣味案例,并据此设计出培养程序员岗位基础能力的8个学习情境,使学生不会对编程感到枯燥乏味,为后续知识技能的学习打好基础。C语言基础知识及程序设计方法与学习情境的映射关系如下图所示。
每个学习情境的教学内容都由趣味案例来引导,按照问题引入、解决问题的方法描述、问题拓展、知识扩充的顺序,将同类问题的程序设计知识贯穿其中。例如:
此阶段结束后,学生能进行程序设计和较简单的算法设计,能具备程序员岗位的基础能力,但还不能开发应用项目,必须先经历基础项目开发的训练。
第二阶段为基础项目阶段,共36学时,本阶段按照嵌入式软件模块开发的工作过程,将学生轮流划分为模块设计员、程序员、测试员3个岗位来组织教学,教学地点在智能车实训室。此阶段以智能车软硬件开发平台为载体,将基本的软件模块开发技能和软硬件协同调试技能贯穿于5个基础项目中,这些基础项目是后期应用项目的支撑。
每个基础项目都按照软件模块开发流程组织教学,例如:
此阶段结束后,学生可具备软件模块开发能力和软件文档写作能力,以满足后续项目开发中模块设计员、程序员和测试员的岗位技能要求。
第三阶段为应用项目阶段,共32学时,以嵌入式软件开发工作过程展开教学,教学地点在虚拟公司。此阶段根据中山大谷电子科技有限公司的商用产品开发需求,开发4个应用项目。
每个应用项目都按企业软件开发流程组织教学,例如:
此阶段结束后,学生能具备一定的嵌入式软件完整项目开发能力。
第四阶段为拓展项目阶段,含18学时的学生自主拓展项目开发和一个月的企业实训。学生自主拓展项目开发在虚拟公司进行,教学方法采用岗位角色扮演、团队式学习、互动式教学、创新激励,由企业教师对学生自主项目进行技术把关和巡回指导。此阶段最后将学生送入企业,在企业教师的指导下进行真实项目实训。
各阶段教学内容、目标和学时如下表:
学
期 |
教学
阶段 |
教学内容 |
教学目标 |
学
时 |
阶段
学时 |
第
一
学
期 |
基础
知识
阶段
︻
理论
实践
一体
化教
室
︼ |
(学习情境1)
物品寄存问题 |
1.理解C程序的基本结构
2.掌握 = 的使用
3.掌握语句基本书写格式
4.认识6个专业英语单词
5.理解4种类型并熟记其范围
6.掌握变量类型声明方法 |
4 |
42 |
(学习情境2)
计算问题 |
1.掌握算术运算式表达方法
2.认识3种数据类型
3.掌握注释方法
4.认识8个常用算术运算符
5.了解if结构 |
6 |
(学习情境3)
启箱择器问题 |
1.掌握文件包含方法
2.掌握格式输入输出函数
3.掌握函数调用方法
4.认识一些常用函数
5.了解无限循环
6.掌握注释规范
7.开发简单选歌系统 |
6 |
(学习情境4)
达人海选问题 |
1.认识6个关系运算符
2.认识3个逻辑运算符
3.理解逻辑表达式
4.掌握if-else结构
5.掌握switch结构 |
6 |
(学习情境5)
累计问题 |
1.掌握while结构
2.掌握累计方法
3.掌握for结构
4.掌握for结构嵌套
5.掌握终止循环的方法
6.制作文字动画 |
6 |
(学习情境6)
毒酒测试问题 |
1.了解计算机编码
2.了解内存中数据的存放
3.了解原码、补码
4.理解进位和溢出
5.认识6个位运算符
6.掌握位运算 |
4 |
(学习情境7)
访存问题 |
1.了解数据类型的发展
2.认识长度运算符
3.认识取址符
4.掌握一维数组的存取
5.掌握二维数组的存取
6.理解指针 |
6 |
(学习情境8)
模块化问题 |
1.掌握函数定义与调用的方法
2.掌握函数声明方法
3.掌握宏定义
4.掌握制作头文件的方法 |
4 |
基础
项目
阶段
︻
智能车实训室
︼ |
阶段准备 |
1.了解嵌入式软件模块开发流程
2.了解程序员工作过程
3.了解测试员工作过程
4.掌握程序流程设计方法
5.掌握基本的软硬件测试方法
6.掌握WinAVR软件开发平台基本操作 |
2 |
36 |
(基础项目1)
灯光控制 |
1.按模块开发流程完成项目
2.掌握LED的软硬件协同故障测试方法
3.掌握处理器延时控制方法
4.实现满足延时需求的LED控制 |
6 |
(基础项目2)
行驶控制 |
1.按模块开发流程完成项目
2.掌握伺服电机基本控制方法
3.掌握行驶路线编程控制方法 |
6 |
(基础项目3)
光感控制 |
1.了解光感器基本原理
2.掌握光感临界值编程测试方法
3.掌握地面色彩感知编程控制方法 |
6 |
(基础项目4)
里程控制 |
1.了解红外光感器基本原理
2.掌握红外光感控制编程方法
3.掌握小车精确角度转向
4.掌握行驶路径纠偏 |
8 |
(基础项目5)
触碰控制 |
1.了解触碰传感器基本原理
2.掌握触碰传感器基本控制方法
3.掌握去除信号失真算法设计
4.掌握去除信号失真编程控制方法 |
8 |
应用
项目
阶段
︻
虚拟
公司
︼ |
阶段准备 |
1.了解虚拟公司软件开发流程
2.了解需求分析工作过程
3.了解概要设计工作过程
4.了解详细设计工作过程
5.了解软硬件测试工作过程
6.了解需求分析员、项目经理、系统设计员、程序员和测试员岗位职责
7.掌握软件文档书写规范
8.制定团队成员工作职责 |
4 |
32 |
(应用项目1)
音乐彩灯 |
1.按软件开发流程完成项目
2.按音乐节奏确定延时参数
3.基于灯光控制基础项目实现灯光按音乐节奏闪烁的功能 |
6 |
(应用项目2)
小车舞蹈 |
1.按软件开发流程完成项目
2.按音乐节奏确定延时参数
3.基于灯光控制、行驶控制、里程控制基础项目实现小车按音乐舞蹈的功能 |
6 |
(应用项目3)
迷宫机器人 |
1.按软件开发流程完成项目
2.基于触碰控制、里程控制基础项目实现道路探测、自动走出迷宫的功能 |
6 |
(应用项目4)
智能清障 |
1.按软件开发流程完成项目
2.基于光感控制、触碰控制、里程控制基础项目实现在有限时间内清除规定范围内障碍物的功能 |
8 |
假
期 |
拓展
项目
阶段
︻
虚拟
公司
+
企业
︼ |
拓展项目市场调研(企业教师指导) |
第
二
学
期 |
项目论证与方案设计、项目开题、项目研发、项目验收
(虚拟公司) |
18 |
企业实训 |
一个月 |
返回顶部
三、教学内容的具体表现形式
1. 教材教辅
课程组与重庆足下科技有限公司、中山大谷电子科技有限公司合作编写了《嵌入式C程序设计》教材,已与西北工业大学出版社签定出版合同,将于2011年9月公开出版,教学暂用校内印刷的讲义,其电子版全文详见课程网站的“网络课程”->“校本教材”栏目;还编写了特色鲜明的《智能控制小车实训指导书》,已使用3年;并将谭浩强编著的《C程序设计(第四版)》及《C程序设计题解与上机指导(第三版)》作为基础知识阶段的教辅参考书。
2. 教学文件及网络教学资源
本课程配备了课程标准、授课计划、授课教案、授课课件、作业习题、学习指南等资源,已发布到课程网站上,为学生自主学习搭建了开放式平台。
本课程网站还提供了在线测试、在线答疑、行业规范、竞赛与考证等栏目,供学生课外学习和拓展。
3.实战项目
课程教学团队开发了多个“准产品”实战项目,如:“音乐彩灯”、“小车舞蹈”、“迷宫机器人”、“智能清障”等。这不仅提高了教师的教学科研水平,也满足了面向企业产品开发的项目教学需要。
返回顶部
|