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