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