ITWT320 : Client server Programming

Department

Internet Technologies Department

Academic Program

Bachelor in Internet Technologies

Type

Compulsory

Credits

03

Prerequisite

ITWT311

Overview

The aim of this course is to give the students network programming concepts using a modern programming platform.Topics covered include: The language’s network classes, the Winsock interface, DNS resolution, the core topics of the network layer - to make sockets connections via TCP, and ―connectionless‖ connections via UDP, asynchronous socket programming, multithreading, and multicasting, providing application layer programming examples - use SNMP to manage network devices, SMTP to communicate with remote mail servers, and HTTP to Web-enable your applications. A practical part includes writing Client-side scripts and server-side programs.

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

Data Mining/Business Intelligence (ITWT301)
Wide Area Networks (ITWT309)
Information Retrieval Systems (ITWT302)
Introduction to Computer Graphics (ITWT303)
Image Processing (ITWT308)
Cloud Computing (ITWT307)
Multimedia over IP Networks (ITWT306)
Principles of Games Developments (ITWT305)
e-commerce (ITWT304)
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)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Statistics (ITST211)
Introduction to Internet Programming (ITGS226)
Foundation of Information Systems (ITGS222)
Computer Architucture & Organization (ITGS223)
Data Structure (ITGS220)
Introduction to Databases (ITGS228)
Information Security (ITGS224)
Human Computer Interaction (ITWT315)
Security Policies and Procedure (ITWT317)
Advanced Databases (ITWT313)
Advanced Internet Programming (ITWT311)
Design and Analysis algorithms (ITGS301)
Operating System (ITGS302)
IT Project Management (ITGS303)
Client server Programming (ITWT320)
Web Applications Development (ITWT413)
Ethical Hacking (ITWT420)
Scientific Writing (ITGS304)
Multimedia System development (ITWT324)
Web Services (ITWT411)
Integrated systems development (ITWT415)
Mobile Applications Development (ITWT422)