清华大学计算机科学与技术专业开设哪些课程

清华大学计算机科学与技术专业开设哪些课程,第1张

这!还问教材!楼主不知道么即使一个大学里面一个学院一个专业也会是有很多老师的,不同的老师教的学生选的课本可能都不一样,而且不同年份入学的话教材版本啊或者教材内容又会是不一样的,除非你找到个清华的在读的问,要不然没办法

以下的课程也是清华历年来会开的课程,但是不代表课程不会变动楼主又没附加分

计算机科学与技术专业核心课程6 门,17学分

课号

课程名

学分

先修要求

40240433

计算机系统结构

3(春)

*** 作系统

30240243

*** 作系统

3(春)

计算机组成原理,数据结构

40240144

编译原理

4(春)

数据结构

40240243

计算机网络

3(秋)

*** 作系统

40240432

形式语言与自动机

2(秋)

离散数学(1)

20240103

汇编语言程序设计

3(秋)

计算机科学与技术专业限选课不少于11学分,其中:

计算机系统结构-----计算机科学与技术专业选修不少于2学分

课号课程名学分先修要求30240253

微计算机技术3汇编语言程序设计

嵌入式系统3计算机组成原理 *** 作系统40240412

数字系统设计自动化2数字逻辑电路30240222

VLSI设计导论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数据库系统原理

清华大学计算机网络课程》百度网盘资源免费下载

xnnz 清华大学计算机网络课程收藏|组合数学rar|虚拟现实与系统仿真rar|信号处理原理rar|微型计算机技术rar|数字系统设计自动化rar|数值分析zip|数据库系统及应用rar|数据库系统概论rar|数据结构rar|数据结构(C语言版)_CDiso|软件工程_研究生同等学历rar|软件工程rar|人工智能原理rar|人工智能导论rar  

库存管理数据库系统原理与应用

摘 要库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

经过分析如此情况,我们使用微软公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁 *** 纵数据库的智能化对象,短期内就可以开发出用户满意的可行系统。

关键字: 库存管理 ADO 面相对象 库存ABC分析

第一章 概述

11 库存管理的必要性

大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。

12 库存分类

企业怎样管理库存,是库存管理的最大难点和挑战。因此,通过MRPII物料主计划模块和采购模块建立计划与控制系统以有效地实施库存管理和采购补偿成为题中应有之义。通过调查,我们得知任何库存均可分为如下三类:

A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。

B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。

C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。

显然,A类物品是关键;如果我们把精力集中于A类物品,使其库存压缩10-50%,就是总库存的相当可观的一笔压缩。

关于ABC分类方法有几条基本法则:

a 控制的程度:

对A类物品严加控制,包括做完备、准确的记录,高层监督和经常评审,从供应商按大合同订单频繁交货,对车间紧密跟踪以压缩提前期。

对B类物品做正常控制,包括良好的记录与常规的关注。

对C类物品尽可能使用简便的控制,诸如定期目视检查库存实物、简要记录或以简便标志法表明补充存货已经订货,采用大库存量与订货量以避免缺货,安排车间日程计划时给以低优先级。

b优先级

在一切活动中给A类物品以高优先级以压缩其提前期与库存。

对B类物品予以正常处理,仅在关键时给以高优先级。

予C类物品以最低优先级。

c订货过程

对A类物品提供及时、准确的采购信息和状态查询。计算机数据需要人工加以核对,进行阶段性盘点,以及频繁的评审以压缩库存。

对B类物品,按一定周期或当发生重大变化时评审一次库存数据和订货点,MRPII *** 作按例行公事处理。

对C类物品可以盘点处理或订货点计算。订货往往不用MRPII作计划。可以凭业务人员的经验加以控制。

由上可以看出库存管理的重要性。因此,库存管理是企业管理的重要组成部分。市场需要库存商品提供给用户,企业的经营需要库存保证各种药品的供应以进行药品的销售,库存对生产效率的提高有着极其重要的影响。因此,库存管理系统是计算机管理系统的中心。因为,所有企业的经营活动都离不开物流的活动。

13 库存管理的目标

库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。

第二章 开发背景

企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化 *** 作,而且必须根据企业的具体情况制定相应的方案。

根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。

一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。

第三章 系统分析

本系统采用了结构化生命周期法,结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是最容易被开发人员忽视的环节。

31进行资料收集

在整个系统分析阶段,我在图书馆认真查看了很多关于仓库库存管理方面的书籍,收集到了相应的入库单、领料单、台账、物料卡、报表等资料。

入库单是入库单位在把相应的零部件送人仓库时必须填写的单据;领料单是领料人员从仓库中领取零部件时必须填写的单据(即出库);零部件台账(相当于本系统中的 *** 作日志)实际是一个流水账,用于记录每天发生的入库、出库信息;物料卡(在本系统中用现有库存信息来表示)的作用是记录某一种零部件的数量变化,以便库管员盘查;报表是仓库向有关领导和部门定期提交的零部件库存汇总信息。收集到的入库单、领料单、零部件库存台账、零部件物料卡等单据和报表的实物样式在此略去,有兴趣者请参考有关类似企业的样本即可。

32绘制业务流程图

33用户需求分析

用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和系统的功能模块。用户需求调研结束之后,应该立即进行用户需求分析。

331应用程序结构确定

从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器/服务器应用程序结构、客户机/服务器应用程序结构等5种类型。

本库存管理系统就采用了当前最流行的客户机/服务器应用程序结构(即C/S结构),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又被称为“灵敏的客户机”结构。许多 *** 作可以在本地的客户机上执行,只是当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。由于条件所限,将此系统所有程序都置于一台计算机上,以便调试运行。

332确定系统开发环境

由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境:

★网络 *** 作系统:Windows2000;★数据库服务器:MicrosoftAccessr2000;

★服务器平台:Windows2000;★客户机平台:Windows95/98/NT/2000;

★前端开发工具:visualBasic60(企业版);★数据访问对象:ADO(本系统使用ADO控件,简化编程)。

333确定系统的功能模块

通过分析确定库存系统将包含6个主要功能模块,即系统模块、入库业务管理模块、出库业务管理模块、退料业务管理模块(还库业务管理模块)、盘点业务管理模块(报表输出)、需求管理模块。对于每一个功能模块,都包含了数据录入、编辑、查询、统计、打印、应急、帮助等功能。

第四章 系统设计

4. 1总体设计

411系统目标设计

系统开发的总体任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到企业仓库库存管理效率的目的。

412开发设计思想

