810 Computer Science
810:021.
Computing Skills and Concepts -- 3 hrs.
Introduction to operation, applications, and implications of computers.
Introduction to microcomputers and network communications. Develops skill
in current applications and sensitizes students to societal issues related
to computing. (Offered Fall and Spring)
810:022.
Microcomputer Applications and Systems Integration -- 3 hrs.
Emphasis on developing macros and programs, importing and exporting files
between applications, solving and implementing applications and problems,
and other more advanced topics. Examination of software such as word processing,
spreadsheets, and database languages. Prerequisite: 810:021
or equivalent. (Variable)
810:023.
Microcomputer Systems -- 3 hrs.
Functional description of microcomputer operating systems; commands and
utilities, system and file organization, memory and file management, troubleshooting
strategies, and networks. Prerequisite: 810:022
or any one-semester programming course. (Variable)
810:030.
Visual BASIC Programming -- 3 hrs.
Programming using the language Visual BASIC. Broad coverage of language
syntax, programming practice, and programming problems appropriate to
the novice or end-use programmer using a personal computer. (Variable)
810:034.
COBOL -- 3 hrs.
Examination of basic features of COBOL; emphasis on data processing techniques
and structured programming methods. Sequential and indexed file structures,
file maintenance, sorting, information retrieval, and design of reports.
Concepts illustrated by business-type examples. No credit for students
earning credit in 150:034. Prerequisite: one
of the following -- 150:032, 810:030,
810:035, 810:036,
or 810:061. (Offered Fall and Spring)
810:035.
C Programming -- 3 hrs.
Programming using the language C. Broad coverage of language syntax, programming
practice, and programming problems appropriate for the systems and technical
programmer. (Variable)
810:036.
C++ Programming -- 3 hrs.
Programming using the language C++ and object-oriented paradigm. Broad
coverage of language syntax and programming practice. Appropriate for
transferring majors needing C++ and for developers of general computing
applications and systems. (Variable)
810:041.
Computer Organization -- 3 hrs.
Introduction to basic computer structures and assembly language programming.
Machine-level representation of character and numeric data; assembly-level
machine organization; addressing methods and program sequencing; instruction
sets and their implementations. Prerequisite or corequisite: 810:062.
(Offered Fall and Spring)
810:061.
Computer Science I -- 4 hrs.
Introduction to computer programming in the context of a modern object-oriented
programming language. Emphasis on good programming techniques, object-oriented
design, and style through extensive practice in designing, coding, and
debugging programs. Intended for majors and minors. Prerequisite or corequisite:
810:080. (Formerly 810:051.) (Offered Fall
and Spring)
810:062.
Computer Science II-- 4 hrs.
Intermediate programming in an object-oriented environment. Topics include:
object-oriented design, implementation of classes and methods, dynamic
polymorphism, frameworks, patterns, software reuses, limitations, exceptions,
and threads. Prerequisite: 810:061. (Formerly
810:053.) (Offered Fall and Spring)
810:063.
Computer Science III -- 4 hrs.
Intermediate programming using structured techniques. Use of algorithmic
problem solving and functional decomposition in analysis, design, and
implementation. Abstract data types including stacks, queues, lists, strings,
trees, and graphs; implementation of these structures and basic algorithms
for manipulating them. Prerequisite: 810:062.
(Formerly 810:052.) (Offered Fall and Spring)
810:080.
Discrete Structures -- 3 hrs.
Topics include propositional and first-order logic; proofs and inference;
mathematical induction; sets, relations, and functions; and graphs, lattices,
and Boolean algebra, all in the context of computer science. (Offered
Fall and Spring)
810:088.
Topics in Computing -- 3 hrs.
Topics chosen from recent developments in computing appropriate to students
with limited computer science background. Topic will often relate to relatively
sophisticated or technical use of computing or recent developments in
programming. May be repeated on a different topic. Prerequisite: consent
of instructor. (Variable)
810:114(g).
Database Systems -- 3 hrs.
Storage of, and access to, physical databases; data models, query languages,
transaction processing, and recovery techniques; object-oriented and distributed
database systems; and database design. Prerequisites: 810:063;
junior standing. (Offered Fall)
810:115(g).
Information Storage and Retrieval -- 3 hrs.
Natural language processing; 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; and 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)
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; and case studies of modern operating systems.
Prerequisites: 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:151.
Topics in Programming 1 hr.
Quick study of a specified programming language or environment for those
with considerable programming experience. Language syntax and semantics,
common problems solved using it, and best practices. Prerequisite: 810:063.
(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; and
algorithms for parallel machines. Prerequisite: 810:041.
(Variable)
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. Prerequisite: 810:063.
(Variable)
810:155(g).
Translation of Programming Languages -- 3 hrs.
Introduction to analysis of programming languages and construction of
translators. Prerequisites: 810:154; junior
standing. (Variable)
810:161(g).
Artificial Intelligence -- 3-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 techniques: heuristic programming; symbolic representations
and algorithms; and 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. Prerequisites:
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:080; junior standing. (Offered Fall and
Spring)
810:173(g).
Project Management -- 3 hrs.
Examination of problems of organizing, controlling, managing, and evaluating
a software project; software metrics and human input. Prerequisites: 810:172;
junior standing. (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 hrs.
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:179.
Cooperative Education -- 1-4 hrs.
Application of classroom learning to field experience. Credit may not
be applied to major or minor. Offered on credit/no credit basis only.
(Offered Fall and Spring)
810:180.
Undergraduate Research in Computer Science -- 1-3 hrs.
(Offered Fall and Spring)
810:181(g).
Theory of Computation -- 3 hrs.
Topics include regular languages and grammars; finite state automata;
context-free languages and grammars; language recognition and parsing;
and Turing computability and undecidability. Prerequisites: 800:074
or 810:080; junior standing. (Variable)
810:182(g).
Formal Languages -- 3 hrs.
Brief comparison of natural languages and formal languages; grammars and
their generated languages; the Chomsky hierarchy and corresponding automata
theories; operations on languages; some solvable and unsolvable problems.
Students may not earn credit in both 800:187
and 810:182. Prerequisites: 800:184
or 810:181; junior standing. (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:189.
Seminar in Computer Science -- 1-3 hrs.
Exploration of current topics in Computer Science. Analysis and oral presentation
of technical materials in the area. Requires a research paper on a specific
issue. Maximum of 3 hours may be applied toward graduation. 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,
and 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 models, dictionary construction, query processing, file
structures, and content analysis; automatic retrieval systems and question-answering
systems; and evaluation of retrieval effectiveness. (Variable)
810:240.
Computer Systems -- 3 hrs.
Survey of issues in computer system analysis and design. Topics include
single-processor, multi-processor, and networked architectures. Emphasis
on 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.
Survey of analytical modeling techniques for performance evaluation and
measurement; analytical and simulation models of computer systems; and
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 teaching
of computing. May be repeated for maximum of 3 hours. Corequisite: 200:214
or 240:240 or 250:205.
(Variable)
810:251.
Computers, Computer Science, and Education -- 3 hrs.
Survey of history and applications of computers, the field of computer
science, and 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 solution of problems relating
to curriculum development, pedagogy, and management of computer science
education; public presentation of 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 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, and 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 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 include 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, and string
problems. NP-complete problems and provably intractable problems. Prerequisites:
810:153; 810:181.
(Variable)
|