Merge pull request #7 from BlurryLight/main

add UIUC CS357数值方法
This commit is contained in:
conanhujinming
2021-06-20 23:58:22 +08:00
committed by GitHub

View File

@@ -0,0 +1,47 @@
课号:[CS357 Numerical Methods I](https://courses.engr.illinois.edu/cs357/sp2021/pages/resources.html)
教授Prof. Mariana Silva & Tom Gambill & and many
评论贡献者:[Blurry Light](https://github.com/BlurryLight)
- [X] Videos [2020版本B站](https://www.bilibili.com/video/BV1zv411p7nk?from=search&seid=2598392382108593145)
- [X] [slides & notes](https://courses.engr.illinois.edu/cs357/sp2021/pages/resources.html)
- [X] Assignments & solutions: 不公开。
- [X] [Machine problems & tests:](https://courses.engr.illinois.edu/cs357/su2014/mp.htm)
- [X] [Exams & solutions 期末考试和半期考试](https://courses.engr.illinois.edu/cs357/su2014/exams.html)
- [X] [demos 代码片段](https://github.com/gachet/demos-cs357)
## 课程信息
数值方法,计算机工程和科研进阶所必须的知识,尽管现在很多时候已经不需要手动再写数值方法了,但是明白如何选用合适的数值方法,分析数值算法在什么时候能够得出最小误差的解,如何解的最快以及如何得到稳定的解仍然是进阶领域所必须的知识。
这里推荐的资源是多年的杂糅。CS357课程似乎每年会开多次并且由不同的老师执教。尽管Assignments不官方开放谷歌上可以搜到往年的版本并且我在最后附上了stanford的相同课程的作业喜欢做assignments巩固认知的可以做stanford的但是Assignments基本接近于做题。这门课的核心更在于demos的代码片段通过简短的代码阐述了许多数值计算上的核心概念。
## 适合人群
需要高等数学知识(微分,积分相关内容)和线性代数相关的知识,概率论涉及的较少。强烈建议作为研究生阶段的第一门数学课或者本科高年级进入科研领域之前修读这门课。数值方法是一些需要坚固数学基础的计算机方向,如物理模拟,几何优化,机器学习的核心内容。
## 课程评价
缺点:
这门课是每年会开多次不同季节由不同老师执教虽然同样名为CS357但是内容差距蛮大的。每年内容也会有修订。github上谷歌上能搜索到往年的demos和slides内容经常有变化但是核心的内容差不多可以参照着不同年份不同老师教的大纲挑选合适的内容来学习。主要参照demos和slides上的伪代码来学习自己实现常用的算法。
优点:
充足的Python例程和可视化贴心的帮你准备好了`colab jupyter`环境。我看的slides [2014夏季版本](https://courses.engr.illinois.edu/cs357/su2014/lect.htm)推导充分并且伪代码丰富纯靠slides也能完整自学。
## 需要注意的坑点
由于不同年份的同名课程较多,并且并不是每一个老师都开放了课程资料,需要付出甄选资料的精力。建议直接挑选某一个版本来学习,其他的查漏补缺就好。
## 非官方资料推荐
- [stanford cs205 Mathematical Methods for Robotics, Vision, and Graphics](http://graphics.stanford.edu/courses/cs205a/schedule.html) 作业可作为补充,本质上是一样的。
## 后续课程推荐
- [CS 450: Numerical Analysis (Spring 2021)](https://www.bilibili.com/video/BV1Vq4y1L7yM/?spm_id_from=333.788.recommend_more_video.5)