库存管理的物资主要是企业生产中所需要的各种设备、原材料及零部件。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据整个企业的需求开出物资设备出库单,仓库管理员根据出库单核对发放设备、原材料及零部件。有些设备使用完毕需要及时归还入库,填写还库单。根据需要按照月、季、年进行统计分析,产生相应报表。

仓库库存管理的特点是信息处理量比较大。所管理的物资设备、原材料及零部件种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同,因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门规格不统等问题。

在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则:

 统一各种原始单据的格式,统一帐目和报表的格式。

 删除不必要的管理冗余,实现管理规范化、科学化。

 程序代码标准化,软件统一化,确保软件的可维护性和实用性。

 界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。

 建立 *** 作日志,系统自动记录所进行的各种 *** 作。

413系统功能分析

本系统需要完成的功能主要有以下几点。

 库存管理的各种信息的输入,包括入库、出库、还库、需求信息的输入等。

 库存管理的各种信息的查询、修改和维护。

 设备采购报表的生成。

 在材料库存中加入所允许的最大库存合最小库存字段,对所有库存物资实现监控和报警。

 企业各个部门的物资需求管理。

 *** 作日志的管理

 库存管理系统的使用帮助。

42详细设计

421 系统功能模块设计

系统模块

a 包括报表的打印及设置, *** 作日志的管理。

b 管理员可以通过管理界面添加或删除用户,添加新管理员或删除原有管理员,验证用户的合法性,阻止非法用户登录。

c 管理员或其他用户可以修改自己的密码。

(2) 入库模块

包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及打印

(3) 出库模块

包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及打印

(4) 还库模块

包括填写还库单,更新,删除还库记录,还库记录的查询及打印

(5) 需求模块

包括填写需求计划表,更新,删除采购计划信息,查看现有采购信息,采购信息的查询及打印,以及预测短期内的需求计划。

422数据库设计

数据库需求分析

通过对企业仓库管理内容和数据流程分析,设计的数据项合数据结构如下:

 设备代码信息。包括的数据项有设备号、设备名称。

 现有库存信息。包括的数据项有现有设备、现有数目、最大库存、最小库存等。

 设备使用信息。包括的数据项有使用的设备、使用部门。数目。使用时间、出库时状态等。

 设备采购信息。包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间等。

 设备归还信息。包括的数据项有归还设备、归还部门、归还数目、归还时间、经手人等。

 设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。

有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计。

数据库概念结构设计

这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有库存实体、出库实体、入库实体、采购实体、还库实体、需求实体。 数据库逻辑结构设计

在上面的实体以及实体之间关系的基础上,形成各个表格之间的关系。

43 代码设计

任何库存均可分为如下三类:

A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。

B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。

C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。

4.4 输入输出设计

本系统界面标准Windows形式,键盘输入(也可以用条形码读取),人机交互,容易使用。输入输出的设计考虑美观实用和通俗易懂,图文并茂。

4.5系统安全性设计

系统数据库中包含多个二维表,所以在系统与数据库的连接上,并没有把数据库和系统的连接直接写入代码,而是通过对服务器端进行系统设置,使数据库名及路径不可见,并通过ACCESS的数据库安全设置,保证了数据库的安全性。系统根据用户身份不同赋予不同权限,用户用密码登陆,同样也保证了系统数据的安全性。

第五章 系统实施

5.1、开发工具简介

本系统的前端开发工具,我选择了Visual Basic60,后台数据库采用Access2000。

511 VB简介

Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。

512 VB功能特点

 具有面向对象的可视化设计工具

在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。

 事件驱动的编程机制

事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。

 提供了易学易用的应用程序集成开发环境

在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。

 结构化的程序设计语言

VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:

 强大的数值和字符串处理功能

 丰富的图形指令,可方便地绘制各种图形

 提供静态和动态数组,有利于简化内存的管理

 过程可递归调用,使程序更为简练

 支持随机文件和顺序文件的访问

 提供了一个可供应用程序调用的包含多种类型的图标库

 具有完善的运行出错处理

 支持多种数据库系统的访问

利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。

 支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术

 完备的HELP联机帮助功能

与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴 *** 作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。

VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执 行是由外来事件决定的。因此是“事件”驱动的。

编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。

在VB中,窗体实际上是一个对象,VB的窗体含有许多内嵌特性,这使得用户界面部分的建立像是从一个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming)

513 VB中的基本概念

对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。

属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。

方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。

事件:就是对象对用户各种 *** 作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。

控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以内设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。

514 Access2000数据库简介

作为Microsoft的office套件产品之一,access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能 *** 作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型机及大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。

Access还提供windows *** 作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。

Access的总体结构

Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和模块。

表 用户定义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。

查询 为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。

窗体 窗体是主要的人机接口。大量的 *** 作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applicatinns(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向导)来建立标准的Windows窗体。

报表 为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。

宏 为了响应已定义的事件,需要让Access去执行一个或多个 *** 作,而宏就是对这些 *** 作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。

模块 包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。

5.2 系统实现

521系统管理模块实现

523入库模块的实现

524 出库模块实现

525设备采购模块实现,程序略

527设备代码模块实现

529 *** 作日志模块实现

第六章 系统使用说明

参考文献:

1. 数据库系统原理教程 王珊 陈红 清华大学出版社

2. 管理信息系统 王虎 张俊 武汉理工大学出版社

3. Visual Basic 数据库开发 EWinemiller,JRoff BHeyman,RGroom 著 清华大学出版社

4. PowerBuilder 80数据库系统开发实例导航 何旭洪 余建英 人民邮电出版社

5. VB6从入门道精通 『美』Gary cornell 著 北京希望电子出版社

6 managing Information Systems David LAnderson著 清华大学出版社

7 Management Information Systems Raymond Mcleod,Jc George Schell 著 北京大学出版社

下面是清华大学软件工程专业考研的一些基本情况,希望能用得上。

初试科目 ①101思想政治理论

②201英语一

③301数学一

④408计算机学科专业基础综合

复试备注 复试时专业综合考试内容:软件工程、数据库原理

《全国计算机统考 计算机考研推荐经典教材 7本》

《计算机 *** 作系统(第三版)》 汤小丹、梁红兵、哲凤屏

《计算机 *** 作系统学习指导与题解(第二版)》 梁红兵、汤小丹、汤子瀛

《数据结构(C语言版)》 严蔚敏吴伟民

《数据结构题集(C语言版)——清华大学计算机系列教材》 严蔚敏、吴伟民、米宁 编著

《计算机网络(第5版)(含光盘)》 谢希仁 编著

《计算机组成原理--学习指导与习题解答(面向21世纪课程教材)》 唐朔飞 优惠价 278

