- 实验物理的大数据方法(1),40320832,32学时,2019年7月1日(星期一)~2019年7月12日(星期五)
- 实验物理的大数据方法(2),40320842,32学时,2019年7月15日(星期一)~2019年7月26日(星期五)
- 可选应用实践,2019年7月29日(星期一) ~ 2019年8月2日(星期五)
- 以限选课形式,原则上限工物系和物理系同学选课。
- 工物系培养方案要求限选《实验物理的大数据方法(1)》;
- 物理系培养方案要求限选《实验物理的大数据方法(1)》和《实验物理的大数据方法(2)》。
从 20 世纪 60 年代大科学仪器时代开始,大型物理和天文学实验一直是大数据发展 的驱动力。近年来,大数据方法在各学科和工业界的广泛应用和发展,又为实验 物理的大规模数据处理提供了新了方法和技术。 本课程系列以实验物理和大数 据方法为结合点,以粒子与核物理、天体物理、辐射成像、凝聚态物理中数据处 理的真实场景为背景,带领同学进行 Unix 类工具支撑的 Python 大规模科学计算, 构建从原始数据到论文图表的端对端数据流水线,通过适合的任务来驱动学习具 体的数据处理技能。
四星期,围绕物理学中的数据任务,在任务中学习必要的技能。第五周组织同学 自由交流。
令同学能在今后的面对数据类问题,不管是物理的还是非物理的,都能迅速上手。
在课题的训练中为大三的 seminar 做技术上和社会关系上的准备。
突出计算机程序替代数学成为自然的科学语言,理解可复现计算的意义,在撰写 报告时实践可复现计算。
- python
- 画图
- 做为随堂例子
- https://ghost-hunter.net9.org
- 课赛结合,大作业备选
- 正在准备
- 正在准备
在物理学之外,也可选择各学科中基于数据的课题。掌握针对物理实验的大 数据方法,在科学研究十分有益。每个课题,视挑战性,给予不同的加分。
- 公共管理,政策调研分析
- 经济管理,量化金融
- 太阳系演化模拟
- LHCb
带领大家接触命令行,git
版本控制,并入门Python
- 课程介绍,方法论,Python 是什么,在科学计算中有什么优势,给分。
- 实践:安装命令行环境,git bash,若失败尝试 virtual box,若失败分配 ssh 账号。
可能的坑:在 Visual Studio 使用 pip , 在 PyCharm 使用 pip 。 Windows 中文 用户名,带空格的用户名。
git
教学:add
,pull
,push
,diff
,commit
- 实践:继续安装。
作业 1 self-introduction: git push
姓名学号和 Python
版本和感想
- 公布小助教和讨论小组。
Python
环境标识符、变量、单行多行注释、折行、运算符、数据类型。
双精度浮点数,无穷整数,布尔值
- 实践:输入
input
输出print
作业 2 aplusb: input
读入,然后 print
输出。
- 脚本语言,互动环境,脚本模式。选择结构
if, elif, else
,缩进。 - 实践:编辑器
vscode
,选择结构,缩进练习。
作业:猜数字
- 循环结构
for
,while
。range(),List, List comprehension。 - 实践:循环练习
作业:输出 1000 以内素数
- 错误提示,调试,函数,String
- 模块,命令行参数输入,文件IO
作业:文本数据,邮件门的 mbox
- dictionary, namespace
- 实践:统计词频
作业:来自大学的邮件
提供资料: Matlab 功能对比
- 答疑
-
模块
-
numpy 数组, array 运算 (slice, dtype cast)
-
numpy 矩阵,运算,形状,线性代数
-
如何看文档,如何写文档
-
实践: numpy array 与 List 的比较
-
作业:使用 numpy 和筛法找 100000 以内素数
- 常用数据格式标准:
- CSV
- JSON
- HDF5
- 绘图工具:
- 绘图的要领
- Matplotlab/Seaborn
- 实践:激光干涉引力波天文台 LIGO 数据格式
- 引力波是什么
- 黑洞、中子星合并
- 作业:csv, json, hdf5 等的 Numpy 输入输出练习
- scipy
- LIGO 的信号处理
-
pyGeant
- Geometry 4
- 可视化
- Paricles 3
- Physics 3
- Scoring 3
- 数据导出
- Geometry 4
- 答疑
分发 cheatsheet
- 基本命令: 3
- pipe
- git 的使用: 3
- sed 与正则表达式: 2
- Makefile: 3
- 大数据:第四种科学范式
- 关系代数:一切都是表格
- Numpy structured array
- Pandas DataFrame
- 作业:在 Numpy structured array 或 Pandas DataFrame 上进行的简单关系代数运算
- 大作业第二阶段安排
- Pandas Join, Group by
- Python 的 sqlite3 模块与简单的 SQL 语句
- 作业:使用 Pandas DataFrame 或者 sqlite3 进行简单的关系代数运算
- R 的 python 调用: Rpy2
- 使用 R data.frame
- 使用 R ggplot2 画图
- 其它例子
- ROOT 的 python 调用
- GEANT4 的 python 调用
- 作业:R ggplot2 画图练习
- 高性能计算与超级计算机
- 使用 Makefile 调度的例子
- 云计算
- MapReduce 与函数式编译
- 错误恢复
- 信号处理 (以其昏昏使人昭昭)
- 统计学与机器学习
- 大数据、深度学习与人工智能
- 大作业的深入研究
- 匿名评教,讨论 匿名提交改进建议
- GNU/Linux 基本命令行操作
- Git 版本控制基本操作
- GNU Make 的使用
- shell script
- python
- Matlab
- Julia
- CERN ROOT
- Scala/Spark/Hadoop
- gnuplot
- R
- Jupyter
- 教师 1 人,助教 3 人左右,小助教 9 人左右。
-
采取百分制,总分超过100分的同学计100分。
-
课内和日常作业采用 git,test suite 评分。
每次作业 4 分左右,平时作业共计 70 分。
-
大作业,采用 git + Makefile
make test
测试点计分,30分。 -
选做课题:评估基于课堂展示和报告,给小组下发额外加分,小组成员之间 协调分数的分配。