ITNT313 : Networks Programming

Department

Department of Computer Networks

Academic Program

Bachelor in Computer Networks

Type

Compulsory

Credits

03

Prerequisite

ITGS211ITGS213

Overview

Introduction to Network Programming; Transport Layer Protocols; TCP, UDP, and SCTP; Client-Server Model; TCP Sockets; UDP Sockets; SCTP Sockets; I/O Multiplexing; DNS and Address Conversion; Threads Programming; RPC, Raw Sockets and Datalink Access.

Intended learning outcomes

Knowledge & understand

  • To Design a Graphics User Interface and Events
  • To fully understanding the programming of Protocols, sockets and streams
  • To build and design the database
  • To understand the programming using multiples of threads
  • To be able to explain the client-server software

Mental skills

  • To be able to compare between the simple GUI and more complicated ones
  • To be able to distinguish between the multiples of threads programming and the other kind of programming
  • To compare between the using of protocols in the parallel programming
  • To make a final conclusion of programming using Client-Server

Practical & professional skills

  • To use the tools in order to design database
  • To use the tools to deal with the protocols within the networks programming
  • To use the tools in order to design a multiples of threads
  • To use the tools in order to connect, communication and exchange the data in the networks programming

Generic and transferable skills

  • To be able to present , write and communicate with any scientific programs
  • to be able use the new technologies and advanced programming languages
  • to be able to gain intensive knowledge of the modern software

Teaching and learning methods

  • Lectures
  • Tutorials
  • Problem-based learning
  • Mini-projects
  • Software packages tools

Methods of assessments

  • Midterm exam = 40
  • Final exam = 50
  • Project = 10

Course contents

  • Object-Oriented Programming in Java
  • I/O , Applet, Frame and other topics
  • Exception Handling
  • InetAddress
  • TCP/IP Client sockets programming
  • URL( URL Connection, HTTP Server program
  • Socket overview,
  • Reserved sockets,
  • Proxy servers,
  • Internet addressing, port numbe
  • The Main Thread'( Creating a Thread,
  • Implementing Runnable, Extending Thread)
  • Multithreaded
  • Programming(the java thread model,
  • Thread Priorities, synchronization, messaging,
  • Creating Multiple Threads using isAlive(), and join()
  • Synchronization, suspending, resuming, and stopping Threads
  • Database (Hashtable class, Vector class)
  • (Client) Develop a complete software the client-server program that can be able to connect, communicate, exchange between data between the programs, GUI(Frame) is included as well.
  • (Server) Develop a complete software to link up the client-server program that can be able to connect, communicate, exchange between data between the programs, GUI(Frame) is included as well

Multimedia over IP networks (ITNT405)
Cloud Computing (ITNT404)
Fundamentals ubiquitous computing (ITNT403)
Wireless Sensor Networks (ITNT402)
Personal Area Networks (ITNT401)
Security Policy and Procedures (ITNT304)
Human Computer Interaction (ITNT302)
Modeling and Performance Evaluation (ITNT301)
Arabic language 1 (ITAR111)
General English1 (ITEL111)
Physics (ITPH111)
Intro to Information Technology (ITGS111)
Problem solving Technic (ITGS113)
Mathematics I (ITMM111)
Arabic language 2 (ITAR122)
Mathematics II (ITMM122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Information Security (ITGS224)
Foundation of Information Systems (ITGS222)
Computer Architucture & Organization (ITGS223)
Introduction to Internet Programming (ITGS226)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Design and Analysis algorithms (ITGS301)
Data Communication (ITNT311)
Local Area Networks (ITNT312)
Networks Programming (ITNT313)
Cryptographic Algorithms and Protocols (ITNT314)
Wireless and Mobile Networks (ITNT324)
Operating System (ITGS302)
Digital Communication (ITNT323)
Network Protocols (ITNT322)
Wide Area Networks (ITNT321)
Scientific Writing (ITGS304)
IT Project Management (ITGS303)
Distributed Systems (ITNT411)
Network Design and Management (ITNT412)
Network QoS (ITNT421)
High speed Networks (ITNT422)
Graduation Project (ITNT500)