《计算机组成原理(第2版)(附光盘)》 唐朔飞

《 *** 作系统——内核与设计原理(第4版)(国外计算机科学教材系列)》[美]William Stallings 著 魏迎梅、王涌 等译 邹鹏 校,电子工业出版社,2001-6第4版

《计算机 *** 作系统教程(第2版)——清华大学计算机系列教材》张尧学、史美林 编著,清华大学出版社,2000-8第2版

《计算机 *** 作系统教程(第2版)习题解答与实验指导》张尧学,清华大学出版社,2000-8第1版

《计算机系统结构(第2版)——清华大学计算机系列教材》郑纬民、汤志忠,清华大学出版社,1998-9第2版

《计算机组成与结构(第3版)——清华大学计算机系列教材》王爱英,清华大学出版社,2001-2第3版

《数据结构(用面向对象方法与C++描述)——清华大学计算机系列教材》殷人昆、陶永雷、谢若阳、盛绚华,清华大学出版社,1999-7第1版

《数据结构习题解析(用面向对象方法与C++语言描述)——清华大学计算机系列教材》殷人昆、徐孝凯,清华大学出版社,2002-4第1版

如今计算机专业也是一大热门考研专业,毕业以后不管去私企还是考公,都是不错的专业。为了帮助大家备考计算机专业考研,猎考考研小编整理分享“2022考研/2023考研清华大学计算机科学与技术专业报考指南”相关内容,一起来看看吧。

(一)清华大学计算机科学与技术专业介绍

所属院系:计算机科学与技术系

所属门类:(08)工学

一级学科:(0812)计算机科学与技术

(二)清华大学计算机科学与技术专业考试科目

计算机科学与技术①101 思想政治理论②201 英语 一③301 数学一④912 计算机专 业基础综合

(三)清华大学近几年计算机科学与技术专业考研复试分数线

年份专业代码招生专业学习方式总分政治英语专业课一专业课二2021081200计算机科学与技术-310505080702020081200计算机科学与技术-300454570702019081200计算机科学与技术-310505080802018081200计算机科学与技术-31050508080(四)计算机专业考点分享及参考书目

计算机专业考点分享及参考书目12022计算机数据结构常考考点:各类排序算法的特点及比较22022计算机数据结构常考考点:堆排序32022计算机数据结构常考考点:带权图的最短路径算法及应用42022计算机数据结构常考考点:对m阶B树定义的理解52022计算机数据结构常考考点:对无向连通图特性的理解62022计算机数据结构常考考点:森林与二叉树之间的转换以及转换过程中结点72022计算机数据结构常考考点:完全二叉树中有关结点个数计算82022计算机数据结构常考考点:二叉树的遍历92022计算机数据结构常考考点:线性表中单链表相关算法设计与实现102022计算机数据结构常考考点:队列和栈结构的概念理解(五)计算机专业考研考试科目院校分类

计算机考研:各省份考408统考的院校都有哪些?

计算机考研:只考 *** 作系统的院校

计算机考研专硕只考一门程序设计的院校汇总

计算机考研专硕只考一门计算机网络的院校汇总

计算机考研专硕只考一门软件工程的院校汇总

计算机类考研哪些学校只考试两门专业课?

计算机考研:专业课只考数据库原理考研院校汇总

计算机考研专硕只考计算机组成原理、数据结构的院校汇总

(五)其他相关专业

[083900]网络空间安全、083500]软件工程

(六)

参考资料:

历年计算机408统考试题

年份考研试题20212021全国硕士研究生考试计算机408部分试题及答案解析20202020全国硕士研究生考试-考研计算机试题及答案汇总20192019考研计算机各科知识点试题及答案解析汇总以上是小编为大家整理分享的“2022考研/2023考研清华大学计算机科学与技术专业报考指南”相关内容,希望对大家有帮助。祝大家考上理想的院校!更多计算机专业备考信息,敬请关注猎考计算机考研网!

推荐阅读

2022计算机考研:计算机学科基础综合408

2022计算机考研:计算机组成原理

考研有疑问、不知道如何总结考研考点内容、不清楚考研报名当地政策,点击底部咨询官网,免费领取复习资料:>

① 清华大学软件学院的教学成果

“清华大学软件学院人才培养模式的探索与实践”和“软件创新人才培养的课程体系与实验平台建设”分别获2006年、2008年清华大学教学成果一等奖,“清华大学软件拔尖创新人才培养实验区”入选2008年度教育部人才培养模式创新实验区。学院设有计算机软件本科专业和软件工程硕士学位教育,以培养具有良好的综合素质、良好的职业道德、扎实的软件理论和软件工程专业基础知识,具有良好的软件设计与实现能力、良好的项目管理能力、良好的交流与组织协调能力、较强的参与国际竞争能力和创新能力的计算机软件人才为目标,全力探索优秀软件人才的培养模式。先后确定了“案例教学”、“课程大作业”、“专业专题实践”、“强化英语训练”等实践教学策略和“教授备课制”、“论文盲评制”、“博士生开题四段制”等教学管理策略;同时为培养学生的创新创业意识、团队协作能力和综合职业素养,学院还设立软件学院科学研究奖学金项目(SSRT),主办清华大学软件设计大赛,与国内外知名软件企业联合举办软件创新人才高级训练营,鼓励学生参与国内外各类相关领域赛事,每年拿出10万余元支持学生的科学研究与实践项目。不仅如此,学院的科研平台也为学生提供了良好的参与科研活动的环境。现有在校学生889人,其中本科生251人,软件工程硕士541人,工学硕士45人,博士生52人。

② 求清华大学计算机科学与技术系软件学院下属学科的课程列表和用书

截至2015年12月10日,中大2015届毕业生的总体最终就业率为9438%,其中本科生就业率9277%,硕士生就业率9691%,博士生就业率9499%。中大2015届本科毕业生的转正月收入为6147元,硕士生毕业后的平均月收入为6764元,博士生7729元。

本科毕业生就业主要行业大类为:软件和信息技术服务业(1202%)、互联网和相关服务(1016%)。职业流向方面,较大的职业类为财务/税务/统计(116%)、互联网开发及应用(102%)、行政/后勤(99%),转正后的收入分别为6269元、7608元、5464元。转正后收入最高的职业类型是计算机与数据处理,达7758元。本科生中,4869%进民企,1925%进国企,进外企的占1275%,进政机关、部队的占748%。

目前已落实工作地域主要集中在广东省(7890%)。其中,广州市占4585%、深圳市占1889%和珠三角其他地区占1160%。

