科学计算与程序设计(苏振鹏) 2024春 2023春 2022春 2021春 2020春 2019春 2018春 2017春 2016春  课程号:00731401
2024春 2023春 2022春 2021春 2020春 2019春 2018春 2017春 2016春  课程号:00731401
7.3(7人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:地球和空间科学学院
课程层次:专业选修   学分:3.0
课程主页:暂无(如果你知道,劳烦告诉我们!)
排序 学期

评分 评分 7条点评

  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

这门课主要教授用Fortran科学计算,以及用IDL数据分析(画图)

Fortran部分:前几章作业很少,基本是为了第十章的常用算法做铺垫,其中主要涉及了:数值积分,一元方程求根,RK4,偏微分方程数值格式。其中后三者考察的居多,建议写好通用性强的程序以便实验和考试时使用,偏微分方程数值格式要求看到求解格式的表达式能够转换为代码。并行运算那一章也比较重要,很有可能会让你写一个并行程序比较与串行执行效率差异。

这里附上我个人学习Fortran的一些网站:FORTRANFortran资源

 

IDL部分:相对来说比较简单,不要求用IDL做计算(因为很慢),只需要掌握如何画图就行了。我个人总结画图步骤就是这几点:1.读取数据,2.设置输出eps图像,3.设置色表,4.设置全局变量,5.画图,6.补充colorbar和图例等,7.关文件,结束。是一个非常套路的过程。

相对来说,IDL的网络学习资源较少,这里附上我个人学习IDL的一些网站:

http://www.idlcoyote.com/index.html,前IDL工程师的学习指南。

http://blog.sina.com.cn/s/articlelist_1984634525_11_1.html,国内一个博客,IDL代码库。

https://www.harrisgeospatial.com/docs/idl_programming.html,官方手册,直接搜索查代码含义。

https://malagis.com/search/IDL/,https://malagis.com/tag/IDL/,麻辣GIS网,分享GIS有关讯息的网站。


本学期三次实验和两次考试各占比50%,其实这个比例是同学和老师商量出来的,原定是三七开,老师还戏称商量的同学为“谈判专家”,总之在考察方式上面老师是有一定的灵活性的,同学们有什么要求和想法可以及时提出。平时有一些活动会有bonus,总评加1到5分的样子。(包括但不限于介绍其他语言,翻译并行程序手册等等)

但今年的优秀率只有20%左右,没有调分,卡绩也没有管。得知自己84的时候还是有一点难过,但是最后一次考试实在是挺崩的,而且这么一点小的差异平均来看影响也没那么大,每次被卡我都这样安慰自己(笑)。

如果有什么问题欢迎私信我,希望能够帮到你。:D

4 1 复制链接
somel我83
立即登录,说说你的看法
HyYu 2021春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

如其他同学所述,这门课主要讲述的是 Fortran 语言IDL 软件的使用,前者主要负责进行“科学计算”,后者主要用于读取数据&制图/视频等,考完试也来写一下自己的心得体会,希望能帮到有需要的同学。

 

课程内容-Fortran部分:

可以以分为几部分,结构化程序设计(基本语法、顺序、逻辑、循环结构)、程序数组化、模块化程序设计(函数与过程,模块的使用)以及解决实际问题(输入输出与文件,并行初步,求解问题时用到的一些方法——求方程的根、积分、极值、ODE-set【常用到Runge-Kutta 4】、PDE、插值),看老师的PPT即可,也可参考教材:彭国伦:《Fortran95程序设计》.中国电力出版社.

此处奉上我的 Fortran 复习笔记(字丑勿嫌弃):Fortran_Note.pdf

课程内容-IDL部分:

这部分主要就是读取数据与画图,课程主要分为 【起步(基本语法)】-【画图注意事项】-【读取数据方式】-【一些编程基础】,其中第一部分为基础,第二部分为重点,第三部分...就本课程而言会读取Fortran生成的无格式顺序存储的文件即可,第四部分...能看懂 pro 开头的过程(比如说老师和助教发的文件)其实也就可以了,这部分要求并不是很高(对比Fortran来说),实在不会的记得看Help手册(很有用!)

此处奉上我的 IDL 复习笔记(字丑勿嫌弃):IDL_Note.pdf

 

课程安排与作业:

课程是理论实践结合的,上课的进度基本上是4月中下旬 Fortran 就能讲完,然后三个星期左右 IDL 也就能讲完了的样子,上课会点一些同学回答问题(莫慌,问的问题不难,且老师还是很友善的,只是为了保证同学们不要走神而已)。

课程平时的作业也不多,一般是写一些以后可能用得上的Tool(如随机函数,正态分布函数等),以及课程上不时提到的一些问题(如调研如何利用语句生成文件夹、如何利用IDL制作.gif文件)。当Fortran讲得差不多的时候就开始安排上机实验,两次课为一次的上机实验,本学期一共3次上机,做了3个题目,是往年的一些考试题,有一些难度,比较考验Debug能力--但我认为这是科研工作上所必需的吧,起码对空物学生来说我觉得苏老师的题目难度适中,相关的要求也不高的。

 

课程考试:

学期初老师和同学们会商量考试形式,是笔试+机考,还是以机考作为考试成绩,以及机考的次数。本学期机考2次,都是开卷的,分别在6.16和6.20下午1:00-5:00考(日期&时间也是投票出来的,这一点非常好啊~可就是有点困了......),需要提交.f90(Fortran程序), .pro(IDL代码), .eps(IDL画的矢量图)以及 .pdf(报告)文件

老师对考试的要求是:准确度>=速度>=美观度,但假如大家都没做好,快一点交卷会有点优势(有点吧,但也不是很多)。本学期两次考试情况是,第一次的题确实有难度(后来我才发现我错了一个很沙雕的错误,比如说1.0/(4.0*5.0)我漏了个括号...看来对着公式直接码会有很大风险出错啊),第二题是并行求方程,给定alpha求lambda和给定lambda求alpha并将其对比。我觉得两次考试,第一次考难度,第二次考速度,所以其实难题当前,慢一点做稳一点就行,简单的题当前,就快一点比较好。

以下是我个人的考试建议(也是自己的做法)是:考前把相关的接口/Readme file写好,放在一个文件夹里,考试的时候直接copy改一些量用了,报告的话我是用latex写的,考前把模版准备好,考试写完程序就可以直接编译了。报告里还要简单写一下自己对题目的理解、编程的思路和结果的合理性分析,也就几句话吧,考试的时候留几分钟比较好。

另外还有Fortran和IDL的编程模版——Fortran就是Module Global(变量)+Module Routine(函数&过程)+Program Main(主程序),IDL就是设置变量-读取文件-转载颜色-画图(包括设置系统变量,这部分就是Plot语句和Contour语句及相关的关键字参数要设置好,用到就直接Copy然后稍微改一下)-关闭文件,Windows里面可以用GSview(助教会发安装包)查看.eps文件,Mac系统里面直接点空格键预览即可(因为需要调整边框及比例等)。

 

关于课程给分:

本学期的给分是:平时分30,两次考试40+30,不会调分(--其实考试有点压力),平时的话还会有回答问题&小测试比较快交的同学可得1~2分的Bonus,演讲介绍其他语言的同学也有1~5分的Bonus。最后,老师给的优秀率和去年差不多(也是20%左右),但反过来我会想真的是老师的问题嘛?--我看也不全是,毕竟...其实同学们平时编程的机会&实践也不多的(据我观察),这时候啊就会觉得是“早进组早搬砖早享福”--毕竟老板可能会让你码一下代码搞点东西,不知不觉编程能力就上来了(个人感想)。

欢迎有兴趣的同学和我交流~~

3 2 复制链接
自闭挂科人求指路idl是从哪里下载的(
HyYu回复 @自闭挂科人: 助教给的安装包,应该是网上的破解版(8.4版)
立即登录,说说你的看法
苏杭之 2022春
  • 课程难度:中等
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很多
  • 给分:一般
  • 收获:一般

事实上,这是我第三年踏进这个班级了。

大二上的时候提前选修了这门课,然而后面学的一团糟放弃选修跑路了。

但是对于空间物理的同学来说本质是一门必修课,不然学分修不够(按照我们这年仍然如此)。

于是去年正常选了这门课,然而后面由于身体原因学期中休学回家,再次没上完。

今年复学办完手续进来看到老师他的第一反应是:我认识你!

很夸张。

说回课程,由于我连续修读了三年该课程,对于从20年至22年的发展是有一个大概认知的。既然前面的同学对于这门课的内容说的已经比较明白,我就不多加赘述了,单纯讲讲三年来的变化。

20年的课程作业量非常低,且没有助教,不知道是因为线上授课的原因还是因为没有助教工作量太大,当时前半学期的作业老师没有要求学生提交,最后上机次数也不算多。授课顺序是先讲完fortran再讲idl。

21年课程有了两位助教,作业略有提升,但总的来说也是从fortran部分第十章开始才成规模地要求提交作业,上机报告要求也并不严格。进行了三次上机两次考试。授课顺序与20年一致。给分应该是平时分30第一次考试40第二次考试30来给。但是21年最后给分并不好,听我的同学说最后优秀率不到20。

22年课程同样是两位助教,不过今年作业量大幅提升了。从fortran第一部分就开始要求提交作业,对于上机报告的提交也更为严格了。总的来说,今年大约交了11次作业和5次上机报告,每次作业由2到4段fortran和idl程序组成。作业量相对于3学分的课时来说是很大的。但是由于同学的要求,今年只进行了一次考试,最后给分是按照平时作业(含五次上机)40、考勤10、期末考试上机50的比例来给。按照老师的说法,今年优秀率约30,75以上约60。同时,今年调整了课程的顺序,可能是因为隔壁薛老师的空间探测前半部分会涉及idl的内容,所以今年再讲完fortran数组部分后就先讲了idl部分,有意思的是薛老师也收到了学生反馈,今年将idl放到了学期末讲,有点双向奔赴的意思。

感觉作业量上升像是大势所趋一般,今年所有课都比去年作业多了不少。

idl部分其实有很多还不错的工具书,优于老师提供的help文档,但是却不太好找,希望老师明年能给同学提供一些参考,感觉会好很多。可惜的是,这些工具书我也是考试前一天才发现的。

2 2 复制链接
十分响亮的名字学长球球idl工具书
苏杭之回复 @十分响亮的名字: 可以加我qq 2124937449
立即登录,说说你的看法
senzh 2017春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

本文采用fortran的注释方法23333

给八分吧。

!引言

这门课教的是fortran和idl

苏老师人非常年轻,也非常幽默2333333

但是考试经常考语文题(阅读理解

考试一不小心跪了一两次就会gg了2333

作业蛮多的,每周做的都挺痛苦,而且经常get不到助教的给分点Orz

!给分

给分不是特别好

班上70~人

只有一个4.3

两三个(三四个?)4.0

不过优秀率还是给满了,一大把3.7

所以只要认真学了,拿个3.7不是什么难事(我就是3.7)

!考试

考试是五次上机和一次笔试

考试是效率优先,就是谁先做出来谁分高……

所以随机性很大,哪天不小心脑抽筋了就玩脱了……

上机考试完全开卷,除了相互讨论干什么都行(包括上网查)(查到算我输——苏振鹏)(← ←我杜撰的)

平心而论考试不是很难,但是每次都很难get到苏老师的梗……所以经常要花很长时间理解……所以每次都很绝望……

于是我就跪了两次Orz

如果要拿4.0+的话考试最多只能跪一次……

emmmm

大家掂量一下吧2333

!关于选课

这是地空学院空间物理和大气物理专业大三下的专业课

建议大二选,因为这门课只需要用到计算方法和数理方程的一点点知识(不需要掌握,知道就好了)

就是runge-kutta算法和gamma函数什么的!其中计算方法比较重要

大二选说不定还可以考的好明年给同学做助教呢233

不建议大一选,因为计算方法和数理方程都没学

不过这学期有几个大一的dalao选了,而且拿了优秀,太强了……

!收获?

这门课收获不如想象中的大,不过还是不错的

掌握了一点点fortran和idl!并且让我忘了怎么写C了……

因为同时在上计算方法课,所以计算方法课的大作业也是用fortran写的,算是现学现用吧

!其他

平心而论考试不是很难,就是很难get到老师的点……

所以很气……

最后拿了3.7,也不算很差

就是有点不爽吧╮(╯▽╰)╭

1 0 复制链接
艾尔的利刃 2023春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

苏杭之让我打的。 还说我太短了

0 0 复制链接
随机过 2018春
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:很多

首先给分就是按开学说好的比例,到时候会根据实际情况调整,总体来说也蛮正常的。

作业的话呈逐年减少的趋势,稳步趋向正常水平。

考核只考各种数值算法,上机考试是看谁做得快,就算做出来但是很慢的话分数也还是很低很低,所以介意这一点的慎选。

个人而言,收获还挺多的,首先掌握了一门很古老的编程语言,讲道理,现在基本没有课专门讲Fortran了,但很多时候你必须学,因为有很多很优秀的古董代码是用Fortran写的。画图的话,听说下个学期开始强制使用IDL。其实IDL跟MATLAB差不多吧,就这门课而言,问题不大,还能学会一门冷门的制图软件,毕竟IDL的学习资源是非常少的,有人指导还是很好的。还有会讲一点并行程序设计,这挺好的,之前我一点都不懂,学了之后感觉很有帮助。

总之,空间物理的最好选,其他专业的看需求吧,只是想学数值算法,像计算物理等等会介绍更多的东西,没必要选,这门课讲的东西仅仅是用Fortran实现《计算方法B》这门课的东西,比较浅,像经典的有限差分、有限元方法都没讲,想刷成绩的慎重考虑,考试基本不比正确率和代码的高明,主要看速度,不确定性挺大的。

0 0 复制链接
2017春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

大二选的这门课

学习Fortran语言和IDL绘图,感受科学计算和绘图的美妙

用处挺大的,收获很多

考试基本看五次上机考试,对,我就挂在上机考试上了

但是感觉作业比较多啊...貌似去年超级少的...评分我就折个中吧,明年可能会减少吧

0 0 复制链接

苏振鹏

教师主页: 暂无

其他老师的「科学计算与程序设计」课

未知 2017春

苏振鹏老师的其他课

FORTRAN语言 2015春 2014春...
磁层物理 2023秋 2022秋...