哈尔滨工业大学 哈尔滨工业大学

计算机专业导论之语言与算法

所属微专业:

图片
课程概述

本子课程是计算机专业导论的第二部分--计算机专业导论之语言与算法。

计算机专业导论是你进入大学学习计算机科学与技术学科的第一门课程,既是计算机专业的入门课程,又是计算机专业学习的指南。计算机专业导论分为三门子课程进行介绍,一是计算机专业导论之思维与系统(覆盖第1、2、3和4讲内容),二是计算机专业导论之语言与算法(覆盖第5、6、7和8讲),三是计算机专业导论之学科与专业(覆盖第9和10讲以及实验1、2和3讲内容)。


有人说,“计算机专业就是学习各种‘计算机语言’,学习如何编写程序”,本课程试图纠正这种观念,引导你站在一定的高度看这些问题,给你建立一个清晰完整的“计算机世界观”,使你站得高看得远,看得远看得真。 也有人急于学习各种计算机知识,怎么这个我也不知道,那个我也不知道?有些知识不知道没有关系(想知道,通过百度、维基百科一搜就可以),但关键的计算思维你不能不知道,本课程将为你介绍存在于计算机学科中的经典的伟大的计算思维,使你深刻理解计算机中的程序是如何运行的,机器为什么能够执行你编写的程序?这些思维对你将来“真正的会编程序”将起到基石的作用。当前,计算机专业的毕业生是最抢手的高薪人才(据美国权威机构统计2008-2018期间计算学科人才是最抢手的人才),但学习计算机专业的我们为何却没有感觉得到呢?那是因为你只学会用一门语言书写程序,而没有对学科和专业有深入的理解,对专业的课程体系没有理解,那么哪些课程是最重要的课程呢,面对如此众多的课程,我该如何学习呢,本课程将回答你的这些疑问!

本课程将以新视角新思维,使你初步认识和了解计算机科学与技术学科,了解计算机科学与技术学科的基本思维、问题求解框架及典型的方法论,初步了解计算机科学与技术学科的研究对象及科学技术体系,初步了解计算机科学与技术学科的知识结构及能力培养思路,进而理解本科生计算机专业能力培养与课程设置思想、核心课程的定位及作用,提高后续课程的学习兴趣。


本课程将以“机器自动计算==>机器难于计算==>计算与社会/自然的融合”为脉络,如下图示意,引导你建立“计算机世界观”,引导你理解和了解计算机专业究竟是做什么的。在有了一定的基础和认识后,为你介绍计算机科学与技术学科的研究方向和研究范畴。再进一步通过典型课程系列的介绍,为你指明如何培养自己计算机专业知识的路径。


     

你可以将本课程比作计算机类课程的“论语”:论语的重要性大家都知道,“半部论语治天下”,本课程的重要性不言而喻;论语是古人从小学习的,学习时理解有一定的难度,本课程也类似,因为对初学者而言将出现大量的概念和术语,但这是学习计算机专业必须跨过的一道门槛。只要你有耐心,只要你坚持听完课程的视频,你就能跨过这道门槛,你也一定能跨过这道门槛。


证书要求

本课程不提供证书服务。

预备知识

授课大纲

本子课程是计算机专业导论的第二部分--计算机专业导论之语言与算法。

计算机专业导论的完整教学内容暨各子课程教学大纲如下所述。

计算机专业导论之思维与系统

第1讲 计算机、计算与计算思维

-101课程导引--为什么要学?

-102本课程学什么?

-103怎样学本课程-本专业?

-104人计算与机器自动计算

-105机器自动计算需要解决的问题

-106计算系统发展趋势

第2讲 符号化、计算化与自动化

-201本讲概述

-202信息如何用0和1表示

-203如何用0和1进行计算

-204如何将减法变为加法

-205如何用逻辑-用电路实现加法

第3讲 冯.诺依曼计算机—机器级程序及其执行

-301本讲概述

-302冯.诺依曼计算机的思想和构成

-303自动存储与存储器 

-304机器级程序与机器级指令

-305机器级程序执行机制

-306机器级程序执行过程模拟

第4讲 现代计算机—复杂环境下程序执行

-401本讲概述

-402计算机的存储体系

-403存储体系的分工-合作与协同管理 

-404操作系统对资源的分工管理

-405操作系统对资源的合作与协同管理

-406现代计算机的演进


计算机专业导论之语言与算法

第5讲 由机器语言到高级语言---程序编写编译

-501本讲概述

-502由机器语言到高级语言

-503高级语言的基本构成要素 

-504用高级语言构造程序

-505计算机语言与编译器

-506计算机语言的发展

第6讲 程序与递归:组合、抽象与构造

-601本讲概述

-602程序的作用和本质

-603运算式的组合-抽象与构造 

-604递归与迭代

-605运用递归与迭代

第7讲 算法-程序与计算系统之灵魂

-701本讲概述

-702算法与算法类问题求解

-703数学建模与算法策略设计 

-704算法的数据结构设计

-705算法的控制结构设计

-706算法实现与程序设计

-707算法分析与计算复杂性

第8讲 怎样研究算法-遗传算法研究示例

-801本讲概述

-802可求解与难求解问题

-803遗传算法的源起-生物学中的遗传与进化 

-804计算学科的遗传算法

-805遗传算法为什么可以求解NPC问题

-806怎样用遗传算法求解应用问题

-807怎样研究算法暨遗传算法的总结


计算机专业导论之学科与专业

第9讲 计算机科学与技术学科

-901本讲概述-个人发展规划和大学如何学习

-902什么是计算机科学与技术学科

-903学科典型的研究方向综合介绍 

-904软件工程

-905云-云服务-软件服务工程

-90X若干学科方向介绍

实验第1讲 Python语言入门

实验第2讲 利用Python求解TSP问题

第10讲 计算机科学与技术专业

-A01什么是计算机科学与技术专业(CC2001/CC2005计算相关专业的划分)

-A02 ACM/IEEE-CS课程规划CS2013简要解读 

-A03典型系列课程介绍-计算机数学理论类课程

-A04典型系列课程介绍-计算机硬件与工程类课程

-A05典型系列课程介绍-计算机软件与工程类课程

-A06典型系列课程介绍-应用主线类课程和实践主线类课程

实验第3讲 利用Python编写蒙特卡洛算法


参考资料

课程使用教材:

1. 《大学计算机(第2版)—计算与信息素养》,战德臣,聂兰顺等著,高等教育出版社,第2版,2014.

2.《大学计算机—计算思维导论》,战德臣,聂兰顺等著,电子工业出版社,第1版,2013. 

3. 《大学计算机--理解和运用计算思维》,战德臣,人民邮电出版社,第1版,2018


授课老师
战德臣

战德臣

所属微专业

所属系列课程

分享