华工:本科生转正后月收入5751元

截至2015年12月10日,华南理工大学2015届共9377人参加就业,就业率9934%。其中,本科生就业率9903%;研究生就业率9983%。

报告显示,华工2015届本科毕业生三个月转正后的月收入为5751元。在学院方面,计算机科学与工程学院、软件学院转正月收入最高,分别为7526元、7525元;其次,为电子与信息学院、建筑学院,分别达到6811元、6662元。

从专业上看,计算机软件摘得头筹,本科毕业生转正月收入达到7769元。此外,计算机科学与技术(7584元)、网络工程(7050元)、软件工程(7321元)、信息与计算科学(7225元)等专业均超过7000元,均远超毕业生的平均收入(5751元)。

报告显示,毕业生进民营企业/个体所占比例最高,达到46%;其次为国有企业,占32%。值得一提的是,就业毕业生中,有3043%进了世界500强和中国500强企业。此外,主要就业的城市为广州(413%)、深圳(197%)、佛山(63%),毕业生三个月转正月收入分别为5911元、6558元、4853元。

③ 谁可以告诉我清华大学软件工程学院的大一新生有什么课程,课本是什么越详细越好。

是清华大学软件学院,不是清华大学软件工程学院。

以下是我大一到大四上学期上的一些课程,目前大四。

大一:

一元微积分

几何与代数(1)

体育(1)

工程图学基础

信息科学技术概论

专业素质教育

思想道德修养与法律基础

程序设计基础

电路原理

体育(2)

多元微积分

几何与代数(2)

电路原理实验

中国近现代史纲要

大学物理B(1)

Java程序设计与训练

电子工艺实习(集中)

大二:

体育(3)

高等微积分B

离散数学(1)

强化英语(1)

马克思主义基本原理

复变函数引论

大学物理B(2)

物理实验B(1)

体育(4)

数字逻辑电路

数字电子技术实验

离散数学(2)

强化英语(2)

数据结构与算法

概率论与数理统计

物理实验B(2)

现代生物学导论

程序设计实践

汇编语言程序设计

大三:

体育专项(1)

计算机组成原理(英)

计算机网络

*** 作系统

编译原理

数据库原理

形式语言与自动机

算法分析与设计基础

体育专项(2)

软件工程

信息系统安全

思想和中国特色社会主义理论体系概论

系统分析与控制

面向对象技术与应用

高级数据结构

大四:

专业课程实践

软件系统设计(英)

专业专题训练

通信原理概论

信息检索技术

④ 在清华软件学院学习是一种什么样的体验

当我还是一个高中生的时间(2006-2009年),OI圈子里盛行如许的说法:软件学院都不是什么好地方,程度跟谋略机(科学/工程/blahblah)比起来差远了。这个说法是有原理的:

但是,要是肯定要说差别,那么和万金油的主动化系相比,软件学院的讲授体系在谋略机这个学科上更埋头更深入;和电子系相比,那大概便是Microsoft和Intel的差别;而和谋略机系相比,我以为大概只故意态上的那一点点差别吧,然而这种心态上的差别,在大一之后,便已彻底消散了。

总之,我以为,在这里学习,和在清华的其他工科院系学习相比,你不会感觉到太大的差别。一开始,多数人都市为了GPA拼得不共戴天,比及其后搞明白GPA有什么用之后,大家就各奔东西,都朝着灼烁的将来出发了。

⑤ 求清华大学软件学院的所有教材

省省吧 ,清华各专业的课程学的非常多 而且教材好多一部分是国外的 比较难 其次他们的软件工程专业课可能有你们学校的两倍多

⑥ 清华大学软件学院有哪些系

清华大学软件学院下面只有一个专业是计算机软件

你看看下面网页有你需专要的所属有信息

//tsinghuaecn/qhdwzy/yxszjsp

⑦ 清华大学软件工程专业(本科)的各个学期的课程表

选修是自己选!必修也是!

清华是很开放的,只给你要修的课程和学分,你四年学完就行!哪个学期学什么自己决定!明白?

⑧ 清华大学软件工程专业课程安排

初试科目①101思想政治理论②201英语一③301数学一④408计算机学科专业基础综合复试备注复试时专业综合考试内容:软件工程、数据库原理《全国计算机统考计算机考研推荐经典教材7本》《计算机 *** 作系统(第三版)》汤小丹、梁红兵、哲凤屏《计算机 *** 作系统学习指导与题解(第二版)》梁红兵、汤小丹、汤子瀛《数据结构(C语言版)》严蔚敏吴伟民《数据结构题集(C语言版)——清华大学计算机系列教材》严蔚敏、吴伟民、米宁编著《计算机网络(第5版)(含光盘)》谢希仁编著《计算机组成原理--学习指导与习题解答(面向21世纪课程教材)》唐朔飞优惠价278《计算机组成原理(第2版)(附光盘)》唐朔飞《 *** 作系统——内核与设计原理(第4版)(国外计算机科学教材系列)》[美]WilliamStallings著魏迎梅、王涌等译邹鹏校,电子工业出版社,2001-6第4版《计算机 *** 作系统教程(第2版)——清华大学计算机系列教材》张尧学、史美林编著,清华大学出版社,2000-8第2版《计算机 *** 作系统教程(第2版)习题解答与实验指导》张尧学,清华大学出版社,2000-8第1版《计算机系统结构(第2版)——清华大学计算机系列教材》郑纬民、汤志忠,清华大学出版社,1998-9第2版《计算机组成与结构(第3版)——清华大学计算机系列教材》王爱英,清华大学出版社,2001-2第3版《数据结构(用面向对象方法与C++描述)——清华大学计算机系列教材》殷人昆、陶永雷、谢若阳、盛绚华,清华大学出版社,1999-7第1版《数据结构习题解析(用面向对象方法与C++语言描述)——清华大学计算机系列教材》殷人昆、徐孝凯,清华大学出版社,2002-4第1版

⑨ 清华大学软件工程软件工程都学哪些专业科目

清华复大学软制件工程课程设置

//doc88/p-317764875886

⑩ 清华大学软件学院的介绍

清华大学软件学院是2001年经国家教育部和国家计委联合发文批准成立的首批全国示范性软件学院之一,隶属于清华大学信息科学与技术学院。清华大学作为创办国家示范性软件学院的发起单位之一,清华大学软件学院以推进办学机制改革,探索软件人才培养模式,培养具有国际竞争力、高层次、创新性、应用型软件人才为使命,坚持“质量第一、素质与技术并重、理论与实践结合”的建院宗旨,以“教学立院、管理建院、学科兴院、科技强院”为办学理念,遵循“练中学、练中闯、练中创”的实践教学思想,追求并践行精品教育。几年来学院在人才培养、队伍建设、课程体系建设、教学模式创新、产学研结合等方面积极探索、锐意改革,取得了一定的成绩。

