选课类别:基础 | 教学类型:理论课 |
课程类别:研究生课程 | 开课单位:天文学系 |
课程层次:硕士 | 学分:4.0 |
王宇和王春成老师讲课非常详细,知识密度适中,通过代码展示和运行辅助教学。课堂氛围轻松,王宇老师风趣幽默,对学生宽容度高,还会模仿学生举动,王春成老师声音富有磁性,讲课沉稳细致。总体上,老师们非常负责,课堂资源丰富,补充内容实用,学生对老师普遍有较高的评价。
课程分成Linux与IDL两部分。前半学期由王宇老师讲授Linux系统(主要以Ubuntu为例)的基本操作及脚本编写,包括文件和目录管理、系统管理、网络管理等内容,实用性强;后半学期由王春成老师讲授IDL语言的基本用法,涵盖语法、数据读写和绘图。该课程对于Linux和IDL的零基础同学非常友好,但对已有一定基础的同学收获可能相对较少。
课程没有强制作业,但老师建议课后动手练习。授课内容注重操作性,建议安装Linux系统和IDL并结合课程实践。IDL可以作为数据处理的工具,通过这门课能很好地入门。
考试为开卷形式,题型包括判断题、选择题、填空题和编程题。讲义可打印辅助考试。多数内容在课件中可以找到,编程题有半数基于课上示例。评分标准强调脚本在老师电脑上的可运行性,鼓励使用课上未讲的高级命令。总评给分中规中矩,平时会有几次点名。学生普遍反映给分较好,95+不难。
对天文系学生尤其值得推荐,对于其他对IDL感兴趣或需进行天文数据处理的同学也非常实用。内容讲解透彻,适合从零基础开始学习Linux和IDL。尽管难度适中,但充分的课堂资源和详细的讲解确保了学习效率高,考试给分宽松,非常适合作为学分课程选择。
关于上课:两位王老师讲课都非常非常详细(所以知识密度就有点低了),并且在讲解过程中辅助有代码展示和运行,课堂氛围比较轻松,课间还会讲一些有趣的事情。
关于作业:没有作业,但是老师建议大家课后多动手练一练。
关于课程:这门课内容不多,主要是用来督促自己自学Linux(转码),包括添加/删除程序及软件包管理、用户管理、文件和目录管理、系统管理、硬盘管理、进程管理、网络管理、Shell脚本等等,都是实际科研过程中会用到的。一学期下来Linux从零起步到可以写一些简单的脚本,收获很多,非常不错。参考书的话可以看看《鸟哥的LINUX私房菜》,cover了课程大部分内容(实际上没有必要,因为课程本身不难)。
关于考试:期末开卷,不难,大部分时间真就是抄讲义🤣,只有最后的四道编程题可能拉得出差距。四道编程题两道是写简单的脚本,不难;另外两道IDL,一道白送5分(PPT有源代码),另一道关于画图的不是太会(毕竟IDL我还没有复习完orz)但是凭感觉写完了。
关于给分:直接出总评,卡94,难受😣
整理了这门课的复习资料,等修订完了放上来,比翻ppt快。
Linux系统与天文软件包IDL第一部分.pdf(24.7MB,password:ustc1958)
-----------------------------20230808更新第二部分-----------------------------
Linux系统与天文软件包IDL第二部分.pdf(14.5MB,password:ustc1958)
(剩下的等有时间再说了orz)
-----------------------------20231228更新编程题--------------------------------
只列出我写的 shell 脚本的答案,都很短小(现在来看实际上还可以更简单),具体功能不难看出,就不说了。IDL理论上会有一道 PPT 上的原题,另一个应该就是画图,但是我没复习到那里orz。
需要注意的是,老师上课反复强调编程题的判分标准是看你写的脚本在他自己的电脑上能否跑出正确结果,如果可以就给满分,而且并没有限定必须使用上课讲的命令(毕竟这是一门实用课,能解决问题就行),所以如果你知道一些高级的或者上课没讲的命令,也是可以直接用的(至少截至2022年秋是这样)。当然这也意味着编程题要写工整。
第一题:将目录里面指定文件的内容全部输出到一个文件里。
#!/bin/bash #this script... a=`ls f*` touch file for i in $a do cat $i >> file done
第二题:给定一个data文件,将其中的每一行的指定部分输出到一个文件里(split(https://linux.vbird.org/linux_basic/centos7/0320bash.php#split)不是必须的,也可以用课上讲的命令完成)。
#!/bin/bash #this script... split -l 1 data splitdata a=`ls splitdata*` touch datasplit for i in $a do cat $i | cut -d ":" -f3 | sort >> datasplit done
前半学期由王宇老师讲授Linux系统(以Ubuntu为例)的安装与使用,后半学期由王春成老师讲授IDL语言的使用。
这门课的名字,应该叫做《Linux系统与IDL语言入门》更为准确,毕竟这里并没有大家想象的各种python实用天文包、source extractor、scamp之类的……
如果已经有了一定的Linux系统使用经验,并且至少熟悉一种高级语言、比较清楚面向过程编程套路的话,选择这门课的收获就不会特别大。但如果是新手的话,这门课还是非常推荐的,老师会讲的非常详细,学习起来也不会有太大的障碍。
王宇老师上课非常有意思,对学生的宽容度也很高。我记得有一次上课摸鱼,做了个结印的动作,然后老师就在讲台上把我结印的动作学了一遍【捂脸】。而王春成老师的声音则非常地富有磁性,听起来很沉稳。
考试是开卷考试。同样地,如果已有一定的基础,考试的时候大半的时间都不需要翻阅资料,基本上能提前大半个小时交卷(选择题可能需要看一下概念,填空题大多数靠经验就能写出,代码题按照自己平时编程的习惯,照着ppt给出的语法直接写就好)。
一门研究生课,本科生也可以选(尤其建议天文系同学选)。(本人大四为了学分选这门课,上了觉得挺值。)
教学内容:Ubuntu 系统的使用、IDL 的基本用法。如果将来想使用 IDL 作为数据处理工具的话,上这门课是一个很好的入门方式。
作业:无。(如果没有安装 Ubuntu 系统,最好抽空安装,一边学一边实践操作有比较好的学习效果。IDL 同理。)
考试和给分:开卷考试,可以打印好 ppt。给分还行,一学期没怎么学(在忙其他事),最后三天看了一遍课件,最后考试应该错得不多,总评 92,中规中矩。平时会有点名(大约三次)。
下学期打算选,先占个坑,冲着给分好+学一些东西。
这门课似乎是前半学期linux,后半学期idl。linux个人完全没接触过,所以作为小白应该还是能学到一些有益的知识的。idl部分的话,现在天文科研似乎逐渐转向python了,不过初步了解一些idl大概也没坏处(毕竟说不定哪天就要去读这些上古代码呢hhh,fortran同理)。
python的话,中文的教程里似乎这个很不错,暑假打算看看(我不会说我速成python的动力是要去参加一个高分辨率光谱讨论班,结果python还什么都不会hhh):https://www.cnblogs.com/zhaoqtzt/p/9011636.html
其他参考资料的话,国台20年的一个python课:https://b23.tv/y0R1Hg6
另外记忆中群友推荐过一本英文书,大概是什么python在天文中的应用,但我已经忘了具体是哪本了。
非天文学专业的代培生,因以后的工作要用到天文观测数据选了这门课。
关于课程:
本课程主要内容是讲Linux以及IDL两门高级语言,Linux部分会讲Ubuntu的安装使用、文件管理目录管理等等的基本命令以及shell脚本的编写和应用;IDL则会讲基本的语法、数据读写以及绘图等内容。在技术层面没有涉及过于高深的东西,讲授的内容也非常实用,对零基础接触两门语言的同学十分友好。如果先前对于这两门语言非常熟悉的话,学习这门课可能就不会有太多的收获。
今年王宇老师讲授Linux以及IDL基本语法的一部分。个人非常喜欢听王宇老师讲课,讲授非常细致,除过PPT的内容外还会补充一些细节知识,上课最好能带上电脑,跟上老师节奏基本就能掌握这些内容。一学期听完从小白到能上手写一些shell脚本,个人的收获还是蛮大的。老师性格也很温和,向他请教他会很耐心地进行解答,是很好的老师。
王春成老师负责了IDL程序编写还有绘图的部分,老师讲课十分地沉稳,课件上的例子老师会一一地详细演示,很负责任。这部分内容同理也是建议大家能带上电脑跟着老师来实践,基本在课上就能很好地掌握讲授的内容。
关于考试以及给分:
这门课是开卷考试,可以带打印的课件和其他纸质资料。今年题型有判断、单选多选、填空以及编程题,除编程题外的内容基本都能在课件上找到。四道编程题两道是脚本语言两道是IDL语言,这部分的评分标准是写出能在电脑上运行的符合要求的程序。脚本的编程涉及了文件内容的读取,需要综合讲过的内容来写;IDL有一题能在课件上找到类似的编程示例,另一题则是绘图题目,都很简单。
课程有平时分,学期会有三次点名,不要缺勤就好。平常认真听课,考前看课件复习,考试应该没错太多,最后成绩95,给分也很不错。
课堂氛围很好,上传资源多且丰富
开卷考试,别错太多,就可以90+
老师很认真很负责,很敬重王老师