程序设计实习 / Practice on Programming

via

  • Provider
  • Cost
  • Session
  • Language
  • Effort

Overview

课程介绍视频可以访问这里。

在北京大学信息科学技术学院,本科生程序设计类基础课程体系包含了四门课,按修课顺序分别为:计算概论、程序设计实习、数据结构与算法、算法分析与设计。其中“程序设计实习”课程是一门连接“计算概论”和“数据结构与算法”、承上启下的课程。
课程的主要内容主要分为两个方面:(1) C++语言面向对象的程序设计,约占课时量的65%;(2) 基本算法思想,约占课时量的35%。
在第一部分中,讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

在第二部分中,讲授一些基本的算法思想(如枚举、递归、搜索、动态规划等),并进行大量的高强度的编程训练。训练的方式是在“在线程序评测平台”上提交程序,系统立即判定程序是否正确。此种形式能够有效促使学生全面细致地思考问题,提高编程的准确性,增强程序查错、调试的能力。通过训练,学生能够打下较为坚实的程序设计基础,为进一步学习其他计算机专业课程,或在其他专业领域运用计算机编程解决问题,创造良好的条件。
另外,本课程将ACM国际大学生程序设计竞赛中一些优秀的基础题引入课程教学,增加内容的趣味性,并提高学生学习的积极性和成就感。

Syllabus

第1周 从C走进C++第2周 类和对象初探 第3周 类和对象进阶 第4周 运算符重载第5周 继承与派生第6周 多态与虚函数第7周 输入输出,文件操作和模板第8周 标准模板库STL (1)第9周 标准模板库STL (2)第10周 枚举算法第11周 递归算法第12周 动态规划算法第13周 深度优先搜索算法第14周 广度优先搜索算法

任务安排(作业及考试)

考试分为期中考试和期末考试

评分方案

评分按照日常作业的完成情况和期中期末考试的答题情况进行。课程参与(如论坛回答问题等) 5 %,C++作业 20 % ,在POJ在线提交的编程作业 20 %,期中考试(内容为C++语言) 25 %,期末考试(内容为在线提交的编程题)  30 %。

POJ作业在程序自动评测网站发布:http://cxsjsx.openjudge.cn/

课程参与做得特别好的同学,除了获得课程参与部分可得满分,还可以另外获得1-5分总分加分。