计算机科学与技术学习反思录

计算机理论的一个核心问题--从数学谈起:

记得当年大一入学,每周六课时高等数学,天天作业不断(那时是六日工作制)。颇有些同学惊呼走错了门:咱们这到底念的是什么系?不错,你没走错门,这就是计算机科学与技术系。我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有问题,但是做得不是那么尽如人意)。而计算机的理论研究,说到底了,如网络安全,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。

其实我们计算机系学数学光学高等数学是不够的(典型的工科院校一般都开的是高等数学),我们应该像数学系一样学一下数学分析(清华计算机系开的好像就是数学分析),数学分析这门科学,咱们学计算机的人对它有很复杂的感情。在于它是偏向于证明型的数学课程,这对我们培养良好的分析能力极有帮助。我的软件工程学导师北工大数理学院的王仪华先生就曾经教导过我们,数学系的学生到软件企业中大多作软件设计与分析工作,而计算机系的学生做程序员的居多,原因就在于数学系的学生分析推理能力,从所受训练的角度上要远远在我们之上。当年出现的怪现象是:计算机系学生的高中数学基础在全校数一数二(希望没有冒犯其它系的同学),教学课时数也仅次于数学系,但学完之后的效果却不尽如人意。难道都是学生不努力吗,我看未见得,方向错了也说不一定,其中原因何在,发人深思。

我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。通常非数学专业的所谓“高等数学”,无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。说得难听一点,对计算机系学生而言,追求算来算去的所谓“工程数学”已经彻底地走进了误区。记上一堆曲面积分的公式,难道就能算懂了数学?那倒不如现用现查,何必费事记呢?再不然直接用Mathematics或是Matalab好了。

我在系里最爱做的事情就是给学弟学妹们推荐参考书。中文的数学分析书,一般都认为以北大张筑生老师的“数学分析新讲”为最好。万一你的数学实在太好,那就去看菲赫金哥尔茨的“微积分学教程”好了--但我认为没什么必要,毕竟你不想转到数学系去。吉米多维奇的“数学分析习题集”也基本上是计算型的东东。书的名气很大,倒不见得适合我们,还是那句话,重要的是数学思想的建立,生活在信息社会里我们求的是高效,计算这玩意还是留给计算机吧。不过现在多用的似乎是复旦大学的《数学分析》也是很好的教材。

中国的所谓高等代数,就等于线性代数加上一点多项式理论。我以为这有好的一面,因为可以让学生较早感觉到代数是一种结构,而非一堆矩阵翻来覆去。这里不得不提南京大学林成森,盛松柏两位老师编的“高等代数”,感觉相当舒服。此书相当全面地包含了关于多项式和线性代数的基本初等结果,同时还提供了一些有用的又比较深刻的内容,如Sturm序列,Shermon-Morrison公式,广义逆矩阵等等。可以说,作为本科生如能吃透此书,就可以算高手。国内较好的高等代数教材还有清华计算机系用的那本,清华出版社出版,书店里多多,一看就知道。从抽象代数的观点来看,高等代数里的结果不过是代数系统性质的一些例子而已。莫宗坚先生的《代数学》里,对此进行了深刻的讨论。然而莫先生的书实在深得很,作为本科生恐怕难以接受,不妨等到自己以后成熟了一些再读。

正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。

概率论与数理统计这门课很重要,可惜大多数院校讲授这门课都会少些东西。少了的东西现在看至少有随机过程。到毕业还没有听说过Markov过程,此乃计算机系学生的耻辱。没有随机过程,你怎么分析网络和分布式系统?怎么设计随机化算法和协议?据说清华计算机系开有“随机数学”,早就是必修课。另外,离散概率论对计算机系学生来说有特殊的重要性。而我们国家工程数学讲的都是连续概率。现在,美国已经有些学校开设了单纯的“离散概率论”课程,干脆把连续概率删去,把离散概率讲深些。我们不一定要这么做,但应该更加强调离散概率是没有疑问的。这个工作我看还是尽早的做为好。

计算方法学(有些学校也称为数学分析学)是最后一门由数理学院给我们开的课。一般学生对这门课的重视程度有限,以为没什么用。不就是照套公式嘛!其实,做图形图像可离不开它,密码学搞深了也离不开它。而且,在很多科学工程中的应用计算,都以数值的为主。这门课有两个极端的讲法:一个是古典的“数值分析”,完全讲数学原理和算法;另一个是现在日趋流行的“科学与工程计算”,干脆教学生用软件包编程。我个人认为,计算机系的学生一定要认识清楚我们计算机系的学生为什么要学这门课,我是很偏向于学好理论后用计算机实现的,最好使用C语言或C++编程实现。向这个方向努力的书籍还是挺多的,这里推荐大家高等教育出版社(CHEP)和施普林格出版社(Springer)联合出版的《计算方法(Computational Methods)》,华中理工大学数学系写的(现华中科技大学),这方面华科大做的工作在国内应算是比较多的,而个人认为以这本最好,至少程序设计方面涉及了:任意数学函数的求值,方程求根,线性方程组求解,插值方法,数值积分,场微分方程数值求解。李庆扬的那本则理论性过强,与实际应用结合得不太紧。

每个学校本系里都会开一门离散数学,涉及集合论,图论,和抽象代数,数理逻辑。不过,这么多内容挤在离散数学一门课里,是否时间太紧了点?另外,计算机系学生不懂组合和数论,也是巨大的缺陷。要做理论,不懂组合或者数论吃亏可就太大了。从理想的状态来看,最好分开六门课:集合,逻辑,图论,组合,代数,数论。这个当然不现实,因为没那么多课时。也许将来可以开三门课:集合与逻辑,图论与组合,代数与数论。(这方面我们学校已经着手开始做了)不管课怎么开,学生总一样要学。下面分别谈谈上面的三组内容。

古典集合论,北师大出过一本《基础集合论》不错。

数理逻辑,中科院软件所陆钟万教授的《面向计算机科学的数理逻辑》就不错。现在可以找到陆钟万教授的讲课录像,自己去看看吧。总的来说,学集合/逻辑起手不难,普通高中生都能看懂。但越往后越感觉深不可测。

