这是2021年的课程网页。2022页是在这里.
lp2 HT21(7.5马力)
该课程由计算机科学与工程系提供。
这是一门新课程,现在是第一次开设。因此,该网页尚未完成。但在2021年11月2日课程开始之前,它将包含所有重要信息。
链接
教师
- 审查员:阿内·兰塔
- 监督员:Arianna Masciolini、William Au kvist
联系老师的最佳方式是通过我们的Slack频道(即将推出)
课程目的
本课程面向已完成编程入门课程的学生。如果该课程是用Python编写的(例如Chalmers的DAT455或TIN214),那么一开始就会有一些重复。原因是,对于具有不同背景的学生,例如Java课程,也可以访问该课程。前两节课将是一个快速的“速成课程”,向那些已经知道编程,但不知道Python语法的人简要介绍Python。
之后,本课程将继续学习Python的更高级功能,尤其是更高级的应用程序。最终目标是以一系列实验室的形式涵盖“全栈开发”的所有方面,最终形成一个具有前端、后端和数据库的web应用程序。
时间表
官方时间表在
时间编辑
它给出了时间和地点。但我们也将通过提供录音和其他材料来支持远程参与。这些链接将在公告中提供,这限制了注册用户的访问权限。
唯一强制参加的是一月份的考试——所有其他部分都可以通过互联网制作,大部分都可以通过这个画布页面制作。
课程文献
我们将在这里列出一些推荐书籍和网络文档,但没有一本官方必读书籍。
Python的官方文档
https://docs.python.org/3/
将用作标准参考。本课程的目标之一是清晰地了解Python语言及其标准库中的所有内容,并能够在高级水平上阅读技术文档。
课程设计
本课程包括
- 讲座
- 运动课
- 个人监督
- 讨论论坛(Slack)
- 提交作业(“实验”)并评分-由每个学生单独完成
- 考试
讲座和实验室时间表
下表列出了课程主要活动的时间表(注:初步)
日期、时间、地点 |
事件 |
笔记 |
HC2,2011年2月11日,星期二,10-12 |
第1讲:Python概述和教程I |
|
2011年3月11日星期三,10-12,SB-L400 |
锻炼 |
|
HA4年4月11日星期四,10-12 |
第二讲:Python概述和教程II |
|
9/11,10-12,星期二,HC2 |
第三讲:信息提取方法 |
为实验室1做好准备 |
2011年10月10日至12日,星期三 |
锻炼 |
|
11月11日星期四,10-12,HB4 |
第四讲:图形算法 |
|
11月16日,星期二,10-12,HC2 |
第五讲:Python数据模型,面向对象设计I |
|
2011年11月17日星期三,10-12 |
锻炼 |
|
HA4年11月18日至12日(星期四) |
第六讲:面向对象设计II |
为实验2做好准备 |
2011年3月24日 |
实验1截止日期 |
|
第22-26/11周 |
讲座休息时间 |
在实验室工作的时间 |
HC4,2011年10月12日,星期二30/11 |
第7讲:可视化 |
|
2012年1月10日至12日,星期三 |
锻炼 |
|
2012年2月2日星期四,10-12,HB4 |
第八讲:网络编程 |
|
2012年6月1日 |
实验2截止日期 |
|
HC2,7月12日,星期二,10-12 |
第九讲:服务器端网络编程;全套开发I |
为实验3做好准备 |
2012年8月10日至12日,星期三 |
锻炼 |
|
2012年9月10日至12日星期四,HB4 |
第十讲:全面发展II;额外的实验主题图形着色 |
|
HB4,10-12,14/12,周二 |
第11讲:Yinan Yu(Chalmers,无症状ai、和艾希亚斯),“全栈深度学习”; 额外的实验室主题机器学习 |
准备进行额外的实验室 |
12月15日星期三,10-12 |
锻炼 |
|
12月16日星期四,10-12,HB1 |
第十二讲:模拟试题形式的重复; 约翰·卡米莱里客座演讲(文本AB和数字Grammars AB), "Python在现实世界中的应用”。 |
|
12月22日星期三 |
实验3截止日期 |
|
2022年5月1日星期三 |
额外实验截止日期 |
|
10月1日,14-18日,星期一,约翰内伯格 |
考试 |
|
12月1日星期三 |
实验室重新提交的最后期限 |
|
实验室
该实验室包括构建一个用于公共交通网络中路线查找的web应用程序,以哥德堡有轨电车系统为例;见下图。该应用程序允许查询网络,例如查询从一个地方到另一个地方的最短或最快路线。最终应用将通过哥德堡有轨电车网络进行演示,但其背后的软件将更加通用,不仅适用于交通网络,还适用于多种图形。
这个实验室分为三个部分,每个部分在各自的截止日期前分别提交。在每个实验室工作之前的三堂课将介绍工作的理论背景和技术前提。
- 实验1(1-3课):信息提取收集并合并来自不同来源(文件、web查询)和格式(疼痛文本、Json)的数据。这是一个查找和使用Python相关函数和库的练习。它将提供完整应用程序的数据库部分。
- 实验2(第4-6课):图类和算法实现一个适用于图形分析任务的概念库-将传输网络作为重点,但不是唯一的应用程序。同时,这也是面向对象设计(类、方法、封装、继承、建模)中的一项重要练习。它将提供完整应用程序的后端部分。
- 实验3(第7-9课):Web应用程序。构建web服务器和用户界面,用户可以在其中查找传输网络中的路由。这需要学习可视化库和web应用程序框架。它将提供完整应用程序的前端部分,并将所有组件放在一起。
哥德堡有轨电车网络(图片由Bengt Inge Larsson-Eget arbete拍摄,CC by-SA 4.0,https://commons.wikimedia.org/w/index.php?curid=92652381)
这三个实验室对每个人来说都是必修的,对通过考试的3年级学生来说足够了。对于更高的分数,可以提交额外的实验室——基本上,四年级一个实验室,五年级两个实验室。这些实验室可能的主题包括:
- 一种图形着色算法:用给定的颜色给地图着色。
- 群集:一种无监督机器学习技术,用于查找图形中可区分的部分。
- 普通实验室的额外零件:按照每个实验室的指示,更容易地做某些事情或使用现成的解决方案。
但我们也欢迎课程参与者的建议。前面提到过以下主题,但我们没有时间在课堂上讨论它们,而普通实验室中的额外部分增加了:
- Python程序的调用图:查找函数和类之间的依赖关系
- 关于WikiData的推理:从维基百科的图形数据库中查找和可视化信息。
当然,这些仍然很好地说明了用图形可以做什么。
学习目标和教学大纲
学习目标:
知识和理解:
- 认识Python的所有构造及其背后的设计选择
- 解释模块化和可伸缩编程中的设计备选方案
技能和能力:
- 为复杂任务创建组织良好的软件项目
- 阅读和分析他人编写的代码
- 为合作项目做出贡献
- 使用标准库执行高级任务
- 应用测试方法保证代码质量
- 编写不同详细程度的代码文档
判断和方法:
Studieportalen教学大纲链接:
研究计划
检查表
最重要的部分是实验室,将共同组成一个项目。本项目有必修部分,足以满足3级学生的要求,有选修部分可供4级和5级学生使用。
考试将测试通过做实验获得的知识。它将有专门针对3、4和5级的问题。期末成绩要求该分数的实验室和考试均被接受。
实验可以成对进行,而考试是单独进行的。禁止从实验室中的其他组(对或个人)复制。
教学大纲页面显示了面向表格的课程时间表和基础知识视图课程评分。你可以添加你对课程的任何其他评论、笔记或想法结构、课程政策或其他。
要添加评论,请单击顶部的“编辑”链接。
课程总结: