Programming 2022
外观
上机课安排
- 时间:每周三晚上18:30
- 地点:软件学院一楼 5-104 机房(在一楼)
分数构成
- 期末考试(笔试+期末机考) 50%
- 机考 10%
- 小作业 10%
- 大作业:QOI 4%
- 大作业:ICPC Ranking 6%
- 大作业:Integer 6%
- 大作业:Python 解释器 / Basic 解释器 7%
- 大作业:Bookstore 7%
时间表
第 1 周
- 上机课介绍(文件:2022上机课介绍.pptx)
- OJ 介绍(网址:https://acm.sjtu.edu.cn/OnlineJudge )
- 零基础生存指南(文件:2022零基础生存指南.pdf)
- 环境配置(环境配置文档)
- 学术诚信(文件:学术诚信(2022).pptx | 文件:ACM班学术规范指南(2022).pdf)
- 如何提问(文件:如何提问(2022).pptx)
第 2 周
- 程序设计基础(文件:ProgrammingBasis(2022).pdf)
- 小作业指南(文件:小作业介绍 (2022).pdf)
- 第 1 次小作业 (Sep-21-2022 23:59:00 ~ Oct-08-2022 18:30:00)
第 3 周
第 4 周
- 计算机储存方式、进制转换
- 位运算
- code style
- 代码风格 wiki
- Slides 文件:代码风格(2022).pdf
- 大作业1:QOI
- 第 2 次小作业 (Oct-08-2022 23:59:00 ~ Oct-19-2022 18:30:00)
第 5 周
第 6 周
- STL 介绍 文件:Stl(2022).pptx
- Debug 技巧 文件:Debug(2022).pptx
- 时间复杂度 文件:时间复杂度(2022).pdf
- ICPC 大作业发布
- 第 3 次小作业 (Oct-19-2022 19:45:00 ~ Nov-02-2022 18:30:00)
第 7 周
- 二分、分治、贪心
- A 班大作业发布:Python 解释器
第 8 周
第 9 周
第 10 周
- B 班
- 链表
- 图算法
- A 班
- 图算法进阶
- 第 5 次小作业 (Nov-16-2022 20:30:00 ~ Nov-30-2022 18:30:00)
- B 班大作业 Basic 解释器
第 11 周
第 12 周
- Git 介绍
- 软件工程介绍
- Bookstore 大作业发布
- 期末机考复习题
第 13 周
- DP(动态规划)
第 14 周
- 期末机考模拟(2021 机考题)
第 15 周
- 期末机考
机考
每 2~3 周开展一次机考,每次机考共 5 题。B 班做第 1~3 题,A班做第 3~5 题。
- 第 0 次机考
- 第 0 次机考补题 (Sep-28-2022 18:30:00 ~ Oct-13-2022 23:59:00)
- 第 1 次机考
- 第 1 次机考补题 (Oct-11-2022 21:32:00 ~ Nov-02-2022 18:29:00)
- 第 2 次机考
- 第 2 次机考补题 (Nov-02-2022 16:29:00 ~ Nov-16-2022 18:30:00)
- 第 3 次机考
- 第 3 次机考补题 (Nov-23-2022 18:30:00 ~ Dec-14-2022 18:30:00)
作业
小作业
每 2 周布置一次小作业,每次小作业持续 2 周。
- 第 1 次小作业 (Sep-21-2022 23:59:00 ~ Oct-08-2022 18:30:00)
- 第 2 次小作业 (Oct-08-2022 23:59:00 ~ Oct-19-2022 18:30:00)
- 第 3 次小作业 (Oct-19-2022 19:45:00 ~ Nov-02-2022 18:30:00)
- 第 4 次小作业 (Nov-02-2022 20:30:00 ~ Nov-16-2022 23:59:00)
- 第 5 次小作业 (Nov-16-2022 20:30:00 ~ Nov-30-2022 18:30:00)
大作业
大作业1:QOI
作业要求详见GitHub 作业页面。
Online Judge
分数构成
- 基础分 - 80%(参考 OJ 测评得分给出)
- A 班:实现 rgb 和 rgba 图像的 QOI 编码解码算法
- B 班:实现 rgb 图像的 QOI 编码解码算法
- Code Review - 20%
- 考查对 QOI 算法的理解
- 代码风格检查(代码风格要求)
大作业2:ICPC Ranking
作业要求详见GitHub ICPC Management System 页面
发布 slides: 文件:ICPC发布(2022).pdf
Online Judge
2022 程序设计 ICPC Management System 作业页面
截止时间
A 班
- ICPC Management System (2022 A) 与分析报告:第 8 周周三(11 月 2 日)18:00
B 班
- STL 练习:第 7 周周三(10 月 26 日)18:00
- 前置作业:第 7 周周六(10 月 29 日)20:00
- ICPC Management System (2022 B) 与分析报告:第 9 周周三(11 月 9 日)18:00
分数构成
A 班
- 通过 1732. ICPC Management System (2022 A) (80%)
- Code review & 复杂度分析报告 (20%)
B 班
- 通过 STL 练习 1383. 聪老师不想摸鱼
- 通过前置作业 1346. Michelle 的学生会工作
- 通过 1731. ICPC Management System (2022 B) (60%)
- Code Review (20%)
大作业3:Integer
Online Judge
分数构成
code review 中若码风较差将酌情扣分。
PS:Bonus 部分对代码性能也有要求,需要通过对应的测试数据点才能得到分数。且 Bonus 上限为 5%,超过不溢出。
B 班
- 构造函数以及关系运算符: 10%
- 无符号高精度加减法: 10%
- 有符号高精度加减法: 10%
- 高精度乘法: 10%
- 高精度除法: 15%
- 压位高精度加、减、乘法: 30%
- 压位高精度除法: 15%
- BONUS:压位快速高精度除法(分治乘法): 1%
- BONUS:压位快速高精度除法(二分加速试商): 4%
A 班
- 构造函数以及关系运算符 10%
- 无符号高精度加减法 5%
- 有符号高精度加减法 10%
- 高精度乘法 10%
- 高精度除法 10%
- 压位高精度加、减、乘法 20%
- 压位高精度除法(二分加速试商) 15%
- 压位快速高精度乘法(快速傅立叶变换) 20%
- BONUS:压位快速高精度除法(分治除法)3%
- BONUS:压位快速高精度除法(牛顿迭代法) 5%
大作业4A:Python 解释器
下发材料
Online Judge
2022 程序设计 Python Interpreter 作业页面
大作业4B:Basic 解释器
下发材料
Online Judge
大作业5:Bookstore
下发材料
Online Judge
助教
Name | |
---|---|
夏天 | xia_tian@sjtu.edu.cn |
梁亚伦 | liangyalun@sjtu.edu.cn |
吴林昱 | linyu.wu@sjtu.edu.cn |
刘祎禹 | liu_yiyu@sjtu.edu.cn |
陈文韬 | leonard_chen@sjtu.edu.cn |
钟林昊 | zhongzero@sjtu.edu.cn |
钟逸超 | zhongyichao0618@sjtu.edu.cn |
周秉霖 | zhoubinglin@sjtu.edu.cn |
冯跃洋 | fyyvexoben@sjtu.edu.cn |
郭俊贤 | guojunxian@sjtu.edu.cn |
胡珂雅 | hu_keya@sjtu.edu.cn |
黄健浩 | huang_jh2021@sjtu.edu.cn |
林田川 | lintianchuan@sjtu.edu.cn |
杨晋晟 | modem514@sjtu.edu.cn |