学完以上各书之后,如果你还有精力兴趣进一步深究,那么可以试一下GTM系列中的《Introduction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。这两本都有世界图书出版社的引进版。你如果能搞定这两本,可以说在逻辑方面真正入了门,也就不用再浪费时间听我瞎侃了。

据说全中国最多只有三十个人懂图论。此言不虚。图论这东东,技巧性太强,几乎每个问题都有一个独特的方法,让人头痛。不过这也正是它魅力所在:只要你有创造性,它就能给你成就感。我的导师说,图论里面随便揪一块东西就可以写篇论文。大家可以体会里面内容之深广了吧!国内的图论书中,王树禾老师的“图论及其算法”非常成功。一方面,其内容在国内教材里算非常全面的。另一方面,其对算法的强调非常适合计算机系(本来就是科大计算机系教材)。有了这本书为主,再参考几本翻译的,如Bondy & Murty的《图论及其应用》,人民邮电出版社翻译的《图论和电路网络》等等,就马马虎虎,对本科生足够了。再进一步,世界图书引进有GTM系列的"Modern Graph Theory"。此书确实经典!国内好象还有一家出版了个翻译版。不过,学到这个层次,还是读原版好。搞定这本书,也标志着图论入了门。 外版的书好就好在这里,最新的科技成果里面都有论述,别的先不说,至少是“紧跟时代的理论知识”。

组合感觉没有太适合的国产书。还是读Graham和Knuth等人合著的经典“具体数学”吧,西安电子科技大学出版社有翻译版。

抽象代数,国内经典为莫宗坚先生的“代数学”。此书是北大数学系教材,深得好评。然而对本科生来说,此书未免太深。可以先学习一些其它的教材,然后再回头来看“代数学”。国际上的经典可就多了,GTM系列里就有一大堆。推荐一本谈不上经典,但却最简单的,最容易学的:这本“Introduction to Linear and Abstract Algebra"非常通俗易懂,而且把抽象代数和线性代数结合起来,对初学者来说非常理想,我校比较牛的同学都有收藏。

数论方面,国内有经典而且以困难著称的”初等数论“(潘氏兄弟著,北大版)。再追溯一点,还有更加经典(可以算世界级)并且更加困难的”数论导引“(华罗庚先生的名著,科学版,九章书店重印,繁体的看起来可能比较困难)。把基础的几章搞定一个大概,对本科生来讲足够了。但这只是初等数论。本科毕业后要学计算数论,你必须看英文的书,如Bach的"Introduction to Algorithmic Number Theory"。

计算机科学理论的根本,在于算法。现在很多系里给本科生开设算法设计与分析,确实非常正确。环顾西方世界,大约没有一个三流以上计算机系不把算法作为必修的。算法教材目前公认以Corman等著的"Introduction to Algorithms"为最优。对入门而言,这一本已经足够,不需要再参考其它书。

再说说形式语言与自动机。我看过北邮的教材,应该说写的还清楚。但是,有一点要强调:形式语言和自动机的作用主要在作为计算模型,而不是用来做编译。事实上,编译前端已经是死领域,没有任何open problems,北科大的班晓娟博士也曾经说过,编译的技术已相当成熟。如果为了这个,我们完全没必要去学形式语言--用用yacc什么的就完了。北邮的那本在国内还算比较好,但是在深度上,在跟可计算性的联系上都有较大的局限,现代感也不足。所以建议有兴趣的同学去读英文书,不过国内似乎没引进这方面的教材。可以去互动出版网上看一看。入门以后,把形式语言与自动机中定义的模型,和数理逻辑中用递归函数定义的模型比较一番,可以说非常有趣。现在才知道,什么叫“宫室之美,百官之富”!

计算机科学和数学的关系有点奇怪。二三十年以前,计算机科学基本上还是数学的一个分支。而现在,计算机科学拥有广泛的研究领域和众多的研究人员,在很多方面反过来推动数学发展,从某种意义上可以说是孩子长得比妈妈还高了。但不管怎么样,这个孩子身上始终流着母亲的血液。这血液是the mathematical underpinning of computer science(计算机科学的数学基础),也就是理论计算机科学。原来在东方大学城图书馆中曾经看过一本七十年代的译本(书皮都没了,可我就爱关注这种书),大概就叫《计算机数学》。那本书若是放在当时来讲决是一本好书,但现在看来,涵盖的范围还算广,深度则差了许多,不过推荐大一的学生倒可以看一看,至少可以使你的计算数学入入门。

最常和理论计算机科学放在一起的一个词是什么?答:离散数学。这两者的关系是如此密切,以至于它们在不少场合下成为同义词。(这一点在前面的那本书中也有体现)传统上,数学是以分析为中心的。数学系的同学要学习三四个学期的数学分析,然后是复变函数,实变函数,泛函数等等。实变和泛函被很多人认为是现代数学的入门。在物理,化学,工程上应用的,也以分析为主。

随着计算机科学的出现,一些以前不太受到重视的数学分支突然重要起来。人们发现,这些分支处理的数学对象与传统的分析有明显的区别:分析研究的问题解决方案是连续的,因而微分,积分成为基本的运算;而这些分支研究的对象是离散的,因而很少有机会进行此类的计算。人们从而称这些分支为“离散数学”。“离散数学”的名字越来越响亮,最后导致以分析为中心的传统数学分支被相对称为“连续数学”。

离散数学经过几十年发展,基本上稳定下来。一般认为,离散数学包含以下学科 :

1) 集合论,数理逻辑与元数学。这是整个数学的基础,也是计算机科学的基础。

2) 图论,算法图论;组合数学,组合算法。计算机科学,尤其是理论计算机科学的核心是

算法,而大量的算法建立在图和组合的基础上。

3) 抽象代数。代数是无所不在的,本来在数学中就非常重要。在计算机科学中,人们惊讶地发现代数竟然有如此之多的应用。

但是,理论计算机科学仅仅就是在数学的上面加上“离散”的帽子这么简单吗?一直到大约十几年前,终于有一位大师告诉我们:不是。DEKnuth(他有多伟大,我想不用我废话了)在Stanford开设了一门全新的课程Concrete Mathematics。 Concrete这个词在这里有两层含义:

首先:对abstract而言。Knuth认为,传统数学研究的对象过于抽象,导致对具体的问题关心不够。他抱怨说,在研究中他需要的数学往往并不存在,所以他只能自己去创造一些数学。为了直接面向应用的需要,他要提倡“具体”的数学。在这里我做一点简单的解释。例如在集合论中,数学家关心的都是最根本的问题--公理系统的各种性质之类。而一些具体集合的性质,各种常见集合,关系,映射都是什么样的,数学家觉得并不重要。然而,在计算机科学中应用的,恰恰就是这些具体的东西。Knuth能够首先看到这一点,不愧为当世计算机第一人。其次,Concrete是Continuous(连续)加上discrete(离散)。不管连续数学还是离散数学,都是有用的数学!

