程序设计实习(实验班)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)
本课程为实验班课程,主要面向已经具备良好的编程基础的同学。本课立足现代大数据场景,介绍若干典型的高效算法,涵盖随机性、
高维性、稀疏性等主题。课程以开阔学生眼界、提高编程解决问题的能力为目标,侧重这些算法的编程实现与灵活应用,并介绍算法背后的重要设计思想(但不强调和要求算法背后的理论推导)。
课程要求:
本课程需要对C++高级程序设计语言较为熟悉,具有很好的编程和解题能力。数学上,需要具备基本的概率论、单元函数微积分和基本的线性代数知识。
成果评估: 学术道德:
鼓励讨论,但绝不允许抄袭等违反学术道德的行为。例如,几个同学可以通过讨论得出相似的解法,但是最后每个同学必须独立完成作业的写作/程序的编写。
课堂讲义幻灯片将在课前更新。所有讲义汇总:此链接。面向对象编程的自学/选学材料:此链接。JL科研讲座slides。
编程作业请提交到openjudge上,实验报告作业请提交电子版到https://course.pku.edu.cn(如只有纸质版本,请拍照/扫描提交图片并确保清晰度)。
作业一(实验报告) (3月12日截止,2分)
课程简介
课程材料
日期
讲义
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日
低维欧氏距离上的计算 (cont.)
4月16日
高维欧氏距离上的计算
4月18日
高维欧氏距离上的计算 (cont.);降维:JL方法
4月23日
降维:JL方法 (cont.)
4月30日
降维:JL方法 (cont.);降维:PCA方法
5月2日(放假)
---
5月7日(放假)
---
5月14日
降维:PCA方法 (cont.)
5月16日
5月21日
5月28日
5月30日
6月4日
6月11日
期末考试(上机)
作业
作业二(编程) (3月12日截止,1分)
作业三(编程) (3月19日截止,1分)
作业四(编程) (3月19日截止,2分)
作业五(编程) (3月19日截止,2分)
作业六(编程) (3月26日截止,3分)
作业七(编程) (3月28日截止,2分)
作业八(编程) (4月2日截止,2分)
作业九(编程) (4月11日截止,3分)
作业十(编程) (4月16日截止,3分)
作业十一(编程) (4月16日截止,1分)
作业十二(编程) (4月23日截止,2分)
作业十三(编程) (4月30日截止,2分)
作业十四(编程) (5月14日截止,2分)
作业十五(编程) (5月14日截止,2分)
作业十六(编程) (5月14日截止,3分)
作业十七(编程) (5月14日截止,4分)
作业十八(实验报告) (5月21日截止,2分)
作业十九(编程) (5月21日截止,3分)
作业二十(编程) (6月4日截止,2分)