CS 280. Programming Language Concepts. 3 credits, 3 contact hours.
Conceptual study of programming language syntax, semantics and implementation. Course covers language definition structure, data types and structures, control structures and data flow, run-time consideration, and interpretative languages.
Organization of operating systems covering structure, process management and scheduling; interaction of concurrent processes; interrupts; I/O, device handling; memory and virtual memory management and file management.
CS 505. Programming, Data Structures, and Algorithms. 3 credits, 4 contact hours.
Intensive introduction to computer science principles: a programming language such as Java; programming design techniques; introductory data structures (linked lists, stacks, sets, trees, graphs); and algorithms (sorting, searching, etc.) and their analysis. Programming assignments are included.
Introduction to the concepts of iteration, asymptotic performance analysis of algorithms, recursion, recurrence relations, graphs, automata and logic, and also surveys the main data models used in computer science including trees, lists, sets, and relations. Programming assignments are given.