程序设计实习(实验班)2025

时间地点:
每周三 3 - 4节(10:10 - 12:00),单周周五 7 - 8节(15:10 - 17:00),燕园校区 文史101
上机课:每周六下午15:30 - 17:30,请使用机位号46 - 100、111 - 140的机器,地点为 燕园校区 理科一号楼1235室

主讲教师: 姜少峰 (shaofeng.jiang at pku.edu.cn)

助教: 管晏如(piscesguan at stu.pku.edu.cn),孔启皓(2300012972 at stu.pku.edu.cn),楼家宁(loujn at pku.edu.cn),杨卓凡(2300012909 at stu.pku.edu.cn)

课下答疑交流渠道: 上机课、微信群(群二维码见第一次课的slides的最后一页;若二维码过期可以联系助教进群、在群同学邀请进群)

快速跳转:课程信息 课程材料 作业


课程简介

本课程为实验班课程,主要面向已经具备良好的编程基础的同学。本课立足现代大数据场景,介绍若干典型的高效算法,涵盖随机性、 高维性、稀疏性等主题。课程以开阔学生眼界、提高编程解决问题的能力为目标,侧重这些算法的编程实现与灵活应用,并介绍算法背后的重要设计思想(但不强调和要求算法背后的理论推导)。

课程要求: 本课程需要对C++高级程序设计语言较为熟悉,具有很好的编程和解题能力。数学上,需要具备基本的概率论、单元函数微积分和基本的线性代数知识。

成果评估:

学术道德: 鼓励讨论,但绝不允许抄袭等违反学术道德的行为。例如,几个同学可以通过讨论得出相似的解法,但是最后每个同学必须独立完成作业的写作/程序的编写。


课程材料

课堂讲义幻灯片将在课前更新。所有讲义汇总:此链接。面向对象编程的自学/选学材料:此链接

日期 讲义
2月19日 课程介绍随机算法概述
2月21日 随机算法概述 (cont.);典型随机算法选讲
2月26日 典型随机算法选讲 (cont.)
3月5日 典型随机算法选讲 (cont.);哈希
3月7日 哈希 (cont.)
3月12日 哈希 (cont.);距离度量及其计算
3月19日 距离度量及其计算 (cont.)
3月21日 距离度量及其计算 (cont.)
3月26日 距离度量及其计算 (cont.);低维欧氏距离上的计算
4月2日 低维欧氏距离上的计算 (cont.)
4月4日(放假) ---
4月9日
4月16日
4月18日
4月23日
4月30日
5月2日(放假) ---
5月7日(放假) ---
5月14日
5月16日
5月21日
5月28日
5月30日
6月4日
6月11日 期末考试(上机)

作业

编程作业请提交到openjudge上,实验报告作业请提交电子版到https://course.pku.edu.cn(如只有纸质版本,请拍照/扫描提交图片并确保清晰度)。

作业一(实验报告) (3月12日截止)
作业二(编程) (3月12日截止)
作业三(编程) (3月19日截止)
作业四(编程) (3月19日截止)
作业五(编程) (3月19日截止)
作业六(编程) (3月26日截止)
作业七(编程) (3月28日截止)
作业八(编程) (4月2日截止)
作业九(编程) (4月11日截止)
作业十(编程) (4月16日截止)
作业十一(编程) (4月16日截止)
作业十二(编程) (4月23日截止)
作业十三(编程) (4月30日截止)
作业十四(编程) (4月30日截止)