内容简介:
“计算概论与程序设计基础”(北京大学校内课程名“计算概论A”)是一门面向信息科学技术学科一年级本科生开设的专业基础主干课程。本课程旨在帮助学生建立学习计算机科学技术所需的基本知识背景,同时掌握计算机程序设计的基础知识,培养独立设计计算机程序解决问题的能力。
课程内容分为两个主要部分:计算概论和程序设计基础。其中,计算概论约占总课时的15%,程序设计基础则占85%。计算概论部分通过解答一系列与计算机程序设计相关的基础问题,如“计算机为什么能够进行计算?”、“计算机程序在计算机中是如何运行的?”等,激发学生对计算机科学的兴趣,并帮助他们构建起学习计算机科学所需的背景知识框架。
程序设计基础部分以C语言为主要学习对象,结合典型的C++编程环境(如Visual Studio C++、Eclipse等),教授学生如何使用C语言编写计算机程序,甚至编写具有一定技术难度的程序。课程特别强调循序渐进的学习方法,将程序设计基础的学习划分为四个迭代周期,每个周期都要求学生编写出完整、可运行、能解决问题的程序,而不是仅仅学习编程语言的某个部分。
课程概述方面,本课程不仅注重理论知识的传授,更强调实践能力的培养。学生将在实际操作中逐步掌握程序设计的技巧,理解计算机程序的运行机制,提升解决实际问题的能力。课程内容涵盖从计算机的历史发展到现代编程技术的全面介绍,为学生打下坚实的计算机科学基础。
学习目标
本课程的主要学习目标包括:
- 帮助学生建立学习计算机科学技术所需的基本知识背景;
- 使学生掌握计算机程序设计的基础知识;
- 培养学生独立设计计算机程序解决问题的基本技能;
- 引导学生通过实践不断进阶,而非单纯依赖知识堆砌。
为了实现这些目标,课程采用分阶段、分模块的教学方式,确保学生能够在每个阶段都能完成完整的程序设计任务,从而真正掌握程序设计的核心思想。
适用人群
本课程适用于信息科学技术学科的一年级本科生,尤其是那些初次接触计算机程序设计的学生。对于希望了解计算机科学基本原理、并具备一定逻辑思维能力的学生而言,本课程是一个理想的起点。
此外,课程也适合对计算机科学感兴趣的其他专业学生,以及希望通过系统学习掌握程序设计技能的自学者。无论学生的背景如何,只要具备一定的数学基础和逻辑思维能力,都可以从中受益。
课程大纲
课程大纲涵盖了从计算机的基本概念到高级程序设计的各个方面,具体包括以下内容:
- 第一部分:计算概论
- 从数学危机到图灵机
- 图灵机的基本构成
- 图灵机的运行机理
- 数的二进制表示
- 二进制数的布尔运算
- 历史上的计算设备
- 从电子管到云计算
- 摩尔定律下的计算危机
- 量子计算机的基本原理
- 量子计算机的发展状态
- 问题的提出
- 冯诺依曼式计算机
- 存储器的种类与特点
- 存储器的原理与类型
- CPU指令的执行
- 程序的执行
- 第二部分:程序设计基础
- 说在前面的话
- 程序是你告诉计算机的话
- 如果你的大脑是台计算机
- 如果你来设计一门编程语言
- 快步走近C程序之一
- 快步走近C程序之二
- 快步走近C程序之三
- 什么样的程序是好程序
- 配置编程环境(补充资料)下载安装和使用IDE
- 配置编程环境(补充资料)使用IDE进行调试
- 没有解决方案就没有程序
- 先有构想在写程序
- 先有构想在写程序示例
- 体验结构化的程序示例
- 明确学习进度
- C语言的由来
- C语言的标准
- C语言的构成
- 再谈学习进度与安排
- 变量定义的含义
- 整数型的类别
- 整数型的存储
- 整数的输入输出
- 最大与最小整数
- 浮点型
- 字符型
- 布尔型
- 常数
- 变量命名
- 说在前面的话
- 赋值运算
- 赋值运算的说明
- 算术运算
- 自增自减运算
- 关系运算
- 逻辑运算与混合运算
- 逗号,条件,强转
- 位运算
- 再谈分支语句
- 再谈循环语句
- Goto之争
- 再谈一维数组
- 二维数组
- 三维数组
- 数组的作用之一
- 数组的作用之二
- 字符数组与字符串
- 输入缓冲区
- 一个字符的输入
- 一串字符的输入
- 字符串应用例题
- 函数的定义与声明
- 函数的调用过程
- 函数调用示例
- 变量的作用域
- 数组做函数参数
- 函数应用示例
- 函数应用示例
- 递归调用的过程
- 递归应用示例切饼,斐波那契数列
- 递归应用示例进制转换,汉诺塔
- 递归应用示例放苹果较难选听
- 递归应用示例逆波兰表达式较难选听
- 习题课一枚举模拟与递归
- 什么是指针
- 什么是指针变量
- 指针变量示例
- 指针变量的++---
- 数组与指针
- 用指针访问数组
- 习题课二较难选听
- 字符串与指针
- 再谈指向一维数组的指针
- 指向二维数组的指针
- 二维数组名引用示例
- 利用指针遍历二维数组
- 指针做函数参数
- 限制指针函数实参的功能
- 指针做函数返回值
- 静态局部变量
- 结构体与结构体变量
- 结构体变量与函数
- 结构体变量与指针
- 链表的定义
- 链表的操作
- 结语;轻叩面向对象之门
- 编程工具的安装和使用:下载、安装和使用IDE
- 说明编程工具的安装和使用:使用IDE进行调试
通过以上课程大纲的设计,学生可以逐步深入理解计算机科学的核心概念,并掌握C语言的使用技巧,最终实现独立编写程序的目标。
课程特色
本课程具有以下几个显著特色:
- 理论与实践相结合:课程不仅讲解计算机科学的基本理论,还注重程序设计的实践操作,帮助学生在实战中提升技能。
- 分阶段教学:课程将程序设计基础的学习划分为四个迭代周期,确保学生在每个阶段都能完成完整的程序设计任务。
- 强调学习规律:课程提醒学生,在学习过程中应遵循循序渐进的原则,打好基础后再逐步进阶。
- 丰富的教学资源:课程提供多种编程工具的使用指导,包括IDE的下载、安装和调试等内容,方便学生自主学习。
此外,课程还包含大量例题和习题,帮助学生巩固所学知识,并提升解决实际问题的能力。
总结
“计算概论与程序设计基础”课程是一门内容丰富、结构清晰、实践性强的计算机科学入门课程。通过本课程的学习,学生不仅可以掌握计算机程序设计的基础知识,还能建立起对计算机科学的整体认知,为今后深入学习相关领域打下坚实的基础。