Programming 2024
外观
上机课安排
- 时间:每周四晚上18:30
- 地点:软件学院一楼 5-104 机房
分数构成
- 期末考试(笔试+期末机考) 50%
- 机考 10%
- 小作业 10%
- 大作业:Minesweeper 4%
- 大作业:ICPC Ranking 6%
- 大作业:Integer 6%
- 大作业:Python 解释器 / Basic 解释器 7%
- 大作业:Bookstore 7%
时间表
第 0 周
第 1 周
- 上机课介绍 文件:2024上机课介绍.pptx
- OJ 介绍(网址:https://acm.sjtu.edu.cn/OnlineJudge )
- 学术诚信&如何提问(文件:如何提问及学术诚信(2024).pptx | 文件:ACM班学术规范指南(2024).pdf)
- 零基础生存指南文件:零基础生存指南(2024).pptx
第 2 周
- 计算机科学导论 文件:计算机科学导论(2024).pdf
- Linux Shell的使用 文件:Shell(2024).pptx
- Linux Shell练习
- 第 1 次小作业(Sep-26-2024 20:30:00 ~ Oct-10-2024 23:59:00)
第 3 周
- Code Style介绍 文件:CodeStyle(2024).pdf
- 大作业Mine Sweeper发布文件:Minesweeper(2024).pptx
- 进制转换和位运算文件:进制转换和位运算(2024).pptx
- 时间复杂度和调试文件:时间复杂度(2024).pptx
第 4 周
- git 与 GitHub 介绍
- slides: 文件:Git(Hub)入门指北针.pdf
- link:
- A班: 启发式算法 文件:启发式算法.pdf
- B班: STL介绍 文件:STL介绍.pptx
- B班: 枚举+搜索 文件:枚举+搜索.pptx
- 第 2 次小作业 (Oct-10-2024 20:30:00 ~ Oct-24-2024 18:30:00)
第 5 周
第 6 周
- A班: 树链剖分和SAT问题文件:树链剖分和SAT问题.pdf
- B班:排序 & 贪心文件:排序 & 贪心.pdf
- 第 3 次小作业 (Oct-24-2024 20:30:00 ~ Nov-07-2024 18:30:00)
第 7 周
- 第二次机考
- 第二次机考补题
- A班: int2048发布 文件:Int2048 2024.pptx
第 8 周
- A班: 整体二分 文件:整体二分 2024.pptx
- A班: CDQ分治 文件:CDQ分治 2024.pdf
- A班:Python解释器发布 文件:Python Interpreter 2024.pptx
- B班: 二分及分治 文件:二分及分治 2024.pptx
- B班: int2048发布 文件:Int2048 2024B.pptx
- 第 4 次小作业 (Nov-7-2024 20:30:00 ~ Nov-21-2024 18:30:00)
第 9 周
第 10 周
- CMake介绍 文件:CMake 2024.pptx
- A班:dp优化 文件:DP优化 2024.pdf
- B班: 动态规划 文件:Dp 2024.pptx
- B班: basic解释器发布 文件:Basic 2024.pptx
- 第 5 次小作业 (Nov-21-2024 20:30:00 ~ Dec-12-2024 18:30:00)
第 11 周
第 12 周
- 软件工程 文件:软件工程2024.pptx
- 块状链表 文件:块状链表2024.pptx
- Bookstore 发布 文件:BookStore2024.pptx
第 13 周
- Bookstore并发bonus 文件:Concurrency 2024.pptx
- A班:进阶字符串算法 文件:进阶字符串算法 2024.pptx
- B班: KMP&hash 文件:KMP&hash 2024.pptx
- 第 6 次小作业 (Dec-12-2024 20:30:00 ~ Dec-26-2024 18:30:00)
第 14 周
第 15 周
- 期末机考模拟
机考
每 2~3 周开展一次机考,每次机考共 5 题。B 班做第 1~3 题,A班做第 3~5 题。每次机考后会发布对应的补题,一般要求 2 周内补完规定题目。
作业
小作业
每 2~3 周布置一次小作业,每次小作业持续约 2 周。
- 第 2 次小作业(Oct-10-2024 20:30:00 ~ Oct-24-2024 18:30:00)
- 第 3 次小作业 (Oct-24-2024 20:30:00 ~ Nov-07-2024 18:30:00)
- 第 4 次小作业 (Nov-7-2024 20:30:00 ~ Nov-21-2024 18:30:00)
- 第 5 次小作业 (Nov-21-2024 20:30:00 ~ Dec-21-2024 18:30:00)
大作业
大作业 1 :Minesweeper
- 作业要求详见作业仓库
- 作业时间:(Sep-26-2024 20:30:00 ~ Oct-13-2024 23:59:00)
分数构成
- 基础任务 - 实现 server(参考 OJ 测评 得分给出)
- A 班:60%
- B 班:80%
- 进阶任务 - 实现 client(根据 OJ 测评 得分给出)
- A 班:35%
- B 班:15%
- Code Review - 20%
大作业 2 :ICPC Ranking
作业要求详见GitHub 作业页面
发布 slides: 文件:ICPC发布.pptx
截止时间
A 班
- ICPC Management System (2024 A) 与分析报告:第 7 周周四(10 月 31 日)18:00
B 班
- STL 练习:第 6 周周一(10 月 21 日)20:00
- 前置作业:第 6 周周四(10 月 24 日)18:30
- 中期检查:第 7 周周五(11 月 1 日)答疑时间 20:30 ~ 22:30
- ICPC Management System (2024 B) 与分析报告:第 8 周周四(11 月 7 日)18:00
- bonus:ICPC Management System (2024 A) 与分析报告:第 8 周周日(11 月 10 日)21:00
分数构成
A 班
- 通过 1986. ICPC Management System (2024 A) (80%)
- Code review & 复杂度分析报告 (20%)
B 班
- 通过 STL 练习 1383. 聪老师不想摸鱼 (5%)
- 通过前置作业 1346. Michelle 的学生会工作 (10%)
- 通过 1987. ICPC Management System (2024 B) (60%)
- 中期检查和代码结构图 (5%)
- Code review & 复杂度分析报告 (15%)
- bonus:通过 1986. ICPC Management System (2024 A) (5%)
大作业 3 :int2048
截止时间
A 班
- 第 9 周周四(11 月 14 日)18:00
B 班
- 第 10 周周四(11 月 21 日)18:00
分数构成
code review 中若码风较差将酌情扣分。
PS:Bonus 部分对代码性能也有要求,需要通过对应的测试数据点才能得到分数。且 Bonus 上限为 5%,超过不溢出。
B 班
- 构造函数以及关系运算符: 10%
- 无符号高精度加减法: 10%
- 有符号高精度加减法: 10%
- 高精度乘法: 10%
- 高精度除法: 15%
- 压位高精度加、减、乘法: 30%
- 压位高精度除法: 15%
- BONUS:压位快速高精度除法(分治乘法): 1%
- BONUS:压位快速高精度除法(快速傅里叶变换): 3%
- BONUS:压位快速高精度除法(二分加速试商/分治除法): 3%
A 班
- 构造函数以及关系运算符 10%
- 无符号高精度加减法 5%
- 有符号高精度加减法 10%
- 高精度乘法 10%
- 高精度除法 10%
- 压位高精度加、减、乘法 20%
- 压位高精度除法(二分加速试商) 15%
- 压位快速高精度乘法(快速傅立叶变换) 20%
- BONUS:压位快速高精度除法(分治除法/牛顿迭代法) 5%
大作业 4A :Python 解释器
- GitHub 作业页面
- 使用 OOP 实现 Python Interpreter,锻炼 OOP 能力。若不按照要求会在 code review 时扣除一定分数。
- 作业不低于按数据总的通过比例线性给分。助教会下发部分数据在作业仓库中,还有另一部分数据不会提供。 这意味着你需要自己手写测试数据给自己测试,如果你对自己造的数据是否满足要求有疑问,请及时向助教询问。
- 首先完成 Prework 里面的前置任务。前置任务不计分,但要求必做。如果不完成前置任务则 Python 解释器将没有分数。
截止时间
- 第 12 周周四(12 月 5 日)23:59
大作业 4B :Basic 解释器
- GitHub 作业页面
- 锻炼大家读文档的能力,以及对边界情况的考察。
- 锻炼大家对派生类等的语言特性的运用和理解。
分数构成
- 基础任务 80%
- Code Review 20%
- 增强程序鲁棒性 1% (bonus)
- 测试点成功攻击他人程序 2% (bonus)
- 四则运算计算器 3% (bonus)
得分上限为105%,超过不溢出。
截止时间
- 攻击数据点提交时间:第 11 周周六(11 月 30 日)23:59
- 第 12 周周四(12 月 5 日)23:59
大作业 5 : Bookstore
助教
Name | |
---|---|
潘屹 | conlesspan@sjtu.edu.cn |
范晓泽 | jasonfxz@sjtu.edu.cn |
李林璋 | blemiade_qinchuan@sjtu.edu.cn |
罗锦彬 | luojinbin@sjtu.edu.cn |
王瑞天 | skywong14@sjtu.edu.cn |
周宸源 | zhouchenyuan@sjtu.edu.cn |
曾济 | zeng_ji@sjtu.edu.cn |
胡瑞岩 | xiaoh105@sjtu.edu.cn |
王思瀚 | wangsihan_leo@sjtu.edu.cn |
黄文宾 | hartmann_psi@sjtu.edu.cn |
张博涵 | zhangbohan_wx@sjtu.edu.cn |
章子涵 | tiancaizhangdaxian@sjtu.edu.cn |
邱雨航 | qiuyuhang@sjtu.edu.cn |
徐为先 | hz.czar@sjtu.edu.cn |
李方可 | lifangke@sjtu.edu.cn |