|
SSD共分十门课程,两个证书,他们分别是:
1)SSD1 Introduction to information Systems信息系统概论;
2)SSD2 Introduction to computer Systems计算机系统概论;
3)SSD3 Object-Oriented Programming and Design面向对象的程序设计;
4)SSD4 User-Centered Design and Testing用户界面设计与测试;
5)SSD5 Data structures and Algorithms数据结构和算法;
6)SSD6 System-level Programming系统编程;
7)SSD7 Database Systems数据库系统;
8)SSD8 Networks and Distributed Computing网络与分布式计算;
9)SSD9 Software Specification,Testing and Maintenance软件系统规范、测试和维护;
10)SSD10 Software Project Organization and Management软件项目组织和管理.
SSD1:信息系统简介
本课程通过编写代码来传授学生软件开发以及解决问题的基本知识与技巧。学生将会学习软件的基本组成模块,比如软件是如何写成的、为了让一个WEB应用程序运行应该如何让多个不同的软件互相协作。课程使用了一种近似于"对象第一"的指导思想来讲解编程语言,并且为以后学习JAVA打下基础。学生将学习在JAVA中使用HTML与servlets技术建立WEB应用程序,并且为普通的静态页面编写类似在线音乐播放列表与虚拟环境等后台逻辑程序。完成这门课的学生将会具备足够的能力来承担开发过程中的责任,足以支持一个中小型的互动网站的开发。
SSD2:计算机系统概论
这门课程向进行软件开发的学生介绍在INTERNET环境下基本的使用与维护计算机系统的基础知识。学生将会获得重要的知识来帮助他们有效的与在IT工作环境中遇到的其他员工进行沟通,同时也可以了解到更多的关于软件安全的细节与软件将要运行的系统平台的特性。计算机的基本组件功能与网络特性将会
与操作它们、维护它们时需要用到的工具与程序一同被介绍。
SSD3:面向对象的程序设计
这门课程将给学生介绍软件开发专用的工具软件与软件设计的过程,以及如何写文档,如何编写软件系统。学生通过学习面向对象的程序开发与设计来掌握什么事高效的软件架构、如何来设计与编写这样的软件系统。其重点在与对问题的分析与解决方案的设计,正确的文档与编码的书写规范(采用被广泛使用的格式),并且遵守它。
学生使用有效的软件类库来编写健壮的软件应用程序,例如零售点用的收银机。作为一个规范,采用UML来设计类图,采用固定的设计模式,在JAVA中实现它们,并且测试生成的解决方案。本课程将让学生变的有经验与知识来建立具有复杂功能,完美设计的软件系统。
SSD4:用户界面设计与测试
这门课程从一个不同的角度来学习如何建立强健的,可维护的,有效的软件上。软件与网页应用程序可以根据用途不同而划分开来。换句话说,它是否直接为用户来执行用户希望软件做的事情呢?无论任务是画个地图,付个账单,找一个电话号码,命令一个物体,预定航班,或者是改变一个文字页面的格式。在这一课里,学生将要学习在人机交互中最重要的技术。这样他们能够引导用户远离可用性问题并且最终创造一种友善的软件能够舒适的协助用户来完成他们任务。学生将会接受一些基本技巧的训练,这些训练是关于任务分析、界面评估、高效UI设计。VB.NET将会被用来协助进行各种程序的编写。
SSD5:数据结构和算法
本课程将使学生为设计数据集中型软件做好准备,具体则是开发实用的实际项目-一个在线的具备丰富功能的拍卖系统。为了完成这一目标,学生将会学习如何选择适合的算法甚至会觉得他们被当做了专业的程序开发者,他们也会学习如何思考算法的正确与复杂程度。学生也会彻底的了解不同算法对执行周期与内存的需求。课程编程工具选择的是C++编程语言与STL标准类库。
SSD6:系统编程
本课程将让程序员能够创造具备高效处理能力与高效内存管理能力的软件。课程主要通过为学生提供一个程序员的视角来观察处理器、内存、操作系统。学生将会系统的学习内存系统的管理机制,线程上下文切换机制,以及一个高品质的软件在实际部署于硬件前将会有哪些变化。这些知识让学生有能力排除那些不常见的BUG,并且让学生可以衡量与优化软件的表现。编程工具选择的是C++.NET
SSD7:数据库系统
今日的页面应用程序,其核心已经发生了革命性的巨大变化,设计良好的数据库系统使它们能够提供多种多样的功能。本科将通过对数据库系统概念的介绍与开发一个数据库,训练学生来具备这样的能力。这是基于过去学习过的课程基础上的,比如高级JAVA,网络环境,面向对象编程,可用性设计。学生使用JVA与JSP开发客户端-服务器应用程序,使用数据库来管理整个系统。整个任务包括建立一个电子商务型的书店,它将提供诸如用户注册,搜索,识别与追踪命令,个人设置等功能。学生将会学会必要的技巧来建立适合的数据模型,用以支持特定的应用程序(特别是关系数据模型),将基本的数据库变的更加快捷,并且确保系统足够强壮可以从系统错误中顺利恢复。
SSD8:网络与分布式计算
本课程重点放在按照自己的想法在网络上建立分布式商用软件系统,允许为数众多的用户成为一个网上社区的一员。学生首先将会对支持数据域多媒体传输的网络技术有一个大致的了解。学生将通过进行一些分布式系统--比如网页服务器、日历、聊天系统--的开发来建立这一概念。学生将会学习应用导向的原理并且逐渐学会使用JAVA进行对象导向式的分布式开发。随着基于网络的应用程序越来越多的成为众多公司的安全问题,他们越来越需要专业的具备强大此领域知识的人员来帮助公司避免遇到此类问题。
SSD9:软件系统规范、测试和维护
本课程将让学生学习开发软件的整体流程,并且让他们在遇到任何突然情况时都保持活力;主要内容是让学生拥有对软件开发生命周期中各个不同环节的管理经验—从需求采集到设计到测试到最终部署。这一课属于卡内基梅隆大学的研究生级别课程,重点放在如何按照特定的需求遵循现代软件工程理论开发经济可靠的软件系统。学生将单独或者多人协作来开发并且管理他们的实验项目。项目技术内容主要是关于数据库驱动软件的主要部分,项目本身则是一个网上的音乐售卖商店。
SSD10:软件项目组织和管理
本课程将让学生能够组织与管理一个独立的团队来开发软件系统。这种技巧在职业场合下是非常关键的,尤其当软件项目必须在一些常见的问题下开发时,诸如计划表超期,预算超额度,以及其它有可能影响软件品质的潜在风险。学生学习如何管理计划表,如何计划项目,如何管理成本,风险分析,项目组织等一系列技术。学生测试并且评论不同的常常会在办公场合遇到的典型软件计划与管理案例。
|