1. Administrative InformationΒΆ

CMST 355. Network Programming.

(3) Concepts and techniques of developing computer programs that communicate over a network using the TCP/IP and UDP/IP protocols. The course studies how to use sockets to communicate between a client and a server focusing on application-layer protocols commonly used on the Internet. Application layer topics and protocols studied include DNS, web (HTTP, HTML and XML), electronic mail (SMTP, MIME, POP and IMAP) and secure communication (SSL, TLS). Asynchronous and multi-threaded programming technologies are studied as client and server applications are developed. Pr.: CMST 247 and CMST 250. [1]

This course provides students a focused study of an important computer programming topic as an advanced CMST elective. This course will give students knowledge of how to write programs that communicate over a network or use Internet servers, which is needed by many potential employers. This course is at the 300 level because it requires prior knowledge of networking and computer programming, but does not assume prior experience writing networking applications. [2]


[1]The first paragraph above is the course description from K-State’s Course Catalog. It is written fairly generically to allow the class to change without re-writting the course description. For example, it says nothing about Python being used for the programming projects. That is in case someone else ever teaches the class and wants to use another language. I have no intention of using any other programming environment.
[2]The second paragraph above is the RATIONALE statement as it appeared on the faculty ballot as a course addition. The most important piece of information from this paragraph for students to know is that the course applies towards the Computer System’s Technology Bachelor’s Degree as an advanced CMST elective. It can be counted towards either the Programming or Networking Track.