ECTS - Advanced Network Programming
Advanced Network Programming (CMPE536) Course Detail
| Course Name | Course Code | Season | Lecture Hours | Application Hours | Lab Hours | Credit | ECTS | 
|---|---|---|---|---|---|---|---|
| Advanced Network Programming | CMPE536 | Area Elective | 3 | 0 | 0 | 3 | 5 | 
| Pre-requisite Course(s) | 
|---|
| N/A | 
| Course Language | English | 
|---|---|
| Course Type | Elective Courses | 
| Course Level | Natural & Applied Sciences Master's Degree | 
| Mode of Delivery | Face To Face | 
| Learning and Teaching Strategies | Lecture. | 
| Course Lecturer(s) |  | 
| Course Objectives | The objective of this course is to introduce students to advanced network programming concepts. | 
| Course Learning Outcomes | The students who succeeded in this course; 
 | 
| Course Content | Introduction to networking, overview of programming language that will be used to implement course content, threads and multi threading, exceptions, sockets, web sockets, streaming, file streaming, memory I/O streams, object streaming, client-side networking, server-side networking, HTTP networking, message queuing, synchronous and asynchronous com | 
Weekly Subjects and Releated Preparation Studies
| Week | Subjects | Preparation | 
|---|---|---|
| 1 | Basic Network Concepts | Chapter 1 (Text 2) | 
| 2 | Network Communication Protocols and Services | Chapter 3 (Text 1) | 
| 3 | Review of programming language constructs that will be used, exceptions | Chapter 4 (Text 1) | 
| 4 | Threads, concurrency and multi threading. | Chapter 4 (Text 1), Chapter 3 (Text 2) | 
| 5 | Streams, filtering the streams, memory I/O streams | Chapter 2 (Text 2) | 
| 6 | Character streams, object streams | Chapter 2 (Text 2) | 
| 7 | TCP/UDP sockets and programming | Chapter 5 (Text 1) | 
| 8 | Socket based client-server communication | Chapter 6 (Text 1) | 
| 9 | Server-side networking (native and web based) | Chapter 8 (Text 1) & Lecture Notes | 
| 10 | Client-side networking (native and web) | Chapter 9 (Text 1) & Lecture Notes | 
| 11 | Synchronous and asynchronous communication | Chapter 11 (Text 2) | 
| 12 | NETTY like communication control mechanisms | Lecture Notes | 
| 13 | Message Queuing (Producer-consumer architectures) | Lecture Notes | 
| 14 | Multiplexing and routing message streams | Chapter 13 (Text 2) | 
| 15 | Review | |
| 16 | Review | 
Sources
| Course Book | 1. “Advanced Network Programming – Principles and Techniques”, Ciubotaru, Bogdan, Muntean, Gabriel-Miro, ISBN 978-1-4471-5292-7 | 
|---|---|
| 2. “Java Network Programming”, 4th edition, Elliotte Rusty Harold, 2013, ISBN-10: 1449357679 | 
Evaluation System
| Requirements | Number | Percentage of Grade | 
|---|---|---|
| Attendance/Participation | - | - | 
| Laboratory | - | - | 
| Application | - | - | 
| Field Work | - | - | 
| Special Course Internship | - | - | 
| Quizzes/Studio Critics | - | - | 
| Homework Assignments | - | - | 
| Presentation | - | - | 
| Project | 3 | 30 | 
| Report | - | - | 
| Seminar | - | - | 
| Midterms Exams/Midterms Jury | 1 | 35 | 
| Final Exam/Final Jury | 1 | 35 | 
| Toplam | 5 | 100 | 
| Percentage of Semester Work | 65 | 
|---|---|
| Percentage of Final Work | 35 | 
| Total | 100 | 
Course Category
| Core Courses | X | 
|---|---|
| Major Area Courses | |
| Supportive Courses | |
| Media and Managment Skills Courses | |
| Transferable Skill Courses | 
The Relation Between Course Learning Competencies and Program Qualifications
| # | Program Qualifications / Competencies | Level of Contribution | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | Gains the ability to apply advanced computing and/or information knowledge in solving software engineering problems. | X | ||||
| 2 | Develops solutions using different technologies, software architectures and life-cycle approaches. | X | ||||
| 3 | Gains the ability to design, implement, and evaluate a software system, component, process, or program using modern techniques and engineering tools for software engineering practices. | |||||
| 4 | Gains ability to gather/acquire, analyze, interpret data and make decisions to understand software requirements. | |||||
| 5 | Gains skills of effective oral and written communication and critical thinking about a wide range of issues arising in the context of working constructively on software projects. | X | ||||
| 6 | Gains the ability to access information to follow current developments in science and technology, conducts scientific research in the field of software engineering, and conducts a project. | |||||
| 7 | Acquires an understanding of professional, legal, ethical and social issues and responsibilities related to Software Engineering. | |||||
| 8 | Acquires project and risk management skills and gains awareness of the importance of entrepreneurship, innovation, and sustainable development, as well as international standards and methodologies. | |||||
| 9 | Understands the impact of Software Engineering solutions in a global, environmental, societal and legal context while making decisions. | |||||
| 10 | Gains awareness of the development, adoption, and ongoing support for the use of excellence standards in software engineering practices. | |||||
ECTS/Workload Table
| Activities | Number | Duration (Hours) | Total Workload | 
|---|---|---|---|
| Course Hours (Including Exam Week: 16 x Total Hours) | 16 | 3 | 48 | 
| Laboratory | |||
| Application | |||
| Special Course Internship | |||
| Field Work | |||
| Study Hours Out of Class | 16 | 3 | 48 | 
| Presentation/Seminar Prepration | |||
| Project | |||
| Report | |||
| Homework Assignments | 3 | 4 | 12 | 
| Quizzes/Studio Critics | |||
| Prepration of Midterm Exams/Midterm Jury | 1 | 10 | 10 | 
| Prepration of Final Exams/Final Jury | 1 | 10 | 10 | 
| Total Workload | 128 | ||
