任务划分--我一步一步写
1、我先把目前我和周老师计划的课程框架放在这里,大家讨论具体内容是否需要增加和删减。你也可以把自己学习过程中觉得很好玩的知识概念列在这里我们一起讨论,最终确定大框架。
以下概念和原理我用粗体表示,例子用斜体加粗表示 第一部分:
1、计算思维的概念
1)计算思维的概念:计算无所不在,计算机无所不在,引出计算思维的概念,计算思维已经从传统的工具技能上升为基础学科的高度,所以要学习计算机。 计算思维就是是我们解决问题的方式和方法,通过计算机这一工具,使其具有可复制和继承性。是一个从主观到客观量化的过程。比如中餐,每个人做出来的味道等都不一样,但是西餐麦当劳开遍全世界,全世界都是一个味道,这就是标准化,和量化。本质上是思维的数字化。 计算思维的本质— 抽象和自动化 ppt1
2)抽象和系统---数学建模:谈数学建模的基本方法和概念,和自身生活相联系,比如某一年mit招收博士生出的一道题目就是如何向一个5岁小孩描述系鞋带的过程。还有 # 哥德斯堡七桥问题 #具体建模例子。系统分析方法,方框图 ppt 2 3)自动化—计算如何自动执行,古代计算机的发展和现代计算机的发展史。熟悉计算发展的同学可以在这里添加具体概念,如量子计算机等。 ppt 3,6
2、计算机为什么可以实现计算
1)数制,计算机中的编码形式二、十、十六、八。 ppt 7 2)计算机如何实现减法运算。 ppt 9 3)与非门电路如何实现计算。 ppt 8
3、计算机软硬件结构
1)计算机硬件:冯诺依曼计算机体系结构5个部分,用方框图分析系统组成和工作原理。cpu、存储器、IO设备。 ppt 10 2)计算机软件:应用软件和操作系统。(介绍下开源的概念)(操作系统的发展史)(操作系统的工作原理)(死锁等基本概念)请大家补充。 ppt 11 3)计算机如何表示声音、图像、文字? --压缩的概念,动画的原理,编码,从模拟到数字的转换,详见 ppt 12 (这一章很多内容参考了《不插电的计算机》,我放在云上了 )
实践课:如何设计一个计算机系统。(第一阶段知识总结,运用已经学到的概念和原理,怎么给学生阐述清楚计算机从硬件到软件是怎么工作,有没有相应的软件仿真工具或者,请大家各抒己见,)(目的是introduction部分所说的整体化的思想,要学生把学到的东西融合成一个整体。)
大家可以参考知乎上面很多对于概念的回答内容,有可以借鉴的就贴出来大家一起讨论。其他资料,如视频等都可以,可以丰富课堂教学内容。
第一阶段讨论课:从三次数学危机到图灵机,什么是计算《复杂》?
以上是第一部分内容:计算机基础概念和原理
第二部分 :算法和程序
4、什么是程序:
1)概念包括:程序,程序语言,编译;最好通过例子或者游戏说明这些概念; 2)原理:原来谈了计算机内部都是门电路,那么逻辑门电路又是如何组成程序,实现不同的编程的?(这里涉及虚拟化的概念,百度云盘中有一篇文章《大话虚拟化》可参考) 如何让计算机做事情?把我们要做的事情以明确的步骤描述出来,并且翻译成计算机语言也就是程序。 其他还有什么概念和原理可以补充。
5、算法
1)什是算法?如何描述算法?算法的基本结构?(选择、顺序和循环) 这部分我们打算采用blocky语言,通过一些简单变成,让大家了解算法相关概念。 2)简单算法游戏:热身游戏(二分法数人数),搜索(线性、二分法搜索、哈希搜索),排序算法(选择、冒泡、快速等) 3)自然中的算法:分形、线性和非线性兔子(《复杂》一书中的内容,阐述自然中出现的混沌现象),黄金分割《南华大学公开课》 4)再谈计算机模型:如何用计算机分析实际问题,比如自私个体如何产生合作,通过囚徒困境这一简单计算机模型来阐述合作产生的机制。 5)有趣的遗传算法:生命科学和计算机科学的交叉融合出来的遗传算法,从达尔文的自然进化论出发,阐述不同学科之间的融合,以及通过我们的软件工具blocky设计一个遗传算法的小程序(这个工作需要大家来设计) 6)算法的复杂性:用梵天塔例子阐述时间复杂性,以及证比求易的例子阐述空间复杂性。
第二次讨论课:智能从哪里来?
主要内容:从图灵测试开始谈智能的争论,中文屋子的实验,什么是强人工智能和弱人工智能,人工智能的发展,目前人工智能的瓶颈。一些有趣的概念,如人类计算,集体智能等。不同领域对智能的探索,生物科学、神经科学,举蚁群、免疫系统、大脑的例子,解释智能和意识如何从不具有智能和意识的物体中涌现出来,阐述复杂系统的概念。计算机现在不能做的事情。
第三部分 网络和信息安全
6、网络
1)网络是为了实现人类世界的快速信息交流,人类发展史就是一部通信发展史;从用物理位移实现信息移动,到信息在虚拟世界的快速传播,的不断发展变迁的过程。(逻辑思维吴伯凡的一期节目,我觉得很棒,参考过来)
2)Atom世界和Bit 世界,用b世界来解决A世界的问题,虚拟化。是不是可以加入种本聪的区块链概念,以及比特币。大家商量,还可以加入一些例子来充实这两个概念的表述。
3)计算机网络:这一块建议杨壬来完成,貌似你对计算机网络还比较了解。可以参考我的课件,主要任务是首先捋清楚这块内容的讲授逻辑,哪些应该介绍,哪些没必要介绍,以什么样的形式介绍。一定注意逻辑性和系统性。尤其对难懂的概念通过类比的形式,找一些例子来阐述。
目前我的逻辑是:从简单到复杂,一步步阐述网络的搭建过程和其中的概念。
如何搭建两台电脑的网络?里面有哪些初级概念?
进一步简单的局域网呢?
国际互联网呢?
之后,对以上网络进行建模,阐述osi7层模型,这是人类总结出来的通信的基本模型。并且尝试将这个模型应用到日常的通信例子中,阐述里面的基本概念,如传输介质,多路访问,总线,路由算法、哲学家共餐问题等。
这个只是基本逻辑,你们可以根据自己的想法调整。
7、网络科学
1)什么是小世界网络?什么是网络思维?(不关注事物本身,而是事物之间的关联)什么是网络--由边和节点组成的集合。现实世界的网络具有高度的集群性、不均衡的度分布以及中心节点结构。
为什么生物的生命期与他们的大小基本上遵循一个简单的函数?为什么谣言和笑话传播的如此之快?为什么电网和万维网这样大规模的网络非常稳健,但有时候却又会大规模崩溃?
通过本章阐述的小世界和无尺度概念解释这些问题。 2)小世界网路的简单模型:如何通过软件在课堂上给大家模拟这个模型。具体这个模型是什么可以百度一下,很简单,但是涉及到图,我不好在这里描述。
小世界模型说明:一个网络如果只有少量的长程连接,相对于节点数量来说平均路径却很短,则为小世界。即平均两节点之间的路径很短,具有高度的集群性。
现实世界中很多网络都有这样的结构,甚至人脑功能区之间也是这样的,有假说认为,可能是系统远程连接的成本最优和信息传播的速度快之间的一种平衡。 3)无尺度模型:概念,引出幂律和正态分布。为什么真实世界中存在这么多幂律分布? 4)三体中的多维概念,在真实世界的表现。生物的代谢网络。
8、网络社会和信息安全
1、网络社会:阐述数据、信息的概念、大数据、云计算等概念。 2、信息安全:这一章我做的不好,很多内容也不熟悉,交给曹宇来做吧。充实内容,说明概念,多举现实的例子,还有你课堂上做的那个暴力词典攻击的过程很好,可以做个视频,放在课堂上,给大家禅师,应该是极好的。
第三部分讨论课:大家觉得这部分讨论什么话题好?集思广益。
第四部分:工程设计方法
9、工程设计方法
分析问题,确定目标,建模等
10、
打算采用陈亦农老师的课件,主要做工程实践,教学生怎么一步步实现一个实际的案例,比如机器人穿越迷宫,或者其他的什么内容,大家讨论。
机器人、传感器介绍 什么是teamwork?(甘特图) Github协同工作平台 使用viple实现机器人编程 工程设计方法())