《面向对象编程基础》 2023春课程主页 cpp.njuer.org
本课程入选 教育部-阿里云产学合作协同育人项目
课程老师:南京大学 陈明 http://cv.mchen.org
课程交流
课程目标
掌握面向对象编程技术,理解面向对象编程理论,结合阿里云的软件开发平台切实掌握C++语言工具。将面向对象程序设计方法正确运用到程序设计实践中,为后续软件开发课程打下基础。
编程语言:C++
开发运行环境:
云端:
本地:以下任选一种:
- 一个配置好的ubuntu20.04虚拟机,带git zsh tmux g++ vim vscode qt 编程环境。使用方法是,解压后,安装player并打开,选择player-文件-打开-选择unbuntu20-04.vmx即可。 使用时可点击“进入全屏模式”,改分辨率到1920*1080等,ctrl+alt后 再alt+tab可切换回win桌面。下载链接:
- MAC/LINUX:Git,g++编译器, vim编辑器, vscode, QT
- WIN:Git for Windows,MinGW,VSCODE,QT. (也可使用Visual Studio社区版-比较大;或者用Dev-C++,占资源小,适合老电脑。)
课程教学安排
- 理论课(2课时每周 共计17周)
- 实践课(2课时每周 共计17周)
成绩
课程资源
- 上课四周后,请与本课程老师联系(mchen@nju.edu.cn),免费分发关于本课程的阿里云ECS资源兑换码,学生完成免费续用任务,最长免费使用三个月。
- 因为阿里云ecs给本课程能免费的使用时间是1个月+写点评阿里云团队审核通过后再加2个月,共计最多免费3个月的使用时间。所以在上课后一个月左右发兑换码给校内选课同学。可以先使用课程主页里的链接体验一下阿里云ecs,如 shell界面 ,背后就是一个每次使用期限4个小时的阿里云云ecs,带有root权限,这样的链接本课程主页里有十几个。
- 同时也可以使用阿里云ecs给学生提供的另一个免费计划:https://developer.aliyun.com/plan/student ,可申请到ecs免费半个月+写点评阿里云团队审核通过后再加2个月,共计最多免费两个半个月的使用时间。这项免费计划与本课程发放的兑换码不冲突。
面向对象编程基础 OJ 编程竞赛在线判题平台
课程实验 阿里云平台实验作业
课程内容
【课程slide见群文件】
- 阿里云ecs的使用,SHELL,GIT,VIM
- 概述
- 数据类型与表达式
- 程序的流程控制
- 函数
- 构造数据类型
- 复习 习题课
- 类
- 操作符重载
- 继承派生类
- 模板
- 输入输出
- 异常处理
- C++新特性
- 常见设计模式
- 图形用户界面 使用QT编程
教材与参考资料
教材
- 《C++ Primer (第5版)中文版》
- 《程序设计教程:用C++语言编程 第3版》陈家骏 机械工业出版社 (同学们可选做补充)
- 《C++ Primer Plus(第6版)中文版》(同学们可选做补充)
参考资料
- https://en.cppreference.com/w/
- 阿里云 C++ 入门教程(开发文档)https://developer.aliyun.com/learning/course/474
- 《Effective C++》
- 《C++ 标准程序库》
- 《STL源码剖析》
- 《深度探索C++对象模型》