Skip to main content

Unit information: Server Software in 2015/16

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Server Software
Unit code COMSM2001
Credit points 10
Level of study M/7
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Steve Gregory
Open unit status Not open




School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

In this unit, you will be shown how to develop network servers and clients. Syllabus will contain:

Basics: functionality; requirements; software; performance; reliability; building server software.

Concurrent Programming: Processes; Threads; Synchronisation; Deadlock; Livelock; Starvation; Communication.

Servers: State; Client/server communication; Network (TCP/IP) client/server interface; RPC client/server interface.

Implementing Servers: Network (TCP/IP) client/server implementation; Sockets; Server and client structure; Data representation; Atomic transactions; Performance; Caching; Reliability; RPC client/server implementation.

Intended Learning Outcomes

On successful completion of this unit, you will be able to: Understand and apply concurrency, Understand client/server protocols, Develop a server that interacts appropriately with its clients.

Teaching Information

20 lectures plus 20 hours laboratory sessions. A further 60 hours are nominally set aside for coursework, private study, etc.

Assessment Information

100% Practical Work

Reading and References

D.E. Comer and D.L. Stevens. Internetworking with TCP/IP (Volume 3): Client-Server Programming and Applications (Linux/Posix Sockets version). Prentice Hall. 2001. ISBN: 0130320714 Recommended

D. Butenhof. Programming with Posix Threads. Addison Wesley. 1997. ISBN: 0201633922 Recommended