从有数字诞生那天起,就开始有了计算。今天,计算可以说已经无处不在,无处不在的计算设备,无处不在的网络和通信,已经彻底改变了人类数千年的生活习惯。人们希望通过无处不在的计算,能随时随地获得自己希望的服务,而提供这些服务或者计算的重要载体就是计算机和将各种计算装置连接在一起的网络。
我们每个人的手机里有计算机,我们使用的如洗衣机、电冰箱等大多数家用电器设备里有计算机,我们开的汽车里也有计算机,在很多高强度、高危险的工作岗位上活跃着的机器人,都是由计算机在控制。另外,我们能够借助QQ、Skype等各种即时通信工具和Email等软件与世界各地的朋友保持联系,能够通过“百度”、“Google”等搜索引擎查阅各种信息,真正做到“秀才不出门,方知天下事”。这一切的一切,都是借助于计算机和遍布全球的互联网络。
因此,计算机已经成为了人类生活中不可缺少的一部分。无论你在学习什么专业,也无论你正在或将会从事什么工作,计算机都必定会陪伴你的每一天,成为你生活和工作中不可缺少的伙伴和助手。所以,了解计算机,建立和掌握利用计算机求解问题的基本思路和方法,必将给你的学习和研究带来无限的便利。
计算机科学是研究抽象和自动计算的学科,涉及的理论知识众多。作为计算机科学的入门,“大学计算机”课程将从基础知识入手,循序渐进,帮助你在了解计算机系统整体结构和基本原理的基础上,具备“选择和利用各种已有工具软件解决问题的能力”和“编写程序解决一般专业问题的能力”。
本课程的教学内容涉及“系统平台与计算环境”和“算法与C语言编程基础”两大部分,包括计算模型与信息表示、软硬件系统组成及工作原理、网络技术及应用、C语言程序设计、算法分析与设计、OFFICE基本操作等多个知识模块。为适应学习者需求,本期新增了“数据结构基础”知识模块。总计12周教学内容。
通过这门课程的学习,你将会得到以下4个方面的能力提升:
1)对计算机的理解能力。课程将依次为你介绍什么是计算?计算机的理论模型,计算机系统结构,计算机软件平台,以及计算机网络知识。这些内容将会帮助你理解:
l 什么问题是计算机可以解决的,什么样的问题是计算机没有能力解决的?学习计算机,需要首先在总体上清楚计算机的能力边界。
l 计算机内部有怎样的结构?是怎么工作的?今天的计算机上为什么可以同时打开多个“窗口”?我们编写的各种文档在计算机中是如何表示和存放的?既然我们放在计算机中的各种信息都存放在硬盘上,那么为什么大家还是希望内存越大越好?
l 网络上的信息是如何传送的?为什么我们可以通过网络和世界各地的人取得联系?
2)构造思维能力。课程将从基本逻辑门入手,讲述计算机由什么样的部件构造?是怎么构造的?建立自底向上进行系统构造的思路和方法,也就是构造思维能力,将是你未来进行系统设计的重要素质。
3)逻辑思维能力和利用计算机求解问题的能力。计算机的工作就是执行程序,我们希望计算机帮我们完成的所有工作都必须用程序语言来描述。学习程序设计,可以帮助提高你的逻辑思维能力和利用计算机解决问题的能力。同时,也能够帮助你真正了解计算机是如何工作的。只有掌握了一定的编程技术,才能说具备了利用计算机求解问题的能力。本课程将向你介绍什么是程序,以及如何编写C程序。
C语言是最通用的高级程序设计语言,学会C程序设计,不仅可以实现各种信息处理,还可以在嵌入式系统开发和接口控制系统设计中大显身手。
当然,这门课程只能帮助你具备初步的C语言编程能力。如果希望有更进一步的能力提升,请关注我们后续将开设的“面向对象程序设计”和“可视化编程技巧”等课程。
4)常用工具软件的应用能力和自信。你可能已经会用计算机上网、编辑文字,也可能还会处理照片等。但学习完这门课程,你除了能够更熟悉一些常用软件(如WORD、Excel、PowerPoint等)的强大功能之外,更主要的是你将会对计算机的各种操作不再有惧怕之心,对自己不熟悉的软件的功能敢于去尝试。具备这种“探索”之心,是你走向成功的重要基础。
帮助你理解计算机的基本工作原理,建立初步的系统构造思维,具备简单C语言程序设计能力和算法思想,为编写高质量程序奠定基础。
课程将通过以下环节帮助你随时了解自己的学习状况:
1)教学设问。在每周的起始处,会提出问题,以引导你理解课程的内容。这些问题也是你在学习完该章后必须完成的作业。
2)讲间练习。在每一段教学视频的中间或结尾处,都会设置1~2道简单的测试题目,检验你是否对刚刚学到的知识是否已清楚。
3)单元测验。每周学习结束后,会布置一定的课后作业。并安排相应的单元测验,以检验你对该章内容的理解情况。
4)讨论与答疑。学习期间,你可以通过网上答疑或讨论方式获取帮助和进行交流。你也可以回答其他学习者的提问。
了解微型计算机系统基本组成,理解计算机中信息的表示和二进制运算,理解硬件系统的构造过程和操作系统基本原理,了解网络技术的基本概念和应用。掌握C语言程序设计基本方法,理解基本算法思想,能够利用C语言进行简单问题求解。
本课程按周发布,每周包括若干段讲教学短视频、单元测验、作业、教学课件等其他辅助教学资源。
第一周 引言
第1讲 前言
第2讲 主机板
第3讲 图灵模型与计算
第4讲 主机系统
第5讲 本周小结
附件1:OFFICE基本操作指导
附件2:系统装机指导
第二周 信息表示与编码
第6讲 计算机与二进制
第7讲 字符表示与编码
第8讲 多媒体信息表示
第9讲 数制及其转换
第10讲 二进制数的算术运算
第11讲 机器数的表示及运算
第12讲 本周小结
第三周 硬件系统构造
第13讲 基本逻辑运算和逻辑门
第14讲 其它逻辑运算及其门电路
第15讲 触发器与加法器
第16讲 由逻辑门到运算器__硬件系统构造
第17讲 指令和程序
第18讲 冯•诺依曼结构
第19讲 硬件系统构造小结
第四周 操作系统基础
第20讲 什么是操作系统
第21讲 处理器管理
第22讲 存储器管理
第23讲 微型机中的存储器系统
第24讲 文件管理
第25讲 本周小结
第五周 网络技术及应用
第26讲 计算机网络的概念
第27讲 计算机网络的组成和分类
第28讲 网络协议与网络体系结构
第29讲 因特网的组成与接入方法
第30讲 因特网中的地址
第31讲 因特网应用
第32讲 网络技术小结
附件3:无线局域网组网指导
第六周 C语言程序设计基础
第33讲 C语言概述
第34讲 使用Eclipse编译C程序
第35讲 数据类型
第36讲 常量
第37讲 变量
第38讲 运算符与表达式
第七周 程序控制结构
第39讲 程序的控制结构
第40讲 循环结构
第41讲 程序控制结构小结
第七周单元测试
第7周 控制结构作业
附件4:程序控制结构示例详解
第八周 数组与结构体
第42讲 数组
第43讲 数组和字符串
第44讲 字符串处理库函数
第45讲 结构体
第九周 函数
第46讲 函数
第47讲 递归函数
第48讲 函数的参数传递
第49讲 变量及其作用范围
第50讲 本周小结
第十周 指针
第51讲 指针
第52讲 指针与数组
第53讲 动态存储分配
第54讲 有关指针的其它内容
第55讲 预处理命令
第十一周 算法分析与设计
第56讲 关于算法
第57讲 查找
第58讲 排序
第59讲 本周小结
第十二周 数据结构与示例详解
第60讲 数据结构基础知识
第61讲 数据的逻辑结构与存储结构
第62讲 线性表
第63讲 顺序结构线性表设计
第64讲 利用计算机求解问题的一般过程
第65讲 编程示例详解
第66讲 结束语
本课程无需先修课程,可以是零基础学习。如果具备计算机基本应用技能(如:Windows操作系统基本应用,基本文字编辑、搜索引擎使用等)以及较好的高中数学、物理基础,将会对理解课程学习内容有帮助。
通过视频学习,完成测试和作业,达到课程要求后,可以获得课程主讲教师签名颁发的合格证书或优秀证书。
成绩以百分计,总分=每周练习及讨论(占10%)+作业完成与互评(占30%)+单元测验(占40%)+期末考试(占20%)
60-79分:合格证书
80-100分:优秀证书
课程参考教材:
吴宁,崔舒宁,陈文革编. 《大学计算机-计算、构造与设计(第2版)》.清华大学出版社. 2016.8
1. 学习这门课有什么用?
“大学计算机”这门课程可能有很多种“版本”。我们这门课程的教学内容将主要聚焦在计算模型、系统构造与设计实现三个方面。学完这门课,你将会具备这样一些能力:(1)了解了计算机的理论模型,知道计算机可以做什么和没有能力做什么;(2)了解计算机是怎样构造出来的。掌握自底向上进行系统构造的思路和方法,将是你未来从事系统设计非常重要的素质;(3)能够利用C语言编写简单的程序。这项技能将帮助你利用计算机求解一些简单问题,帮助你理解和设计算法,也将为你进一步学习面向对象程序设计、嵌入式系统开发奠定基础。
2. 我有可能一辈子都不需要自己编程,为什么还要学习程序设计?
首先,学习一点基本的程序设计,可以培养你的逻辑思维能力;而通过程序调试,可以帮助你建立遇到问题如何想办法去解决的意识。不论你的专业方向是什么,这都是需要具备的素质;其次,相对于其他应用软件的掌握,学习编程实际上是了解计算机最简便的途径和手段。我们常用的WORD、Excel、Photoshop,甚至各种游戏软件,要真正掌握都要比编写一段简单程序复杂的多。第三,只有自己编写过程序,才能真正了解计算机是如何工作的。当你未来遇到其他需要利用计算机求解的问题时,你将会知道该怎么做。
3. 我以前接触计算机很少,学这门课会有困难吗?
作为大学第一门计算机课程,我们没有具体的先修课程,但希望有基本的计算机操作技能,比如Windows操作系统基本应用、文字录入和编辑、基本网络信息检索等。因为本课程的课内教学不涉及这些基本操作,但课程网站上会提供详细的操作讲解视频。如果你不熟悉,可以自学。总之,只要你努力、多上机练习就可以学好。