作者neoneon (红茶を饮む程度の能力)
看板NCTU-Teacher
标题Fw: [心得] 吴毅成 网路程式设计
时间Tue Jul 12 03:52:31 2016
※ [本文转录自 neoneon 信箱]
作者:
[email protected] ("爱宕有机奈米负离子猫")
标题: [心得] 吴毅成 网路程式设计
时间: Sun Jul 10 12:31:04 2016
作者: hungys (hungys) 看板: NCTU-Teacher
标题: [心得] 吴毅成 网路程式设计
时间: 2014/02/09 Sun 01:25:20
(按Ctrl+v 预览,稍微修一下版面,可让你这篇文章更专业喔^^)
⊕课名⊕
网路程式设计
▲教授▲
吴毅成
★修课年度★(请加注开课单位 如:大三通识、XX系选修、XX所)
102上,网工所 (大学部可选)
£教了什麽£(课程大概内容。或是额外学会了什麽东西。)
如同课名主要就是教Socket Programming
不过不是用高阶语言例如JAVA或C#等等
而是用C语言而且是以Unix为基础的网路程式
所以能更深刻的了解到Socket的使用以及Server架构的设计
也能同时学习到Unix的程式设计
後半段也有一些case study的部分
例如基本的防火墙设计概念等等
以下是这学期大致的课纲
每年教材应该都差不多但可能多少进度会不一样
* Unix Programming (Pipe, FIFO, Shared memory, Semaphore...)
* Berkeley Socket
* Socket Programming Paradigms
- Iterative Servers
- Concurrent Servers
- Single-Process Concurrent Servers
- Multi-services Servers
- Server issues
- Concurrent Clients
* Internet and Distributed Information Systems
- HTTP, CGI
- Winsock and AsyncSock
- Thread vs. Select
- FastCGI
* Case Studies
- Firewalls
- NAT and UDP Hole Punching
- Remote Procedure Call (RPC)
- Web Socket
◆上课方式◆(投影片、团体讨论、老师教学风格)
老师都是用投影片讲解
讲义都会上传到e3
影印室也都可以买到纸本的
基本上买不买课本其实无所谓
基本上讲解还算清楚
尤其建议後面case study的部分上课要仔细听
不然自己读会比较累(晕)
前面Socket程式设计倒是还可以自己念得来
▼考试作业▼
这学期的分数比重:
Homework0 - 5%
Project1 - 21%
Project2 - 19%
Project3 - 23%
Project4 - 13%
Final Exam - 20%
很明显就是这门课是作业loading很重的课
所以会有大量的时间在写程式上
除了Homework0以外都是写程式
更重要的是每个Project环环相扣
如果Project1没写出来後面可能就掰掰了
老师说要我们练习维护code的能力...
所以你很可能在写Project3时还在小改前面的程式
* Project1 - Remote Access System
写一个远端的shell系统,可以让user连线上去後下一些指令执行程式,
例如ls、cat或其他助教给的程式,而且要可以支援将output pipe到
同行指令或是N行之後,所以会接触到一些Unix的System Programming。
* Project2 - Remote Working Ground
这个作业要包含Project1的所有功能,并加上多人聊天以及跨user pipe
指令的功能。而且要实作selec及fork两种架构的server,等同两份的量。
* Project3 - Remote Batch System
自己写一个简易的HTTP Server并要可以执行CGI程式,支援使用者透过
网页介面下Batch指令到Project1&2的server。此外还要写Winsock的版本,
这是这次作业最累的地方...
* Project4 - SOCKS server
教授说这是最简单的作业,但我觉得反而是最难的作业= =
要跟据SOCKS4 protocol实作一个SOCKS server,然後也会用Project1~3来测。
其他spec或code可以参考GitHub,但我记得我某次作业的小错误还没改。
https://github.com/hungys
这门课作业会用e3防抄袭检查程式(老师说的),我也不清楚,还是认真自己写吧!
¥其他¥(是否注重出席率or严禁迟到?需要的基础?)
完全不重出席
整学期只有一次因为有演讲所以点名
需要的基础是C/C++
Unix Programming其实就是边写作业边学...
修课人数: 97 (扣掉W)
平均: 79.06
90~: 41
80~89: 30
70~79: 14
60~69: 0
~60: 12
W: 38
完全没有调分(除了及格边缘)
但作业有写出来分数就不会太难看
期末考几乎都是万年考古题很好准备
¢最後想说的话¢
要有花很多时间写程式&debug的心理准备
然後这门课助教会很认真回答e3讨论区的问题 大推
&谁适合修这门课&
只要对写程式有热情
即使跟小弟是大学部一样可以来壮胆一下
这学期大学部有13个人修
也适合不喜欢考试or上机考的人修
以上
--
※ Origin: 交大次世代(bs2.to)
◆ From: 111-249-197-216.dynamic.hinet.net
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: neoneon (106.105.175.48), 07/12/2016 03:52:31