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