CS Graduate Course Descriptions


810:114(g). Database Systems -- 3 hrs.

Storage of, and access to, physical databases; data models, query languages, transaction processing, recovery techniques; object-oriented and distributed database systems; database design. Prerequisites: 810:063; junior standing. (offered fall)

810:115(g). Information Storage and Retrieval -- 3 hrs.

Natural language processing; the analysis of textual material by statistical, syntactic, and logical methods; retrieval systems models, dictionary construction, query processing, file structures, content analysis; automatic retrieval systems and question-answering systems; evaluation of retrieval effectiveness. Prerequisites: 810:063; junior standing. (offered spring)

810:116(g). Projects in Information Science -- 3 hrs.

Projects in information storage and retrieval; data base systems; information mining and modeling; file structures; storage area networks; question-answering systems; transaction processing; natural language processing; the analysis of textual material by statistical techniques; syntactic and logical methods; retrieval systems models, dictionary construction, and XML; query processing; content analysis; evaluation of retrieval effectiveness. Prerequisites: 810:114 or 810:115; junior standing; consent of instructor. (offered fall)

810:118(g). Topics in Information Science -- 3 hrs.

Advanced topics in information storage and retrieval; data base systems; information mining and modeling; file structures; storage area networks; question-answering systems; transaction processing; natural language processing; the analysis of textual material by statistical techniques; syntactic and logical methods; retrieval systems, dictionary construction, and XML; query processing; content analysis; and evaluation of retrieval effectiveness. Prerequisites: 810:114 or 810:115; junior standing; consent of instructor. (Variable)

810:142. Computer Architecture -- 3 hrs.

Basic concepts of computer architecture with special focus on principles underlying contemporary uniprocessor design. Interaction of hardware and software, and consideration of efficient use of hardware to achieve high performance. Topics include: instruction set design, processor design, pipelining, the memory hierarchy, design trade-offs, I/O systems, performance measurement, and multiprocessors. Prerequisite: 810:041. (offered fall)

This course does not carry graduate credit, though you may be able to arrange an independent study for graduate credit built around its content. See your advisor.

810:143(g). Operating Systems -- 3 hrs.

History and evolution of operating systems; process and processor management; primary and auxiliary storage management; performance evaluation, security, and distributed systems issues; case studies of modern operating systems. Prerequisite: 810:041; 810:063; junior standing. (offered spring)

810:145(g). Projects in Computer Systems -- 3 hrs.

Projects in computer architecture, operating systems, networking, and parallel and distributed computing. Prerequisites: 810:142 or 810:143 or 810:147; junior standing; consent of instructor. (offered fall)

810:147(g). Networking -- 3 hrs.

Network architectures and communication protocol standards. Topics include communication of digital data, data-link protocols, local-area networks, network-layer protocols, transport-layer protocols, applications, network security, and management. Prerequisites: 810:041; 810:063; junior standing. (offered spring)

810:148(g). Topics in Computer Systems -- 3 hrs.

Advanced topics in computer architecture, operating systems, networking, and parallel and distributed computing. Prerequisites: 810:142 or 810:143 or 810:147; junior standing; consent of instructor. (variable)

810:153. Design and Analysis of Algorithms -- 3 hrs.

Algorithm design techniques such as dynamic programming and greedy algorithms; complexity analysis of algorithms; efficient algorithms for classical problems; intractable problems and techniques for addressing them; algorithms for parallel machines. Prerequisites: 810:041. (variable)

This course does not carry graduate credit, though you may be able to arrange an independent study for graduate credit built around its content. See your advisor.

810:154. Programming Languages and Paradigms -- 3 hrs.

Organization of programming languages; language design issues including syntax, data types, sequence control, and storage management; comparison of language features from object-oriented, imperative, functional, and logical paradigms. Prerequisites: 810:063. (variable)

This course does not carry graduate credit, though you may be able to arrange an independent study for graduate credit built around its content. See your advisor.

810:155(g). Translation of Programming Languages -- 3 hrs.

Introduction to the analysis of programming languages and construction of translators. Prerequisite: 810:154. (variable)

810:161(g). Artificial Intelligence -- 3 or 4 hrs.

Models of intelligent behavior and problem solving; knowledge representation and search methods; learning; topics such as knowledge-based systems, language understanding, and vision; optional 1-credit lab in symbolic programming teehntques: heuristic programming; symbolic representations and algorithms; applications to search, parsing, and high-level problem-solving tasks. Prerequisites: 810:063; junior standing. (variable)

810:162(g). Intelligent Systems -- 3 hrs.

Design and implementation of programs that apply artificial intelligence techniques to problems such as design, diagnosis, and distributed problem solving. Emphasis on team design and development of large systems. Prerequisite: 810:161; junior standing. (variable)

810:172(g). Software Engineering -- 3 hrs.

Study of software life cycle models and their phases -- planning requirements, specifications, design. implementation, testing, and maintenance; emphasis on tools, documentation, and applications. Prerequisites: 810:063; 810:180; junior standing. (offered fall and spring)

810:173(g). Project Management -- 3 hrs.

Examination of problems of organizing, controlling, managing, and evaluating a sofavare project; also includes software metrics and human input. Prerequisite: 810:172. (offered odd falls)

810:174(g). Real-Time Embedded Systems -- 4 hrs

