hi,小慕
课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
计算机程序设计(C++)
第6次开课
开课时间: 2017年08月28日 ~ 2018年01月09日
学时安排: 3-5小时每周
当前开课已结束 已有 21162 人参加
老师已关闭该学期,无法查看
课程详情
课程评价(908)
spContent=计算机已经是“无所不能”,而每一项神奇的功能背后都有一系列计算机程序在运行。如今,电脑、智能手机的普及,每个人都可为计算机创造更加神奇的功能。学习程序设计,你也做得到。
计算机已经是“无所不能”,而每一项神奇的功能背后都有一系列计算机程序在运行。如今,电脑、智能手机的普及,每个人都可为计算机创造更加神奇的功能。学习程序设计,你也做得到。
—— 课程团队
课程概述

    本课程以C++语言为载体,讲授计算机程序设计,为更好地利用计算机解决工程实践、科学研究和日常生活中的问题打下基础。
    从程序设计方法角度分,计算机语言有面向过程的和面向对象的。面向过程的思想是将任务分解成一系列的函数,函数通过相互调用联系起来完成任务。面向对象的思想是将任务分解成一系列对象,对象具有功能。对象间通过消息传递信息,触发事件,完成任务。面向对象的语言被认为具有更好的重用性、可维护性和可扩展性。C++是面向对象的语言。但也要注意,面向过程和面向对象不是截然分开的,不是对立的。面向过程是面向对象的基础。本课程前半部分的编程思想仍是面向过程的,这对初学者更容易入门;后半部分是面向对象的,为进一步学习奠定基础。
    学习程序设计,要学习语言的语法,更重要的是求解问题的算法思想。语法的学习需要多尝试,算法的学习需要多思考。学习程序设计,就要多编程。

课程大纲

每周授课约2学时,教学内容在14周完成。
第1周 介绍程序设计的基础知识和简单的C++程序设计
第2周 简单信息的表示和数据运算,对应的语法点是数据类型、运算符和表达式
第3周 运算的流程控制,对应的语法点是控制结构
第4周 复杂信息的表示和处理,对应的语法点是数组、字符和结构体
第5周 问题的模块化求解(1),对应的语法点是函数的定义和使用。
第6周 问题的模块化求解(2),介绍内联函数、函数重载和递归函数。
第7周 按址操作,介绍指针的使用。
第8周 函数作参数和动态申请存储空间。
第9周 数据的抽象和封装,进入面向对象的程序设计,介绍类的定义和使用。
第10周 构造函数、析构函数和指向对象的指针。
第11周 代码的一种重用机制——继承的使用
第12周 接口的一致性——多态的使用。
第13周 标准输入输出与文件操作。

第14周 模板(选修)。

预备知识

本课程面向零基础同学。学习过“大学计算机基础”或其他计算机课程对学习有帮助,但不是必要的。

证书要求

学习本课程,积极参与课程讨论,完成本课的平时练习和期末测验,成绩合格获得合格证书,成绩优秀获得优秀证书。

评分依据:课程满分100分。课程讨论(讨论区提问和回答其他同学问题)占10%,平时测验占60%(每周单元测试20%,编程作业40%);期末测验占30%。60分获得合格证书,80-100分获得优秀证书。


参考资料

教材和教学参考书

教材:
[1] 赵英良 仇国巍等. C++程序设计教程. 清华大学出版社,2013.8. ISBN 978-7-302-33057-8
[2] 赵英良 卫颜俊等. C++程序设计实验指导与习题解析. 清华大学出版社,2013.8. ISBN 978-7-302-33058-5
参考书:

[1] 罗建军, 朱丹军, 顾刚等. C++程序设计教程(第2版). 高等教育出版社,2004.8. ISBN 978-7-04-022080-3
[2] 罗建军, 朱丹军,顾刚等. C++程序设计教程学习指导(第2版). 高等教育出版社,2004.8. ISBN 978-7-04-022190-9

[3] 谭浩强. C++程序设计(第2版). 清华大学出版社, 2011.

[4] Stanley B. Lippman,Josée Lajoie,Barbara E. Moo 著. 王刚,杨巨峰 译.C++ Primer(中文版 第5版). 电子工业出版社, 2013.

[5] [美] Stephen Prata 著. 张海龙,袁国忠译.C++ Primer Plus(第6版 中文版). 人民邮电出版社,2012. 

