课程围绕着计算思维教育空间-计算之树,进行内容的组织和讲解。
一、计算与程序
主要讲授计算与计算思维,符号化、计算化和自动化,计算系统与程序构造,程序构造方法:递归与迭代,这些是由社会/自然到计算的、最基本的抽象和自动化机制。具体对应如下3讲。
第1讲 计算机、计算与计算思维
第2讲 符号化、计算化与自动化
第3讲 程序与递归:组合、抽象与构造
二、计算系统
主要讲授程序是如何被执行的,包括内存环境下程序的执行和复杂环境下借助于操作系统管理的程序的执行,以及如何编写让计算系统可以执行的程序。具体对应如下3讲。
第4讲 冯.诺依曼计算机—机器级程序及其执行
第5讲 现代计算机—复杂环境下程序执行
第6讲 由机器语言到高级语言---程序编写编译
三、算法思维
主要讲授算法类问题求解框架-问题与数学建模、算法策略设计、数据结构和控制结构以及算法复杂性与正确性,还将以案例形式介绍由问题到环境,再到受限资源约束下的问题求解算法,以及难解性问题、计算和算法之间的关系等。具体对应如下3讲。
第7讲 算法-程序与计算系统之灵魂
第8讲 怎样研究算法-排序算法研究示例
第9讲 怎样研究算法-遗传算法研究示例
四、数据化与网络化思维。
数据化思维即:数据获取==>数据管理==>数据分析与运用;网络化思维即:机器网络==>信息网络==>群体互动网络==>网络化社会。具体对应如下4讲。
第10-11讲 数据化思维--怎样管理和利用数据
第12-13讲 网络化思维--怎样连接和利用网络
另外,课程还将对什么是计算机学科及其专业设置、能力培养体系、哈工大计算机学科的发展情况进行系统介绍。
本课程成绩将以下述方式计算:
总成绩=MOOC学习成绩40%十翻转课堂20%十实验10%十期末大作业30%
(1) MOOC学习成绩=单元测试65%十讨论35%
MOOC学习成绩,通过线上学习获得,具体包括如下2个方面的内容
单元测试:一共13讲,每讲5道测试题。
讨论:至少参与20次,保证每讲参与1到2个话题。
(2) 翻转课堂
线上线下配合,6人一组分工协作,是基于MOOC学习内容的翻转(PPT十WORD十课堂展示与互动)
(3) 实验
线下完成(操作系统十OA)
(4) 期末大作业
线下完成(阅读10篇计算机专业相关的论文并总结,不少于6000字)
上述各项成绩均为百分制。
《计算机专业导论》课程教学大纲
课程编码:SD04100100
课程名称:计算机专业导论
课程英文名称:Introduction to Computer Science & Engineering
总学时:32 讲课学时:24 实验学时:8 上机学时: 课外辅导学时:
学分:2
开课单位:计算机科学与技术学院
授课对象:计算机科学与技术专业本科生,计算机相关专业本科生
开课学期:1秋
先修课程:无
1 课程教学目的
计算机科学与技术学科的第一门课程;使学生初步认识和了解计算机科学与技术学科,了解计算机科学与技术学科的基本思维、问题求解框架及典型的方法论,初步了解计算机科学与技术学科的研究对象及科学技术体系,初步了解计算机科学与技术学科的知识结构及能力培养思路,进而理解本科生计算机专业能力培养与课程设置思想、核心课程的定位及作用,提高后续课程的学习兴趣;使学生了解并掌握计算机专业学生的基本素养。
2 教学内容
2.1MOOC同步内容
第1讲 计算机、计算与计算思维(必学)
第2讲 符号化、计算化与自动化(必学)
第3讲 程序与递归:组合、抽象与构造(必学)
第4讲 冯.诺依曼计算机—机器级程序及其执行(必学)
第5讲 现代计算机—复杂环境下程序执行(必学)
第6讲 由机器语言到高级语言---程序编写编译(必学)
第7讲 算法-程序与计算系统之灵魂(必学)
第8讲 怎样研究算法-排序算法研究示例(必学)
第9讲 怎样研究算法-遗传算法研究示例(必学)
第10-11讲 数据化思维--怎样管理和利用数据(必学)
第12-13讲 网络化思维--怎样连接和利用网络(必学)
2.2SPOC专属内容
第1讲 计算与检错/纠错
第2讲 生命游戏与细胞自动机
第3讲 计算的力量——高性能计算机、进化计算
第4讲 安全漏洞
第5讲 网络虚拟环境中的计算机科学
3 实验内容
本课程分两个实验(实验室线下进行)
实验1:熟悉操作系统的使用
实验2:熟悉常用的办公软件
1、大学计算机(第2版)-计算与信息素养, 战德臣,聂兰顺等著 高等教育出版社, 2014版
2、大学计算机-计算思维导论, 战德臣, 聂兰顺等著, 电子工业出版社,2013版
1、会编程就算会计算机了吗?
学习计算机要学会像计算机科学家那样去思维,远远不止于编程。
有些同学着急编程序,认为学习计算机语言课程比学习计算思维有用,是这样吗?真正会编程序的人,一定是理解计算思维特别深入的人,很难想象一个人如果不理解程序是如何被执行的还能编出高质量的程序,也很难想象一个人如果不理解符号化计算化、递归与迭代等经典的计算思维,还能开发出高效率的程序。古人讲“半部论语治天下”,本课程内容就是计算机方面的论语,当你要求计算机水平越高时就越需要计算思维。
2、计算思维到底是什么呢?
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出,并定义的计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。 周以真教授为了让人们更易于理解,又将它更进一步地定义为如下7点。
(1)通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法;
(2)是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法;
(3)是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是基于关注分离的方法(SoC方法);
(4)是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;
(5)是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;
(6)是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;
(7)是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折衷的思维方法。
3、如何学好这门课程?
常言道:书读百遍,其意自见。所以,通过多看视频,多思考,多讨论,多实践,独立完成作业一定能学好本课程,并能提升问题求解的思维水平及后续课程的学习能力。