UNSW第一学期总结

1.COMP9021(principles of programming)
·这门课的内容是用python完成各种老师布置的题目。
·变量名一定要有意义,不能随便起名(例如a,b,c等),否则自己回头调试的时候不知道这个变量是用来干吗的,很影响思路的连贯性。
·变量名风格要统一,最好不要同时出现多种风格,例如studentName,student-age,StudentNumber出现在同一段代码里。虽然不是什么大问题,但也会造成一定的阅读障碍。
·不要有了思路就着急的开始写代码,静下心来思考,找到最佳的方案。
·写代码之前,先写注释,把思路理一遍,也方便调试的时候理解这段代码的用处。
·切忌一口气写完一大段代码,否则的话一旦运行结果错误,光是定位bug就要花费不少精力。理想的做法是每写完一小部分就运行一下,看看有没有出错。这样做看似繁琐,其实节省了不少时间。我认为养成了这个习惯,是我这门课最大的收获之一。
·不要忽视对边界情况的考虑。我每次写作业通过了老师的basic test之后,便心满意足地提交代码了事,最后结果下来却拿不到满分,就是因为有些特殊的情况没有考虑到。在之后的学习以及工作中,脑袋里也随时要有这根弦,敲代码之前,先拿出纸和笔,好好推理一下可能出现的边界和特殊情况。
·要注意封装代码。有些代码体积比较大,使用频率又相对高,最好是用函数封装起来。我之前就是复制粘贴,导致代码整体体积变得很大,并且一旦该段代码有哪里需要修改,那么所有使用了该段代码的地方都要修改,增加了不必要的工作量。

2.COMP9311(Database Systems)
·这门课的内容和国内本科设置的数据库系统相差不大,相对深入一点,难度大一点,至少触发器和函数的运用,以及查询题目的难度,是我本科的数据库系统这门课所不能及的。
·理论和实践要结合。我总是把上课讲的概念当成需要背诵的东西,然后实际操作中又把这些概念抛之脑后。例如数据库范式,那就是每个人在设计数据表和字段的时候该考虑的东西,而我虽然很清楚1NF,2NF,3NF,BCNF各自的含义,实际设计时却没有把它们纳入考量之中。
·掌握了写复杂查询的技巧。任何查询,其实都是要我把需要查询的字段拼在一起形成一张表而已。那么首先确认我的这张“结果表”需要哪些字段,然后确认这些字段属于哪些表,它们之间该如何连接,再理一理具体的业务要求。无论看似多么让人头疼的题目,静下心按照以上步骤梳理,其实都是能写出来的。对这个技巧的掌握,私以为就是我学这门课最大的收获。

3.COMP9020(Foundation of computer science)
·这门课就是把离散数学里和计算机相关的部分抽出来讲了一下,没有多大难度,以后的工作也用不上,所以不予总结。

4.COMP9032(Microprocessor Interfacing)
·这门课的内容是学习汇编语言,学习计算机底层的一些机制和概念,以及使用单片机进行编程。
·这门课作为本学期最大的挑战,我觉得更多是在磨练我的抗压能力和情绪调节能力,因为我以后只想做普通的软件或者web开发而已,汇编肯定是用不上的,也基本上不会和太底层的东西打交道。所以在以后的工作中,遇到了和底层或者硬件相关的东西,我会想起来,噢,当初我是不是学过这个东西?然后会有一些解决问题的思路,不至于完全抓瞎,但也仅此而已了,技术上我觉得没有什么好总结的。

总体总结:和国内相比,国外的学习无论从难度还是工作量来讲,都有了很大的提升。我有一个在上海交大读船舶工程的同学,每天都有很多精力来参加社团活动,因为国际排名比较相近,因此我以为unsw的学习任务也不会有多夸张,结果一来就被打懵了,完全没有心理准备,导致这学期过得比较狼狈。不过几个月下来,也摸索出了在这种负荷下比较适用的学习方法,抗压能力也有了飞跃般的提高,希望自己下学期能把分数考高一些,从容安排学习和生活!

猜你喜欢

转载自blog.csdn.net/weixin_44067569/article/details/86495652