Page 229 - 2016-2018 Graduate Catalog (Revised)
P. 229
COSC 503 Computer Programming
Prerequisites: Graduate Status
Credits: 4
Fundamental techniques of computer program development using a
high-level language. Topics include assignment, expression,
declarations, control statements, arrays, structures, functions and
subroutines, block structure, string handling, and programming
methodology, including top-down design, structured programming,
programming style, and debugging.
COSC 504 SOFTWARE DESIGN AND DEVELOPMENT
Prerequisites: COSC 503
Credits: 3
Topics include preprocessor facilities, storage control, pointer variables,
direct I/O, and recursion. Data structures, such as stacks, queues,
circular lists, linked lists, trees, and graphs. Algorithms for searching,
sorting, merging, hashing. System functions, such as compiling, link
editing, and libraries.
COSC 514 OPERATING SYSTEMS I
Prerequisites: COSC 502 and COSC 504
Credits: 3
Introduction to the structure of multiprogramming computer operating
systems. Topics include concurrent programming and monitors,
process communication and synchronization, process and disk
scheduling, deadlocks, memory hierarchies, paging and segmentation.
Survey of various processors, performance coprocessors, open systems,
O/S security, Unix, and VMS.
COSC 516 COMPUTER ARCHITECTURE
Prerequisites: COSC 502
Credits: 3
Introduction to high-speed computer architecture. Parallel
architecture, memory and I/O subsystems. Principles of pipelining and
vector processing, pipeline computers and vectorization methods,
examples of vector processors. Structures and algorithms for array
processors, SIMD and MIMD computers, interconnection networks,
associative array processors. Case studies of representative high-speed
processors.
228

