Information
Code | CEN437 |
Name | Network Programming |
Term | 2024-2025 Academic Year |
Semester | 7. Semester |
Duration (T+A) | 3-0 (T-A) (17 Week) |
ECTS | 6 ECTS |
National Credit | 3 National Credit |
Teaching Language | İngilizce |
Level | Lisans Dersi |
Type | Normal |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Doç. Dr. FATİH ABUT |
Course Instructor |
1 |
Course Goal / Objective
This course covers the practical aspects of computer network programming, with emphasis on the Internet. The goal of this course is to introduce the students to the basics of network programming. Various APIs will be used to implement some practical networking aspects.
Course Content
Introduction to Wireshark. IEEE 802.3 Ethernet and traffic capture analysis with libpcap API. Creating IP and VLSM subnets. Routing. ICMP programming. UDP and TCP programming. Thread management. HTTP and Java servlets. Java server pages. JavaMail API and E-Mail Programming. Java Servlets. JSP. Network simulation and OTcl programming.
Course Precondition
There are no prerequisites.
Resources
1. Harold, E. R., “Java Network Programming”, 4th ed. O'Reilly, 2013, ISBN: 978-1565928701
Notes
2. Douglas Comer, David Stevens, Internetworking with TCP/IP : Client-Server Programming, Volume III (BSD Unix and ANSI C), 2nd edition, 1996, ISBN 0-13-260969-X 3. W. Richard Stevens, Network Programming : Networking API: Sockets and XTI, Volume 1, 2nd edition, 1997 (ISBN 0-13-490012-X)
Course Learning Outcomes
Order | Course Learning Outcomes |
---|---|
LO01 | Knowledge on the basics of protocolanalyzers. |
LO02 | Ability to understand IP addressing and subnetting as well as create routing tables. |
LO03 | Ability to write client and server programs using UDP and TCP protocols. |
LO04 | Ability to write web applications using java servlets and server pages. |
LO05 | Ability to code e-mailclients using POP3, IMAP and SMTP. |
LO06 | Ability to write networksimulation scripts using OTcl. |
Relation with Program Learning Outcome
Order | Type | Program Learning Outcomes | Level |
---|---|---|---|
PLO01 | Bilgi - Kuramsal, Olgusal | Adequate knowledge of mathematics, science and related engineering disciplines; ability to use theoretical and applied knowledge in these fields in solving complex engineering problems. | 3 |
PLO02 | Bilgi - Kuramsal, Olgusal | Ability to identify, formulate and solve complex engineering problems; ability to select and apply appropriate analysis and modeling methods for this purpose. | 3 |
PLO03 | Bilgi - Kuramsal, Olgusal | Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; ability to apply modern design methods for this purpose. | 4 |
PLO04 | Bilgi - Kuramsal, Olgusal | Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively. | 3 |
PLO05 | Bilgi - Kuramsal, Olgusal | Ability to design and conduct experiments, collect data, analyze and interpret results to investigate complex engineering problems or discipline-specific research topics. | 4 |
PLO06 | Bilgi - Kuramsal, Olgusal | Ability to work effectively in interdisciplinary and multidisciplinary teams; individual working skills. | 3 |
PLO07 | Bilgi - Kuramsal, Olgusal | Ability to communicate effectively verbally and in writing; knowledge of at least one foreign language; ability to write effective reports and understand written reports, prepare design and production reports, make effective presentations, and give and receive clear and understandable instructions. | 3 |
PLO08 | Bilgi - Kuramsal, Olgusal | Awareness of the necessity of lifelong learning; ability to access information, follow developments in science and technology, and constantly renew oneself. | 2 |
PLO09 | Bilgi - Kuramsal, Olgusal | Knowledge of ethical principles, professional and ethical responsibility, and standards used in engineering practice. | 4 |
PLO10 | Bilgi - Kuramsal, Olgusal | Knowledge of business practices such as project management, risk management and change management; awareness of entrepreneurship and innovation; knowledge of sustainable development. | 4 |
PLO11 | Bilgi - Kuramsal, Olgusal | Knowledge of the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions. | 5 |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | Introduction to Wireshark | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
2 | Capturing, Filtering and Processing Ethernet Frames with libpcap API: Part 1 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
3 | Capturing, Filtering and Processing IP Packets with libpcap API: Part 2 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
4 | IP, Subnetting and Routing | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
5 | ICMP Programming | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
6 | Capturing, Filtering and Processing UDP Datagramsand TCP Segments with libpcap API: Part 3 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
7 | UDP/TCP Programming with Winsock and Unix Socket APIs/Thread Management: Part 1 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
8 | Mid-Term Exam | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
9 | UDP/TCP Programming with Winsock and Unix Socket APIs/Thread Management: Part 2 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
10 | UDP/TCP Simulation with OTcl | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
11 | HTTP and Java Servlets: Part 1 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
12 | HTTP and Java Server Pages: Part 2 | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
13 | JavaMail API and E-Mail Programming | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
14 | Java Servlets Programming | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
15 | Java Server Pages Programming | Reading the related section in textbook | Öğretim Yöntemleri: Soru-Cevap, Tartışma, Örnek Olay |
16 | Term Exams | Reading the related section in textbook | Ölçme Yöntemleri: Yazılı Sınav, Ödev |
17 | Term Exams | Reading the related section in textbook | Ölçme Yöntemleri: Yazılı Sınav, Ödev |
Student Workload - ECTS
Works | Number | Time (Hour) | Workload (Hour) |
---|---|---|---|
Course Related Works | |||
Class Time (Exam weeks are excluded) | 14 | 3 | 42 |
Out of Class Study (Preliminary Work, Practice) | 14 | 5 | 70 |
Assesment Related Works | |||
Homeworks, Projects, Others | 0 | 0 | 0 |
Mid-term Exams (Written, Oral, etc.) | 1 | 15 | 15 |
Final Exam | 1 | 30 | 30 |
Total Workload (Hour) | 157 | ||
Total Workload / 25 (h) | 6,28 | ||
ECTS | 6 ECTS |