CSTP 2120: Client-Server Computing
Effective date
September 2026
Department
Computer Systems Tech Diploma
School
Trades, Technology and Design
Description
Students learn the fundamentals of developing distributed applications based on the client-server model. Students learn how to design and implement client-server applications based on the TCP/IP network protocol suite, and how to use sockets to enable TCP or UDP communications between hosts and clients.
Student develop console, windows, or browser based applications such as Chatbot, file transfer app, or multi-player games such as Chess. Students learn to secure their applications using the Secure Socket Layer (SSL) or HTTPS protocols.
Students learn to develop networked and distributed applications in consideration of performance, delays, reliability, synchronization, scalability, and security issues.
Year of study
2nd Year Post-secondary
Prerequisites
CSTP 1230 or equivalent, taken prior to or concurrently.
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Explain the key concepts in networked client-server software systems
- Describe how sockets are created, setup, and managed during communications
- Explain the differences between threads and processes in software applications
- Use sockets, datagrams, multi-casting, multi-threading, and multi-processing to develop distributed web, mobile and desktop applications
- Explain how SSL secures the communications between servers and endpoints
- Test, debug, and deploy client-server software applications
- Deploy client-server applications on physically separated hosts, debug and test their performances
Prior Learning Assessment & Recognition (PLAR)
None
Hours
Lecture, Online, Seminar, Tutorial: 30
Clinical, Lab, Rehearsal, Shop, Kitchen, Simulation, Studio: 30
Total Hours: 60
Instructional Strategies
Instructional strategies include classroom lectures, demonstrations, group discussions, computer labs and hands-on practical work.
Grading System
Letter Grade (A-F)
Evaluation Plan
|
Type
|
Percentage
|
Assessment activity
|
|
Assignments
|
45
|
Individual or team projects in which students hands in source code and exe based on the project requirements.
|
|
Midterm Exam
|
15
|
In-class written exam.
|
|
Lab Work
|
25
|
|
|
Final Exam
|
25
|
In-class written exam.
|
Course topics
- Client-server architecture
- Networking and protocols
- Socket and datagram APIs
- Multithreading and thread synchronization in client-server applications
- Building reliable connection oriented communication using TCP
- HTTPS and OpenSSL, HTTP and RTP, non-real time and real-time distributed applications
- Messaging using web sockets
- Building secure connections using HTTPS and OpenSSL
- Building connections using UDP
Notes:
- Course contents and descriptions, offerings and schedules are subject to change without notice.
- Students are required to follow all College policies including ones that govern their educational experience at VCC. Policies are available on the VCC website at:
https://www.vcc.ca/about/governance--policies/policies/.
- To find out if there are existing transfer agreements for this course, visit the BC Transfer Guide at https://www.bctransferguide.ca.