哈尔滨工业大学

计算机专业导论

图片
课程概述


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


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


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

     


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

这是本课程第三期开课。

证书要求

课程总计100分,将组织两次测验(每次测验15题30分,一次在第4讲结束后,一次在第8讲结束后)和一次期末考试(15题30分,在第10讲结束后),课堂交流讨论分10分,参与讨论达到一定次数即可获得。所有测验题和考试题均为客观题。每讲课件中有模拟练习题开放,你可以进行练习,测验和考试题目均来自于这些模拟练习题,略做变化。


设置“合格”(达到60分)、"优秀"(达到80分)两档课程标准,由任课教师签发课程结业证书,其中成绩“优秀”者将颁发优秀证书。

预备知识

授课大纲


计算机专业导论包括三个部分内容:

第一部分 思维与系统。此部分主要强调“抽象与自动化”和“程序执行”及其环境的理解。

第二部分 语言与算法。此部分主要强调算法及其实现。本部分在介绍计算思维的基础上,还简要引入Python语言进行编程实践,但编程实践的内容不作为必修要求,仅作为兴趣学习参考。

第三部分 学科与专业。此部分主要是关于学科与专业方面的介绍,视野拓展。


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

第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计算机语言的发展

编程实践第1讲 Python语言入门

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

-601本讲概述

-602程序的作用和本质

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

-604递归与迭代

-605运用递归与迭代

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

-701本讲概述

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

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

-704算法的数据结构设计

-705算法的控制结构设计

-706算法实现与程序设计

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

编程实践第2讲 利用Python求解TSP问题

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

-801本讲概述

-802可求解与难求解问题

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

-804计算学科的遗传算法

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

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

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

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

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

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

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

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

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

-904软件工程

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

-90X若干学科方向介绍

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

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

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

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

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

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

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


参考资料

课程使用教材:

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


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


常见问题

1、如何把握和学习本门课程?

你知道中医吧?人身体上分布着若干“穴位”,不同的穴位链接起来就是“脉络”,不同的脉络可治不同的病,这是中医的基本认识。但你知道了脉络,为什么还不能治病呢,这是因为你没有能力让气息在脉络间流动,你做不到这点,而要做到这点,则就需要长期的锻炼。因此,知识好比是穴位,而一年级时学习本门课程,是学习这个“脉络”,你要熟悉这些脉络,要知道哪些脉络能治哪些病。当你经过若干年的不断努力,深入理解知识,做到知识的融会贯通时,你就能将思维转变成能力--应用计算思维的能力。

大学一年级就像是一张白纸,画个什么样的底图,对后来成为什么样的作品很重要,所以要学习计算思维。但计算思维有丰富的内涵,不可能在一讲内就完全明白,它需要你在学习后不断地悟,越悟越有味道。我们这门课,不是说给你个“计算思维”的定义,什么是计算思维,像中学学习一样,那个没有什么意义。很重要的,你可以不知道“计算思维”的定义,但你应该知道“符号化-计算化-自动化”,你应该知道“计算系统与程序的关系”你应该知道“程序是如何被机器自动执行的”……这些都是计算思维,都是计算思维直观的例子。耐心地看视频,以潜移默化的方式理解和接受计算思维,是把握和学习本门课程最最重要的。