理论与实际的结合--计算机科学研究的范畴

前面主要是从数学角度来看的。从计算机角度来看,理论计算机科学目前主要的研究领域包括:可计算性理论,算法设计与复杂性分析,密码学与信息安全,分布式计算理论,并行计算理论,网络理论,生物信息计算,计算几何学,程序语言理论等等。这些领域互相交叉,而且新的课题在不断提出,所以很难理出一个头绪来。想搞搞这方面的工作,推荐看中国计算机学会的一系列书籍,至少代表了我国的权威。下面随便举一些例子。

由于应用需求的推动,密码学现在成为研究的热点。密码学建立在数论(尤其是计算数论),代数,信息论,概率论和随机过程的基础上,有时也用到图论和组合学等。很多人以为密码学就是加密解密,而加密就是用一个函数把数据打乱。这样的理解太浅显了。

现代密码学至少包含以下层次的内容:

第一,密码学的基础。例如,分解一个大数真的很困难吗?能否有一般的工具证明协议正确?

第二,密码学的基本课题。例如,比以前更好的单向函数,签名协议等。

第三,密码学的高级问题。例如,零知识证明的长度,秘密分享的方法。

第四,密码学的新应用。例如,数字现金,叛徒追踪等。

在分布式系统中,也有很多重要的理论问题。例如,进程之间的同步,互斥协议。一个经典的结果是:在通信信道不可靠时,没有确定型算法能实现进程间协同。所以,改进TCP三次握手几乎没有意义。例如时序问题。常用的一种序是因果序,但因果序直到不久前才有一个理论上的结果例如,死锁没有实用的方法能完美地对付。例如, *** 作系统研究过就自己去举吧!

如果计算机只有理论,那么它不过是数学的一个分支,而不成为一门独立的科学。事实上,在理论之外,计算机科学还有更广阔的天空。

我一直认为,4年根本不够学习计算机的基础知识,因为面太宽了,8年,应该差不多了

这方面我想先说说我们系在各校普遍开设的《计算机基础》。在高等学校开设《计算机基础课程》是我国高教司明文规定的各专业必修课程要求。主要内容是使学生初步掌握计算机的发展历史,学会简单的使用 *** 作系统,文字处理,表格处理功能和初步的网络应用功能。但是在计算机科学系教授此门课程的目标决不能与此一致。在计算机系课程中目标应是:让学生较为全面的了解计算机学科的发展,清晰的把握计算机学科研究的方向,发展的前沿即每一个课程在整个学科体系中所处的地位。搞清各学科的学习目的,学习内容,应用领域。使学生在学科学习初期就对整个学科有一个整体的认识,以做到在今后的学习中清楚要学什么,怎么学。计算机基本应用技能的位置应当放在第二位或更靠后,因为这一点对于本系的学生应当有这个摸索能力。这一点很重要。推荐给大家一本书:机械工业出版社的《计算机文化》(New Perspective of Computer Science),看了这本书我才深刻的体会到自己还是个计算机科学初学者,才比较透彻的了解了什么是计算机科学。

一个一流计算机系的优秀学生决不该仅仅是一个编程高手,但他一定首先是一个编程高手。我上大学的时候,第一门专业课是C语言程序设计,念计算机的人从某种角度讲相当一部分人是靠写程序吃饭的。关于第一程序设计语言该用哪一种。我个人认为,用哪种语言属于末节,关键在养成良好的编程习惯。当年老师对我们说,打好基础后学一门新语言只要一个星期。现在我觉得根本不用一个星期,前提是先把基础打好。不要再犹豫了,学了再说,等你抉择好了,别人已经会了几门语言了。

汇编语言和微机原理是两门特烦人的课。你的数学/理论基础再好,也占不到什么便宜。这两门课之间的次序也好比先有鸡还是先有蛋,无论你先学哪门,都会牵扯另一门课里的东西。所以,只能静下来慢慢琢磨。这就是典型的工程课,不需要太多的聪明和顿悟,却需要水滴石穿的渐悟。有关这两门课的书,计算机书店里不难找到。弄几本最新的,对照着看吧。组成原理推荐《计算机组成与结构》清华大学王爱英教授写的。汇编语言大家拿8086/8088入个门,之后一定要学80x86汇编语言。实用价值大,不落后,结构又好,写写高效病毒,高级语言里嵌一点汇编,进行底层开发,总也离不开他,推荐清华大学沈美明的《IBM-PC汇编语言程序设计》。有些人说不想了解计算机体系结构,也不想制造计算机,所以诸如计算机原理,汇编语言,接口之类的课觉得没必要学,这样合理吗?显然不合理,这些东西迟早得掌握,肯定得接触,而且,这是计算机专业与其他专业学生相比的少有的几项优势。做项目的时候,了解这些是非常重要的,不可能说,仅仅为了技术而技术,只懂技术的人最多做一个编码工人,而永远不可能全面地了解整个系统的设计,而编码工人是越老越不值钱。关于组成原理还有个讲授的问题,在我学这门课程时老师讲授时把CPU工作原理誉微程序设计这一块略掉了,理由是我们国家搞CPU技术不如别的国家,搞了这么长时间好不容易出了个龙芯比Intel的还差个十万八千里,所以建议我们不要学了。我看这在各校也未见得不是个问题吧!若真是如他所说,那中国的计算机科学哪个方向都可以停了,软硬件,应用,有几项搞得过美国,搞不过别人就不搞了,那我们坐在这里干什么?教学的观念需要转变的。

模拟电路这东东,如今不仅计算机系学生搞不定,电子系学生也多半害怕。如果你真想软硬件通吃,那么建议你先看看邱关源的“电路原理”,也许此后再看模拟电路底气会足些。教材:康华光的“电子技术基础”(高等教育出版社)还是不错的(我校电子系在用)。有兴趣也可以参考童诗白的书。

数字电路比模拟电路要好懂得多。清华大学阎石的书算一本好教材,遗憾的一点是集成电路讲少了些。真有兴趣,看一看大规模数字系统设计吧(北航那本用的还比较多)。

计算机系统结构该怎么教,国际上还在争论。国内能找到的较好教材为Stallings的"Computer Organization and Architecture:Designing for Performance"(清华影印

本)。国际上最流行的则是“Computer architecture: aquantitative approach", by Patterson & Hennessy。

