ITSE405 : Networks Programming

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Elective

Credits

03

Prerequisite

ITGS302ITSE322

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

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)