作者neoneon (红茶を饮む程度の能力)
看板NCTU-Teacher
标题Fw: [心得] 王协源 - 网路程式设计概论
时间Tue Jul 12 03:08:15 2016
※ [本文转录自 neoneon 信箱]
作者:
[email protected] ("爱宕有机奈米负离子猫")
标题: [心得] 王协源 - 网路程式设计概论
时间: Sun Jul 10 11:46:48 2016
作者: gxlkhhc (XD) 看板: NCTU-Teacher
标题: [心得] 王协源 - 网路程式设计概论
时间: 2013/01/30 Wed 21:22:05
⊕课名⊕
网路程式设计概论
▲教授▲
王协源 教授
★修课年度★(请加注开课单位 如:大三通识、XX系选修、XX所)
101学年 大三上 3CD 5G(H) 资工系选修 网路组核心必修 工程四馆027
£教了什麽£(课程大概内容。或是额外学会了什麽东西。)
一开始先复习了一下计算机网路概论的东西 不过很快带过
另外5G其实教授都上的很High 常常会弄到H堂 或是教授常常3CD请假 5H补课
还有就是助教会来补充一些东西 像是刚开学有补充怎麽用
工作站、linux、gdb、tcpdump、VIM 等 (其实像工作站、vim等计概时就有教过了...)
之後进入本课程 用的是纯 C ,当然你要用 C++ 没人阻止你
从 socket 怎麽开跟写,File descriptor,TCP等介绍
因为很多跟 OS 有关,所以教授花了不少时间在教 OS
教授都开玩笑说他根本就是在上作业系统...
之後教很重要的 select , socket options ,UDP,IP,IO等
後来教 Non-Blocking , Threads 整学期就结束了
教授的讲义满多的,但感觉没有全部都教
课本是用 UNIX Network Programming 3rd Edition
不过可能我受修 SA 影响关系,我遇到不会的都习惯 Google ,所以课本几乎没翻过...
◆上课方式◆(投影片、团体讨论、老师教学风格)
教授用投影片,不过里面大部分都是课本的 code 、图片
教授教得非常的细, code 几乎一行一行讲这行是干麽 连 printf 啥的都不放过
因为我是教授的专题生,听 lab 学长讲说教授最大兴趣就是 trace code 哈哈
不过期末学生反应里面有跟教授反应说这个 trace code 非常无趣
对强者来说一行一行太细会很无聊,对弱者来说一直讲 code 又太乏味
所以教授说以後会改进这个
主要教学风格就是 trace code 吧,藉由一行一行讲解去告诉大家整个架构
每个函式用法等,当然会有一页整个统整每个函式的功能
总之教得细到有点会觉得很慢无趣,但整体而言觉得教授很认真,还算不错
前面讲 OS 地方很多修 OS 甚至系统管理(SA)都没教的东西 学到不少
(咦 这堂课不是 OS 吧XD)
另外就是教授常常会问问题 不过基本上都是前面两三排的人在回答
▼考试作业▼
一次小作业,三个主作业,一个 Final Contest ,两个上机考
上机考各 30% ,主作业各 9% ,小作业 3% , Final 10%
小作业非常简单,因为教授说最近大三的程度太烂,连基本 IO 、字串处理都不会
(还是助教说的 忘记了) 总之小作业就是很简单的字串处理
基本上有计概等级应该就会了吧 这个作业原本没有的
是助教希望能给大家练习而增加的
三个主作业 第一个是聊天室,主要是让大家练习教授最重视的 select 函式
第二个主作业是 UDP 传 binary 档案,主要是练习 UDP 的函式
(传档案用教授之前的研究生开发的 estinet 模拟器)
第三个主作业是练习 Non-Blocking 函式
小作业平均95 三个主作业平均差不多都是75
Demo 方式就是去 lab 跑给助教看,然後被助教问些问题,看看 code 架构等
Final Contest 是跟作业二一模一样,但是要处理封包顺序不同的问题
另外说是 Contest 是因为会记录你花了多久的时间传完 50MB 的档案
并记录你传了多少 (因为会掉封包 要测试你重送会不会浪费)
算法有个公式,不详细讲,总之取决於全班最强那个人的成绩与你的比例
不过由於 Final Contest的测资不公开(前面几个作业都有公开)
所以我去 Demo 时发生自己测试时没发生到的问题,结果传失败直接0分@@
好像也有一些人也是这样结果被测资阴了ww (传成功直接有60分)
由於班上有个大魔王,他传的时间超短
因为公式是与最强者比,加上有些人传失败,最後 Contest 全班平均只有66
上机考虽然说考CDXE共四个小时,但基本上教授、助教人都很好,时间是无限
没有网路,但是可以带印出来的讲义、code,或是带课本
期中上机考考四题,有三题其实用课本范例稍微改一改就好了
所以前三题全班答对人数大概2/3以上 但最後一题变化比较大
答对人数就很少 最後平均59
不过我想有一部份原因应该是到了期中考时,连第一个主作业都还没Dead line
很多人根本连练习都没练习过就上战场了...
期末上机考比起考古题、课本范例,真的变化超大的
虽然只有三题,但是很多人都只写出第一题
第二题 Thread 因为根本没派过作业 答对人数更少 被助教戏称大魔王
最後平均46 整学期全班平均只有63
而且教授不调分 不补考 所以全班57个人被当了22个人 算是给分非常硬
另外就是因为作业、上机考给分几乎就是0跟1 对跟错 没有什麽血汗分数
所以呈阶梯状分布 每个阶梯间差很多分 会有很多的空洞 (例如88分下一个就剩82分)
¥其他¥(是否注重出席率or严禁迟到?需要的基础?)
不点名 需要的基础大概是会写C吧 但是应该有计概程度就可以了
另外就是计算机网路概论 还有linux系统要稍微用过
¢最後想说的话¢
这届助教被教授说是最好的一次 对大家都很好
常常会去系计中看有没有人不会 (因为estinet 模拟器只有系计中有)
然後课程论坛上也会帮大家解答 人真的都很好
学期末教授有跟几个期末考拿满分的开个会 问说课程那些需要改进跟心得
统整一下大概就是认为课程功课太少 大家几乎都没怎麽练习就去考试
导致只会用课本范例去改 像期末上机考那样跟课本完全不同架构的就完全不行
所以建议希望以後改为像计概、OOP那样变成有个上机时间
每一两周去上机直接在上机时间做完作业 「逼」大家练习
因为这堂课就像教授第一堂就讲的 多练习熟悉函式就能高分
另外就是 因为这堂课的函式很多只能跑在 linux 上
所以这堂课都得用 linux 系统,很多人平常都用windows,用dev-cpp 按个F9就结束了
结果到linux系统会用得很痛苦 debug也没法那麽顺
还有就是遇到不会的要嘛算了 稍微认真点的去问助教或上论坛问
其实很多问 google 大神就有答案,毕竟这堂课的东西应该也用了20 30年了
什麽问题没遇过 网路上应该都有解答
另外就是 man 其实很好用 像上机考没网路时 其实可以用 man 去看一些函式怎麽用
总之这堂课就是多练习去熟悉函式吧
&谁适合修这门课&
教授说这堂课是网路组的核心 是网路组非常重要的一堂课
所以他要非常严格 因此才会不调分 不补考吧? (业界标准?)
--
※ Origin: 交大次世代(bs2.to)
◆ From: BlueSu.Dorm13.NCTU.edu.tw
推 darkgerm:推! m(_ _)m 01/30 21:26
→ gxlkhhc:楼上修研究所的 m(_ _)m 01/30 21:27
推 xatier:大大 m(_ _)m 01/31 08:53
推 yukuro:如果未来有作系统的或是架构的研究,gdb, linux等等都会碰到 01/31 21:50
→ yukuro:趁这个机会练习也是不错的 01/31 21:51
说到系统 教授一直推荐他下学期与黄世昆、张立平教授合开的作业系统实作
说这是业界觉得交资毕业生程度越来越差所以希望交资能开的课
不过听说会非常非常操就是了XDDD
然後就是说这堂课修完在业界会很抢手
一直推坑说希望大家来修 呵呵 (想修可惜撞堂)
作者从 BlueSu.Dorm13.NCTU.edu.tw 修改文章於 2013/02/02 Sat 22:54:24
推 j129008:原PO满分神人<(_ _)> 02/04 17:39
→ gxlkhhc:no no 我Final Contest 爆炸惹QQ 02/04 20:58
推 yamamoto1637:推荐这篇文章 02/10 16:08
推 flyray:原PO 大神阿 都不看课本的S 02/18 14:40
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: neoneon (106.105.175.48), 07/12/2016 03:08:15