*** 作系统可以随便选用《 *** 作系统的内核设计与实现》和《现代 *** 作系统》两书之一。这两部都可以算经典,唯一缺点就是理论上不够严格。不过这领域属于Hardcore System,所以在理论上马虎一点也情有可原。想看理论方面的就推荐清华大学出版社《 *** 作系统》吧,高教司司长张尧学写的,我们教材用的是那本。 另外推荐一本《Windows *** 作系统原理》机械工业出版社的,这本书是我国 *** 作系统专家在微软零距离考察半年,写作历时一年多写成的,教 *** 作系统的专家除了清华大学的张尧学(现高教司司长)几乎所有人都参加了。Bill Gates亲自写序。里面不但结合windows2000,xp详述 *** 作系统的内核,而且后面讲了一些windows编程基础,有外版书的味道,而且上面一些内容可以说在国内外只有那本书才有对windows内核细致入微的介绍,

如果先把形式语言学好了,则编译原理中的前端我看只要学四个算法:最容易实现的递归下降;最好的自顶向下算法LL(k);最好的自底向上算法LR(k);LR(1)的简化SLR(也许还有另一简化LALR)。后端完全属于工程性质,自然又是another story。

推荐教材:Kenneth CLouden写的“Compiler Construction Principles and Practice”即是《编译原理及实践》(机械工业出版社的译本)

学数据库要提醒大家的是,会用VFP,VB, Power builder不等于懂数据库。(这世界上自以为懂数据库的人太多了!)数据库设计既是科学又是艺术,数据库实现则是典型的工程。所以从某种意义上讲,数据库是最典型的一门计算机课程--理工结合,互相渗透。另外推荐大家学完软件工程学后再翻过来看看数据库技术,又会是一番新感觉。推荐教材:Abraham Silberschatz等著的 "Database System Concepts"作为知识的完整性,还推荐大家看一看机械工业出版社的《数据仓库》译本。

计算机网络的标准教材还是来自Tanenbaum的《Computer Networks》(清华大学有译本)。还有就是推荐谢希仁的《计算机网络教程》(人民邮电出版社)问题讲得比较清楚,参考文献也比较权威。不过,网络也属于Hardcore System,所以光看书是不够的。建议多读RFC,里可以按编号下载RFC文档。从IP的读起。等到能掌握10种左右常用协议,就没有几个人敢小看你了。再做的工作我看放在网络设计上就比较好了。

数据结构的重要性就不言而喻了,学完数据结构你会对你的编程思想进行一番革命性的洗礼,会对如何建立一个合理高效的算法有一个清楚的认识。对于算法的建立我想大家应当注意以下几点:

当遇到一个算法问题时,首先要知道自己以前有没有处理过这种问题如果见过,那么你一般会顺利地做出来;如果没见过,那么考虑以下问题:

1 问题是否是建立在某种已知的熟悉的数据结构(例如,二叉树)上如果不是,则要自己设计数据结构。

2 问题所要求编写的算法属于以下哪种类型(建立数据结构,修改数据结构,遍历,查找,排序)

3 分析问题所要求编写的算法的数学性质是否具备递归特征(对于递归程序设计,只要设计出合理的参数表以及递归结束的条件,则基本上大功告成)

4 继续分析问题的数学本质根据你以前的编程经验,设想一种可能是可行的解决办法,并证明这种解决办法的正确性如果题目对算法有时空方面的要求,证明你的设想满足其要求一般的,时间效率和空间效率难以兼得有时必须通过建立辅助存储的方法来节省时间

5 通过一段时间的分析,你对解决这个问题已经有了自己的一些思路或者说,你已经可以用自然语言把你的算法简单描述出来继续验证其正确性,努力发现其中的错误并找出解决办法在必要的时候(发现了无法解决的矛盾),推翻自己的思路,从头开始构思

6 确认你的思路可行以后,开始编写程序在编写代码的过程中,尽可能把各种问题考虑得详细,周密程序应该具有良好的结构,并且在关键的地方配有注释

7 举一个例子,然后在纸上用笔执行你的程序,进一步验证其正确性当遇到与你的设想不符的情况时,分析问题产生的原因是编程方面的问题还是算法思想本身有问题

8 如果程序通过了上述正确性验证,那么在将其进一步优化或简化。

9 撰写思路分析,注释

对于具体的算法思路,只能靠你自己通过自己的知识和经验来加以获得,没有什么特定的规律(否则程序员全部可以下岗了,用机器自动生成代码就可以了)要有丰富的想象力,就是说当一条路走不通时,不要钻牛角尖,要敢于推翻自己的想法我也只不过是初学者,说出上面的一些经验,仅供大家参考和讨论。

关于人工智能,我觉得的也是非常值得大家仔细研究的,虽然不能算是刚刚兴起的学科了,但是绝对是非常有发展前途的一门学科。我国人工智能创始人之一,北京科技大学涂序彦教授(这老先生是我的导师李小坚博士的导师)对人工智能这样定义:人工智能是模

是清华大学软件学院,不是清华大学软件工程学院。

以下是我大一到大四上学期上的一些课程,目前大四。

大一:

一元微积分

几何与代数(1)

体育(1)

工程图学基础

信息科学技术概论

专业素质教育

思想道德修养与法律基础

程序设计基础

电路原理

体育(2)

多元微积分

几何与代数(2)

电路原理实验

中国近现代史纲要

大学物理B(1)

Java程序设计与训练

电子工艺实习(集中)

大二:

体育(3)

高等微积分B

离散数学(1)

强化英语(1)

马克思主义基本原理

复变函数引论

大学物理B(2)

物理实验B(1)

体育(4)

数字逻辑电路

数字电子技术实验

离散数学(2)

强化英语(2)

数据结构与算法

概率论与数理统计

物理实验B(2)

现代生物学导论

程序设计实践

汇编语言程序设计

大三:

体育专项(1)

计算机组成原理(英)

计算机网络

*** 作系统

编译原理

数据库原理

形式语言与自动机

算法分析与设计基础

体育专项(2)

软件工程

信息系统安全

毛泽东思想和中国特色社会主义理论体系概论

系统分析与控制

面向对象技术与应用

高级数据结构

大四:

专业课程实践

软件系统设计(英)

专业专题训练

通信原理概论

信息检索技术

以上就是关于清华大学计算机科学与技术专业开设哪些课程全部的内容,包括:清华大学计算机科学与技术专业开设哪些课程、清华大学计算机网络教程 学习顺序、数据库系统原理论文等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9659831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存