Resources |
» |
Home |
|
Go back to my home page. |
» |
Announcement
|
|
Announcement for this class. |
» |
Academic Policy |
|
The academic policy enforced in this class. Students are required to understand and followed this policy. |
» |
Score |
|
The score for each student. |
» |
Work submission |
|
Where to submit your assignments. |
» |
Lecture Notes |
|
Notes for this class. |
|
|
7 habits of highly effective students |
Be punctual - To be a good professional, we need to be punctual from the starting.
Ask questions - The more you ask, the more you understand, the less confused.
Review materials every day - The sooner you review the materials, the better you understand the materials.
Be moderate in resting and eating -
Few people receive good score by cramming everything in a few nights.
Not eating can lead to several health problem, so as not enough
rest.
Be organized - The better you organize your materials, the easier to remember or review.
Prioritize - Not everything receive the same level of attention. Hence, prioritize your work to maximize the benefits.
Think positively - Positive attitude can help students through difficult time.
|
|
|
|
Overview
|
Experience is the mother of
wisdom. This course fills the void in the previous network
classes by providing the students opportunities to write programs in
higher level programming languages--such as C, Java, etc.--to explore
the interaction between each device on the network. Topics include
sockets, TCP/ICP, RPC, streaming, CORBA, .NET, and SOAP.
|
Objectives
|
This is a programming-oriented network
course with
emphasis on individual software development process. After
completing this course, students should:
- be able to apply the software engineering
principles to the development of any network programs.
- be able to create programs to perform
network-related tasks.
- understand the actual mechanism of the
communication between network devices.
- be able to apply the concepts learned in
the network course to create programs.
|
Instructional
Approach |
In order to be successful in this course
- Students are required to read the
textbook before attending each
class session.
- Every
week, there will be a quiz on the subject we are going to study.
A quiz will help students prepare for the upcoming topics.
- There will be approximately 8 - 10
programming assignments for this course. These
assignments are designed to institute the discipline software
engineering practice.
- Every
week, students will present progress on
their semester-long project.
Each project must be an actual software system for an
enterprise.
|
References |
Since many reference books are used in the
class, it will be more
economical to acquire only one title per student and share
different titles among group members.
- (NPPC) นิรุธ อำนวยศิลป์, Network
and Protocols Programming using C/C++, THAIDEV.COM, 2548
ISBN 974-93637-9-5
- (JNP-3) Elliotte Rusty Harold, Java
Network Programming, 3rd Edition, O'Reilly, 2004,
ISBN 0-596-00721-3
- (INPJ) Jan Graba, An
Introduction to Network Programming with Java, Springer,
2007, ISBN 1-84628-380-9
- (CNP1) Douglas C. Schmidt
and Stephen D. Huston, C++
Network Programming, Volume 1: Mastering Complexity with ACE and
Patterns, Addison-Wesley, 2002, ISBN 0-201-60464-7
- (CNP2) Douglas C. Schmidt
and Stephen D. Huston, C++
Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks,
Addison-Wesley, 2002, ISBN 0-201-60464-7
- (UNP1-3) W. Richard Stevens, Bill Fenner,
Andrew M. Rudoff, UNIX®
Network Programming Volume 1, Third Edition: The Sockets Networking API,Addison-Wesley,
2004, ISBN 0-13-141155-1
|
Course outline |
The following schedule is tentative only; it
may change depending on the circumstances. Note that
Week |
Topics |
Book
Section |
1 |
Basic
Concepts |
NPPC: Ch
1
JNP-3: Ch 1
INPJ: Ch 1
CNP1: Ch 0 - 1
UNP1-3: Ch 1 |
2 |
Starting
Network Programming |
NPPC: Ch
2
JNP-3: Ch 2 - 6
INPJ: Ch 2
CNP1: Ch 2 - 3
UNP1-3: Ch 2 |
3 |
Socket
Programming
|
NPPC: Ch
2, 9
JNP-3: Ch 9 - 11
INPJ: Ch 2
CNP1: Ch 3 - 4
UNP1-3: Ch 3 - 4 |
4 |
Client/Server |
NPPC: Ch
3
JNP-3: Ch 2 - 6
INPJ: Ch 8
CNP1: Ch 2, 3
UNP1-3: Ch 2 |
5 |
Multi-processing |
NPPC: Ch
10
JNP-3: Ch 5, 14
INPJ: Ch 5
CNP1: Ch 5, 9
UNP1-3: Ch 26 |
6 |
I/O
Handling |
NPPC: -
JNP-3: Ch 4, 12
INPJ: Ch 4
CNP1: Ch 4
UNP1-3: Ch 6, 14 |
7 |
Mini
project presentation |
-
|
8 |
Midterm |
- |
9 |
Remote
Procedure |
NPPC: -
JNP-3: Ch 18
INPJ: Ch 5
CNP2: Ch 4
UNP1-3: - |
10 |
Synchronous
Processing |
NPPC: -
JNP-3: Ch 13 - 14
INPJ: Ch 8 - 10
CNP1: Ch 7, 10
UNP1-3: Ch 30 |
11 |
Asynchronous
Processing |
NPPC: -
JNP-3: Ch 13 - 14
INPJ: -
CNP2: Ch 3 - 4
UNP1-3: Ch 30 |
12 |
Web
Application |
NPPC: Ch
5 - 6
JNP-3: Ch 7, 8, 15
INPJ: Ch 8, 9, 13
CNP1: -
UNP1-3: Ch 16, 26 |
13 |
Web
Services |
-
|
14 |
Testing |
- |
15 |
Configuration
Management |
- |
16 |
Term
Project Presentation |
-
|
17 |
Final
Exam |
- |
Note
that the above schedule is tentative by nature; it may change at the
instructor's discretion.
|
Evaluation |
The course evaluation will be divided
equally between examinations
and assignments. The distribution of each half is shown
below.
Items |
Weight |
Individual
Assignments |
20% |
Group
Assignments |
20% |
Articles |
10% |
Quizzes |
10% |
Midterm
Exam |
20% |
Final
Exam |
20% |
Please make sure that you have carefully
read and understand the academic
policy.
Note
that the above description is only tentative; it may change at the
instructor's discretion.
|
|
|