清华软件工程:第10章 程序设计语言和编码
- 格式:ppt
- 大小:143.00 KB
- 文档页数:59
信息学院本科指导性教学计划(公共课)第一学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课10610022思想道德修养22考查10640433英语选修22考查10420874一元微积分44考试10420684几何与代数(1)44考试20240013离散数学(1)33考试20230093计算机语言与程序计33考试30250023计算机语言与程序计33考试30240233程序设计基础33考试四选一34100063程序设计基础33考试30210041信息科学技术概论11考查春季学期00501622毛泽东思想概论32考试10640443英语选修22考查10420884多元微积分44考试一元微积分10420692几何与代数(2)22考试几何与代数(1) 二选一10420913几何与代数(2)33考试几何与代数(1)10430484大学物理B(1)44考试一元微积分10430344大学物理(1)(英)44考试一元微积分三选一10430525大学物理A(1)55考试一元微积分20220214电路原理44考试20220221电路原理实验11考查第二学年秋季学期课号课程名学分周学考试或考查说明及主要先修课10420753高等微积分22考试一元微积分10420252复变函数引论22考试一元微积分二选一复变函数33考试一元微积分10430535大学物理A(2)55考试大学物理A(2)20250093电子技术基础33考试电路原理二选一30230563数字逻辑电路33考试电路原理电子技术基础实验22考查跨学期课,本学期完成1学分10420262数理方程引论22考查不修该课程20130342工程图学基础22考试春季学期10420243随机数学方法33考试二选一10420803概率论与数理统计33考试数字逻辑电路33考试电路原理电子技术基础电子技术系列实验22考查跨学期课,本学期完成1学分30230104信号与系统44考试微积分电路复二选一40250144信号与系统分析44考试变几何与代数40240013系统分析与控制33考试微积分电路复二选一40250074自动控制理论(1)44考试变几何与代数3025数据结构33考试四选一34100044数据结构与算法44考试微电子学导论33考试半导体器件与集成电路33考试三选一集成电路原理与设计33考试物理、生物类课程≥2220240023离散数学(2)(选)33考试夏季学期电子技术课程设计33考查电子技术基础Java语言(选)22考查计算机语言与程序设计二选一语言(选)22考查计算机语言与程序设计第三学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课汇编语言程序设计33考试40240354计算机组成原理44考试汇编语言程序设计数字电子技术基础40240432形式语言与自动机22考试3024信号处理原理44考试微积分电路复变几何与代以下专业方向课选修不少于3学分30240262数据库系统原理22考试数据结构30240042人工智能导论22考试离散数学30240222VLSI设计导论22考查数字逻辑与数字电路网络编程与计算技术22考查40240642现代控制技术22考查自动控制理论(1)春季学期10610053马克思主义哲学原理32考试30240243操作系统33考试计算机组成原理40240144编译原理33考试数据结构、汇编语言程序设计40240433计算机系统结构33考试计算机组成原理20240433数值分析(选)或同组其它数学类课33考试微积分、线性代数体育专项(2)以下专业方向课选修不少于3学分40240412数字系统设计自动化22考查数字逻辑与数字电路40240392多媒体技术基础及应用22考查40240452模式识别22考查概率与统计初等数论及其应用22考试30240253微计算机技术33考试计算机组成原理、汇编语言程序设计40240422计算机图形学基础22考查数据结构30230313通信电路33考试电子技术基础数字逻辑电路30240163软件工程33考试数据结构第四学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课40240243计算机网络33考试必修操作系统30210033通信原理33考试必修二选一30230343现代通信原理33考试必修通信电路计算机网络专题训练11B34:专业专题训练≥4≥4体育专项(3)人文选修课≥6≥6见全校性选修课选课手册以下专业方向课选修不少于4学分30240192高性能计算导论22考查22考查﹡模式识别基础40240062数字图像处理22考查22考查40240362电子商务平台及核心技术33考试40240472计算机实时图形和动画技术40240372信息检索22考查数据结构40240402虚拟现实22考查40240492数据挖掘22考试40240502软件开发方法22考试嵌入式系统33考试操作系统合计≥21≥21 春季学期综合论文训练1015周必修体育专项(4)选修注:带*者为院平台课,可在信息学院范围内选修不低于所列学分的同类课程计算机科学与技术专业核心课程6 门,17学分课号课程名学分先修要求40240433计算机系统结构3(春)操作系统30240243操作系统3(春)计算机组成原理,数据结构40240144编译原理4(春)数据结构40240243计算机网络3(秋)操作系统40240432形式语言与自动机2(秋)离散数学(1)20240103汇编语言程序设计3(秋)计算机科学与技术专业限选课不少于11学分,其中:计算机系统结构-----计算机科学与技术专业选修不少于2学分课号课程名学分先修要求30240253微计算机技术3汇编语言程序设计嵌入式系统3计算机组成原理操作系统40240412数字系统设计自动化2数字逻辑电路30240222VLSI设计导论2数字逻辑电路计算机软件与理论---计算机科学与技术专业选修不少于2学分课号课程名学分先修要求初等数论及其应用2离散数学30240192高性能计算导论2(英语讲课)计算机系统结构30240262数据库系统原理2数据结构网络编程与计算技术2计算机组成原理软件开发方法2C++ 数据结构软件工程30240134软件工程3C++数据结构计算机应用技术-----计算机科学与技术专业选修不少于2学分课号课程名学分先修要求30240042人工智能导论2离散数学40240452模式识别2几何与代数概率与统计人工智能导论40240062数字图象处理2概率与统计程序设计基础40240392多媒体技术基础及应用2信号处理原理40240422计算机图形学基础2数据结构40240472计算机实时图形和动画2几何与代数技术40240402虚拟现实2计算机组成原理40240462现代控制技术2系统分析与控制40240372信息检索2数据结构40240362电子商务平台及核心技术2数据结构JAVA程序设计数据库系统原理40240492数据挖掘2数据库系统原理计算机科学与技术专业专题训练不少于5学分,其中计算机网络专题训练为必选课号课程名学分先修要求计算机网络专题训练1(秋)操作系统专题训练2(秋)编译原理专题训练2(秋)数据库专题训练2(秋)计算机科学与技术专业的任选课程课号课程名学分先修要求30240253微计算机技术3汇编语言程序设计初等数论及其应用2离散数学网络编程与计算技术2计算机组成原理30240134软件工程3C++数据结构30240042人工智能导论2离散数学40240452模式识别2几何与代数概率与统计人工智能导论40240062数字图象处理2概率与统计程序设计基础40240392多媒体技术基础及应用2信号处理原理40240422计算机图形学基础2数据结构40240472计算机实时图形和动画技术2几何与代数40240402虚拟现实2计算机组成原理40240462现代控制技术2系统分析与控制40240372信息检索2数据结构40240362电子商务平台及核心技术2数据结构JAVA程序设计数据库系统原理40240492数据挖掘2数据库系统原理计算机科学与技术专业 业务培养目标:本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级专门科学技术人才。
C++语言程序设计(清华大学莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
面向对象的理论与C++实践清华课程设计一、课程介绍面向对象的理论与C++实践是清华大学计算机科学与技术系本科生专业选修课程,涵盖面向对象编程理论和C++编程实践两个方面,旨在帮助学生深入理解面向对象思想并用C++语言进行实现。
二、课程内容面向对象编程理论1.面向对象思想概述2.类与对象3.继承、多态与虚函数4.抽象类与纯虚函数5.STL库简介C++编程实践1.C++程序设计基础2.类与对象的实现3.继承、多态与虚函数的实现4.STL库的使用三、课程教材《C++ Primer》(第五版)(中文版),作者:Lippman, Lajoie, Moo,译者:侯捷。
四、课程参考资料1.《Effective C++》(中文版),作者:Scott Meyers,译者:侯杰。
2.《STL源码剖析》(中文版),作者:侯捷。
3.《深入浅出设计模式》(中文版),作者:程杰。
五、课程设计要求1.选题要求:要求选好一个项目,体现应用面向对象编程的思想。
2.设计方案包括:给出所设计类的类体及成员函数原型,试画出相应的类图,写出内部数据结构方案的描述,描述各类或各函数功能作用的注释。
3.程序要求:为了反映面向对象编程语言的特征,要使用C++语言进行编程,采用面向对象思想,必须使用类和对象来体现程序设计思想,要充分利用C++语言的特性和STL库进行程序开发。
六、课程设计流程第一阶段:选题第一次课程上老师将介绍课程设计大概内容,学生需要结合个人实际情况,选定一个初步的设计主题,初步选题可与老师讨论资讯。
相当于开题选题环节。
第二阶段:设计方案在确定题目后,需要自己独立完成课程设计方案。
设计方案要求如上述第五部分所说明。
相当于中期论文。
第三阶段:实现程序在建立好方案后,开始进行程序实现。
实现过程中出现问题,需及时向老师或助教请教解决,最终提交实现代码。
相当于结题报告。
七、课程评分标准1.选题:选题是否合理,是否具有一定难度性;2.设计方案:方案是否完善,方案中的类设计是否具有标准性;3.程序代码:代码是否规范,是否达到良好的代码质量,代码是否具有可扩充性、可移植性等软件工程方面的优良特征;4.报告:书面报告是否符合规范,语言表达、图表使用是否得当;5.程序演示:演示时是否条理清晰,是否表现出更高的带了解问题以及解决问题的能力。