一、课程概述
随着科技的发展,人工智能成为新一轮科技革命和产业变革的重要驱动力量,加快发展新一代人工智能是推动我国科技跨越发展、产业优化升级、生产力整体跃升的重要战略资源。人工智能是建立在计算机科学、应用数学、统计学等多学科交叉的基础之上的,其中,计算机科学是关键,是人工智能的灵魂,是实现我们未来智能生活的工具。而大学中,计算机与程序设计方面的课程,尤其是程序设计和算法,是未来人工智能时代,AI人才培养的基础。
本课程是计算机程序设计的入门课程,对计算机语言C++和Python等进行了详细的阐述,兼顾基础理论和编程实践。基础理论浅显易懂,编程案例生动形象。采用全国等级考试的集成开发环境(如VC++2010 Express等)进行编程与调试工具。从案例分析和问题入手,寻找解题思路,到编程、调试、运行,都借助于合适的实际案例进行展示。特别是初期的编译错误的定位与解决策略,后面的运行错误借助调试工具进行查错、纠错等,通过案例和视频的展示学会编程方法与调试技术。完整的案例分析和编程过程帮助初学者既能看懂教材,又能解决上机无从下手的问题。
学习计算机语言存在面向过程思想和面向对象思想的学习,特别是面向对象擅长解决复杂问题,而对初学者的案例都是用简单问题来诠释面向对象的程序设计思想方法,造成难于领会面向对象的程序设计思想的精髓。本课程通过用对比方式,诠释面向对象和面向过程程序设计的区别,体会面向对象思想的优势。通过实际案例掌握面向对象思想,通过项目实践,解决学而不知何用的问题。
二、授课对象
本课程面向全校非计算机专业理工文医科学生开设
三、授课目标
本课程将使学生掌握程序设计基本思想,掌握自顶向下设计和面向对象开发技术,能够熟练应用C++或Python语言进行程序设计。掌握计算机科学基本思维与基本方法;初步具备应用计算机进行软件开发的能力。
四、预备知识
先修课程:无
五、课程大纲(以C++为例)
第一章 计算机基础知识
(1)计算机的发展概况、分类特点及其应用领域;
(2)信息在计算机内的表示与存储方式,数制转换原理;
(3)计算机系统的组成及其工作原理;
(4)算法、计算机程序设计与程序设计语言的基本概念,简单算法 设计;
第二章 语言基础知识
(1)C++语言概述;
(2)C++基础知识:C++程序基本结构,常量和变量,基本数据类 型,运算符和表达式;
(3)以一个简单的 C++程序介绍 C++程序的基本结构;
(4)C++开发环境安装与配置。
(5)C++程序建立项目、编辑、编译、连接和运行的过程。
第三章 分支结构及综合应用
(1)3 种 if 结构;
(2)switch-case 结构;
(3)两种结构的共同点和区别,以及不同的应用场景;
(4)两种结构的嵌套;
(5)综合应用案例。
第四章 循环结构
(1)for 循环,while 循环和 do-while 循环结构基本语法;
(2)三种循环结构的共性和区别,以及不同的应用场景;
(3)常用算法:穷举法、递推法、迭代法、辗转相除法
(4)常用算法设计思想:计数器、状态变量、累加累乘等思想;
(5)应用常用算法设计思想的综合案例解析。
第五章 数组和指针
(1)一维数组的含义、定义、访问及初始化方式;
(2)二维数组的含义、定义、访问及初始化方式;
(3)字符串处理方法;
(4)排序和查找算法;
(5)综合案例解析。
第六章 函数
(1)函数定义、调用和声明;
(2)函数的形参和返回值;
(3)参数传递方式;
(4)变量作用域和生存期;
(5)默认参数和函数重载;
(6)综合应用案例;
(7)五星红旗课程思政案例讲解。
(8)提出课程大项目设计的具体要求
第七章 面向对象程序设计
(1)面向对象程序设计概述,和面向过程的方法对比;
(2)类与对象,属性与方法;
(3)构造函数、析构函数、复制构造函数、类的组合;
(4)继承与多态;
(5)综合案例解析。
第九章 文件操作
(1)文件的打开和关闭;
(2)文件的读写;
(3)文件的重命名和删除;
(4)文件操作案例。
六、参考资料
1.《程序设计基础(C++)》,电子工业出版社,李赤松主编;
2.《程序设计基础(C++)学习指导书》,电子工业出版社,黄庆凤 主编;
3.大学计算机——计算思维导论,电子工业出版社,战德臣等主编;
4.全国计算机等级考试教程(二级 C++语言程序设计),人民邮电出 版社,全国计算机等级考试教材编写组/未来教育教学与研究中心 编著;
4. essential c++ 中文版,华中科技大学出版社,Stanley B.Lippman 著,侯捷译;
5.C++ Primer,电子工业出版社,Stanley B.Lippman,Josee Lajoie,Barbara E.Moo 著,王刚 杨巨峰译。
6.《Python 语言程序设计基础(第 2 版)》,嵩天、礼欣、黄天羽, 高等教育出版社,2017 年
7.《Python 语言程序设计》,(美)梁勇著,李娜译,机械工业出版 社,2015 年
8.《Python 程序设计》, [美]戴维 I.施耐德,机械工业出版社,2016 年
9、Visual Basic 程序设计基础(含计算机基础),科学出版社, 阙向红主编;
10、Visual Basic 程序设计基础学习指导,科学出版社,张晓芳主 编。
11、计算机基础与计算思维,清华大学出版社,熊福松等主编;
12、不插电的计算机科学,孙俊峰等,华中科技大学出版社