ECE 470

ECE 470: Network Client-Server Programming

October 10, 2013

3 credits
 Elective for EE & CE (Software Engineering Option: Required)

Contact hours: Two 75-minute lectures per week
Course Instructor or Coordinator: Dr. Nigel John

Textbook: N/A
Other supplementary material:
Unix Network Programming: The Sockets Networking API Vol. 1, W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Addison-Wesley

2013-2014 University of Miami Academic Bulletin Description:

Introduction to client-server systems. Internet client-server communication programming. Advanced client-server design and implementation based on distributed component object model in Windows and UNIX.

Prerequisites or co-requisites: ECE 218

Specific outcomes of instruction: The student will be able to:

1. Design client-server systems

2. Use concurrent programming techniques to implement large scale servers

3. Implement client-server designs in high level programming languages (C/C++, Java)


1. Introduction to Network Services

2. Client-Server Model (Application Protocols, BNF)

3. Network Sockets (Basic Concepts, Operational Modes, States, Sockets APIs)

4. Servers (Connection-oriented, Connectionless, Concurrent, Iterative, Multi-Protocol, Multi-Service)

5. Concurrent Programming

6. Java Sockets

7. Advanced Topics (RPC, RMI, Web Services)

Student outcomes strongly addressed by the course:

(a) an ability to apply knowledge of mathematics, science, and engineering (3):

Students must apply engineering skills in the development of a client-server application

(c) an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability (4):

Students design and implement a complex realworld system involving specifications and constraints

(e) an ability to identify, formulate, and solve engineering problems (4):

Students must formulate and solve a course long project involving client-server applications

(g) an ability to communicate effectively (4):

Students must submit written progress and final reports on course long project

(i) a recognition of the need for, and an ability to engage in life-long learning (4):

Projects are real-world applications, students must apply knowledge from course to solving.

(j) a knowledge of contemporary issues (3):

Students must apply knowledge of current engineering issues in developing a solution to project.

(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice (4):

Students use a variety of application development tools in solving their project

EEN 570 ABET Table

Translate »