CSCI 466


3 Cr. (Hrs.:3 Lec.)

A study of the fundamental principles of computer based communication. Principles, design, and standards of networks will be discussed, including standard network protocols. Includes an introduction to telecommunications and basic data transfer processes. Prerequisite: CSCI 332 (1st)

Course generally offered fall (1st) semester.


E1. Students have implemented advanced data structures (hash table, balanced search tree, and a graph) using OOP design in a high level programming language and used them in simple programs. (CSCI 332)

E2. Students understand the syntax and semantics of programming languages and can formally describe portions of a programming language's syntax and semantics. (CSCI 305)

E3. The student can write short papers reviewing technical topics. (WRIT 101)

Course Outcomes:

R1. Students demonstrated conceptual knowledge of the traditional IETF networking protocol stack. (CS: 1, SE: 7)

R2. Students described common internet protocols and chose the appropriate protocol and protocol level when designing networked applications. (CS: 2; SE: 7)

R3. Students designed simple client/server applications that used the TCP and UDP protocols and implemented these designs. (CS: 2, 6; SE: 1, 6)

R4. Students expressed a conceptual understanding of networking and their solutions for common applications through well organized and documented presentation. (CS: 3, 4; SE: 2, 6)

R5. Students demonstrated a conceptual understanding of application-level networking problems and their solutions for common networked applications such as remote file systems, RPCs, electronic mail, and applications that use the World-Wide Web. (CS: 1, 4; SE: 2, 4, 6)

R6. Students demonstrated knowledge of how the Internet is constructed, physically and logically, and how high-level user actions in networked applications are mapped to concrete low-level data representations over networks. (CS: 1, 6; SE: 7)

5-a-1 - Substantial coverage of algorithms and complexity, computer science theory, concepts of programming languages, and software development
5-a-2 - Substantial coverage of at least one general-purpose programming language
5-a-3 - Exposure to computer architecture and organization, information management, networking and communication, operating systems, and parallel and distributed
5-a-4 - The study of computing-based systems at varying levels of abstraction

III-1-2-1 - Computing fundamentals, software design and construction, requirements analysis, security, verification, and validation
III-1-2-2 - Software engineering processes and tools appropriate for the development of complex software systems