[6] 陈锐,华庆一等.最新C/C++函数与算法速查速用大辞典. 中国铁道出版社,2015.9

常见问题

Q: 本课程的选课条件是什么?
A: 本课程预计的主要对象是大学本科生,但不限于大学生。只要你有热情,有决心,就能学好。如果在大学学了“大学计算机基础”或接触过其他语言的程序设计,对本课学习会有所帮助,但这不是必要的,更不是充分的。

Q:如何学好程序设计?
A:建议同学们在学习程序设计过程中,注意运用下面三种设计方法:
1、模仿设计
同学们初学程序设计,首先是模仿设计。所谓模仿就是参照某个成功的程序,做一些微小局部的改动,程序总体结构不变。
例如教材讲述了求1+2+3+……+100的程序编写,你可以模仿连加程序,尝试编写连乘1*2*3*……*10的程序。这个模仿只进行两个变化,一是加号改乘号;二是结果变量初始值由0改为1;三是循环截止由100改为10。
又例如教材介绍了两数求最大的程序,你可以模仿尝试编写求最小的程序。变化是小于号改为大于号。
又例如教材介绍日期结构体的程序,你可以模仿尝试编写时间结构体的程序,变化是输出日期和时间的格式不一样。
又例如教材介绍学生类的程序,你可以模仿尝试编写职员类的程序,比如仅仅变化学生的成绩属性为职员的薪水属性。
通过这样的模仿可以尽快掌握程序设计的基本方法。
2、多解设计
一题多解是程序设计的特色之一。同样一个问题可以设计出多种求解算法,自然可以编写设计出许多种程序,都能正确求解这个问题。当然这些程序之间比较,可能一些程序运行速度快,一些程序占用空间少。例如求1+2+3+……+100的问题,就可以设计出三种不同算法:一是直接用公式计算;二是从头循环加到尾部;三是从尾部循环加到头。这样就可以编写设计出三个不同的程序。在学习程序设计时,不能满足于一种求解程序,而应该多做变换,比如语句变换,C++有三种循环语句,可以尝试相互代换。又比如数据类型或结构变换,这样就可以设计不同的程序,然后分析每个程序的时空效率。
3、分解设计
    程序设计说穿了,就是让计算机按照你事先安排好的步骤进行求解工作。一个问题分几步求解,是由你来设计的。如何将问题分解成一个一个较小的子问题,是程序设计的核心。至于每个子问题涉及哪些数据类型?是采用函数结构,还是采用哪几条语句?就相对容易清晰了。同学们要善于分解,通过反复的训练,提高分解问题的能力。(顾老师)

Q:学习编程需要准备什么东西?
A:你可以拥有一台电脑,但不是必须的。学校的机房也是很好的去处,只要有电脑用就可以。对电脑的配置也没有要求,当前能用的电脑都可以。最好有个U盘之类的存储装置,将自己平时练习的程序保存下来,以备以后参考。保存在网上、保存在邮箱中也是不错的选择。教材或参考书应该有一本,一是编程前要阅读学习,二是在编程中经常需要查阅。

Q:学习C++程序设计使用什么软件好?
A:编程软件常常是各有优点。我们课程使用的是DEV C++。这是一款自由软件,使用简单,体积小,容易获得。其他的Visual C++6.0、VS2008~2012,Borland C++等都是很好的编程软件。有时间都熟悉一下是很好的选择,因为在考试、竞赛、招聘中会遇到各种不同的环境。


Q:课程结束后如何查看课程内容?

A:登录中国大学MOO C→ 点头像 → “我的课程” →已结束


Q:如何查看已结束的课程?

A:课程介绍页→课程图标下方(右上,开课时间上方)→“第**次开课”→选择“第3次开课”。

西安交通大学
9 位授课老师
赵英良

赵英良

教授

顾刚

顾刚

研究员

杨振平

杨振平

讲师

推荐课程

6小时C++期末冲刺-6小时突击 C++面向对象编程

小谢老师01

11886人参加

猴博士C语言不挂科-4小时学完C语言

猴博士爱讲课

312929人参加

计算机网络期末冲刺-4小时突击计算机网络

王道论坛

17960人参加

数据结构与算法期末冲刺-5小时突击数据结构与算法

小谢老师01

25728人参加
下载
下载

下载App