※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 ID)
(是/否/其他条件):是,请主动告知
哪一学年度修课:108-1
ψ 授课教师 (若为多人合授请写开课教师,以方便收录)
林宗男
λ 开课系所与授课对象 (是否为必修或通识课 / 内容是否与某些背景相关)
电机系与数学系大一必修
δ 课程大概内容
(正课内容)
基本的 terminal/cmd 操作
python idle介绍
使用python画图(matplotlib)
variables、Expressions、Statements的观念
使用string format
string functions(大小写、标点符号判断)
python function观念、语法
逻辑(True/False/and/or), if/else
for/while loop
List的各种使用方式、语法
算法(各种sorting)
recursions
Higher Order Functions
set/dict 语法
python random
Function Decorators
class观念、语法
class constructor / instance
基本的 object oriented programming 观念
class operator overloading
hash观念、在class中overloading
class states/methods
class 继承
Data Abstraction (public、protected、private)
(实验课内容)
使用matplotlib、numpy
terminal/cmd 操作
档案系统阶层标准(Filesystem Hierarchy)
python I/O
Sending Email by python
使用 Python Tutor
DFS & BFS 算法
使用 Python Turtle 画图
使用 python 处理 csv 档案
如何使用 Git
网络爬虫
GUI application (pygame)
event-driven programming
萤幕录影
(撷取自助教期末的信)
Ω 私心推荐指数(以五分计) ★★★★★
对于初学者 3到3.5颗星
对于强者 5星
但程式其实还是要靠自己刷题多练,听课的帮助有限。而强者到哪里都可以过得很好,
根本不用在意这些。
η 上课用书(影印讲义或是指定教科书)
[1] How to Think Like a Computer Scientist
[2] Python Tutorial
[3] Problem Solving with Algorithms and Data Structures
(实际上老师上课都会用自制的jupyter notebook 讲义,但也曾多次强调上课讲义内容
对于学习python来说并不足够,需自行阅读教科书)
μ 上课方式(投影片、团体讨论、老师教学风格)
老师使用jupyter notebook的讲义跑范例程式,讲解语法概念,偶尔会问学生问题或请学
生上台写出自己的code
σ 评分方式(给分甜吗?是扎实分?)
平时成绩25%
期中考27.5%
期末考27.5%
Project 20%
额外加分5%(如上课回答问题等)
总共是105%,总成绩不会归一化,直接转换成等第。期中期末满分都超过一百,而超出一
百的分数也照算,所以也是有强者总成绩超过105分。个人认为只要不摆烂,作业有认真写
,project能动或有成果,助教都不会刁难你。
ρ 考题型式、作业方式
OJ和助教人工阅卷
期中考出了许多算法的题目,期末考则加考了一些class的基本语法,个人认为期中难
度较大,建议多刷ACM或者NPSC的题目。
ω 其它(是否注重出席率?如果为外系选修,需先有什么基础较好吗?老师个性?
加签习惯?严禁迟到等…)
加签是用抽签的,我也是莫名其妙就抽到了,不确定有没有本系优先。
这学期的计程开始搭配实验课(计入选修学分),总共是3+2,据助教说实验课可以不拿
学分但一定要出席(实验课必点名),在选课时记得注意不要冲堂。
(听说有别班老师不要求出席实验课的,还有待其他版友补充)
正课不点名,老师说如果你都会了最好不要出席,如果要出席就不要讲话,那会干扰他上
课。
不需任何基础,但会有许多很强的大神来修课,心态不要崩。
Ψ 总结
课程版对于林老师的计程评价普遍不是很好,平心而论我也无法做什么辩解。老师的口条
并不是很好,课程也有些枯燥。我认为这堂课非常吃助教,遇到好的助教会带你上天堂,
比起老师,学生跟助教的互动更加频繁。
像我们这一届的四个助教人都很好,又强又有耐心,会不厌其烦地帮忙解决问题,给分也
很大方。希望以后还能遇到这么Nice的助教。
实验课是助教上课,几乎每次都要交作业,大多是实验课结束就要写好上传,后来开始做
project之后期限有放宽到一周。题目比起其他班算是和蔼许多,可以看出助教比起深度
更注重广度,会介绍许多python的应用,但也是点到为止而已。
期中考较难,对于算法的速度会有要求,一些题目需要了解quick sort 跟merge sort
才有办法AC;期末考个人觉得有比较简单,可能是顾虑到大家要做project的缘故。两次
考试的平均分别是80跟78,但还是有神人可以接近破台,超过100分。
准备考试的方法除了要复习实验课写过跟老师上课提到的题目之外,也要着重复习助教考
前提示的重点,行有余力可以多刷题培养手感。(平心而论这堂课规定的练习量真的不太
够。)
Project 则是分组做出一个成果之后上台报告。没有任何限制,大部分的人是做游戏,也
有人做影像辨识、载歌软件、物理模拟等。透过这个让我了解到神人有多厉害,真的是只
有想不到,没有做不到。很多人都做得很酷炫,完成度很高,美工也很强。
练习做出一个project对于程式能力跟合作能力都会有很大的提升,我认为是蛮不错的课
程设计,而且看起来只要有做出成果就有基本分,如果期中期末考好的话,总成绩不会难
看。
我不会说这门课很好很棒,但也没有评价说的那么不堪,是一门还不错的必修课。
但下学年的助教可能会变,到时候会怎样又很难说了。