Specification, design, and implementation principles and techniques for real-time embedded systems. Topics include: programming languages and paradigms, reliability and fault tolerance, concurrent programming, scheduling, and the interaction between hardware and software. Student teams will complete a significant real-time embedded software project. Prerequisites: 810:142; 810:172; junior standing. (offered spring)

810:175(g). Software Testing -- 3 hr

Taxonomy of software defects, approaches to identifying software defects, and test case development. Unit testing, functional testing, and software inspection. Prerequisites: 810:172; junior standing. (offered even falls)

810:178(g). Topics in Software Engineering -- 3 hrs.

Advanced topics in software engineering including, but not limited to, analysis methods, design methods, and quality assurance. Prerequisites: 810:172; junior standing; consent of instructor. (variable)

810:181 (g). Theory of Computation -- 3 hrs.

Topics such as regular languages and grammars; finite state automata; context-free languages and grammars; language recognition and parsing; Turing computability and undecidability. Prerequisites: 800:074 or 810:080; junior standing. (variable)

810:182(g). Formal Languages -- 3 hrs.

Natural languages and formal languages: a brief comparison; grammars and their generated languages; the Chomsky hierarchy and the corresponding automata theories; operations on languages; some solvable and unsolvable problems. Students may not earn credit in both 800:187 and 810:182. Prerequisite: 800:184 or 810:181. (Same as 800:187g.) (variable)

810:188(g). Topics in Computer Science -- 3 hrs.

Topics of general interest from any area of computer science, including systems, software, or theory. Prerequisite: junior standing. (variable)

810:214. Database Management Systems -- 3 hrs.

Database system concepts, physical data organization, the network model and the DBTG Proposal, the hierarchical model, the relational model, relational query languages, design theory of relational databases, query optimization, normalization. (variable)

810:215. Problems in Information Storage and Retrieval -- 3 hrs.

Study of current research in advanced natural language processing; analysis of natural language text by statistical, syntactic, and logical methods; retrieval systems motels, dictionary construction, query processing, file structures, content analysis; automatic retrieval systems and question-answering systems; evaluation of retrieval effectiveness. (variable)

810:240. Computer Systems -- 3 hrs.

Survey of issues in computer system analysis and design. Topics to include single-processor, multi-processor, and networked architectures. Emphasis placed on the relationship between system hardware and software. Prerequisite: graduate standing in Computer Science. (variable)

810:241. Distributed Systems -- 3 hrs.

Overview of basic concepts of distributed systems. Topics may include: distributed machine architecture, distributed programming, distributed file systems, fault tolerance, security issues, load balancing, process migration, and distributed performance measurement. Prerequisite: 810:143. (variable)

810:242. System Performance Analysis -- 3 hrs.

A survey of analytical modeling techniques for performance evaluation and measurement; analytical and simulation models of computer systems; system selection and tuning strategies. Prerequisites: 800:152; 810:143. (variable)

810:250. Applying Education Theory to Computer Science Teaching -- 1 hr.

Application of learning and pedagogical theory and principle to the teaching of computing. Maybe repeated for maximum of three hours. Corequisite: 200:214 or 240:240 or 250:205. (variable)

810:251. Computers, Computer Science, and Education -- 3 hrs.

Survey of the history and applications of computers, the field of computer science, and the use of computers in education. Prerequisite: consent of department. (variable)

810:253. Problems in Teaching Computer Science -- 3 hrs.

Examination and application of research to the solution of problems relating to curriculum development, pedagogy, and management of computer science education; includes a public presentation of a course project. Prerequisites or corequisites: 200:214; 240:240; 250:205; 810:250; 810:251. (variable)

810:255. Computer Science Instructional Software -- 3 hrs.

Seminar providing opportunity for examination of instructional design principles, practice, and research and their application to development of instructional applications for computer science; public presentation of a course project. Prerequisite: 810:251. (variable)

810:261. Problems in Artificial Intelligence -- 3 hrs.

Topics include: philosophy of AI, knowledge representation, search, natural language, speech understanding, vision, planning, learning and learning techniques, knowledge-based systems and system organization and system-building techniques. Prerequisite: 810:161. (variable)

810:262. Machine Learning -- 3 hrs.

Survey of computational approaches to learning. Topics include: inductive learning, explanation-based learning, case-based learning, analytical learning, comparison and evaluation of learning algorithms, cognitive modeling and relevant psychological results. Prerequisite: 810:161. (variable)

810:270. Algorithms -- 3 hrs.

Survey of the analysis and design of algorithms. Topics include algorithm design techniques, efficient algorithms for classical problems, and intractable problems and techniques for solving them. Prerequisite: graduate standing in Computer Science. (variable)

810:280. Theoretical Foundations of Computing -- 3 hrs.

Survey of theoretical models of computation and basic theory of computability. Topics indude Turing machines, undecidability, NP-completeness, and computational complexity. Consideration of applications of theory to contemporary problems in computing. Prerequisite: graduate standing in Computer Science. (variable)

810:281. Combinatorial Algorithms -- 3 hrs.

Overview of combinatorial algorithms. Topics include: advanced data structures, graph algorithms, arithmetic algorithms, parallel algorithms, string problems. NP-complete problems and provably intractable problems. Prerequisites: 810:153; 810:181. (variable)


This document was last modified July 7, 2004.


Eugene Wallingford ............... University of Northern Iowa ............... wallingf@cs.uni.edu