2019-2020 Graduate Catalog ARCHIVED CATALOG: CONTENT MAY NOT BE CURRENT. USE THE DROP DOWN ABOVE TO ACCESS THE CURRENT CATALOG.
Courses - Computer Science
|
|
|
|
Computer Science
CS 620 - Human-Computer Interaction Credits 3
Overview of human-computer interaction principles, guidelines, methods, and tools. User research, low-fidelity prototyping, participatory design, usability evaluation, visual design, usability principles, and affordances. Graphical user interface implementation, including design patterns, event handling, widget tool kits, languages, and development environments.
Notes This course is crosslisted with CS 420. Credit at the 600-level requires additional work.
Prerequisites Consent of Instructor
CS 641 - Advanced Internet Programming Credits 2
Advanced Internet programming design and applications including client/server technologies and environment and software, client/server network operating systems, client/server database management systems, data warehousing environments, data mining, basic networking models and protocols, CASE tools, Groupware, Middleware, Internet security, privacy considerations.
Notes This course is crosslisted with CS 441. Credit at the 600-level requires additional work.
CS 641L - Advanced Internet Programming Lab Credits 1
Helps student develop practical skills and learn to apply industry-wide standards and practices for advanced Internet and Internet 2 applications.
Notes This course is crosslisted with CS 441L. Credit at the 600-level requires additional work.
CS 643 - Information Assurance Credits 3
Introduction to the principles of information assurance. Security awareness, Survey of information security technologies, cryptography, management and administration techniques necessary to improve information security and respond to a security breach, survey of threats to information security, privacy in computing, legal and ethical issues relating to information security, and case studies.
Same as CS 443
CS 645 - Internet Security Credits 3
Internet security theory and practice, advanced IP concepts, the concepts of stimulus and response in the context of securing a network, network packet and traffic analysis, internet protocol (IP) vulnerabilities, packet filtering, intrusion detection, internet exploits, exploit signatures, internet forensics, network security investigation.
Notes This course is crosslisted with CS 445. Credit at the 600-level requires additional work.
CS 648 - Computer Security Credits 3
Overview of computer security, threats, vulnerabilities and controls. Physical security, computer security policies and implementation plans, and computer forensics including penetration testing and investigation. Management issues. Legal, privacy and ethical issues.
Notes This course is crosslisted with CS 448. Credit at the 600-level requires additional work.
CS 649 - Computer and Network Forensics Credits 3
Basics of Computer Forensics and Network Forensics. How to protect your privacy on the internet: Email, obfuscation, web sites and servers. Encryption, data hiding, and hostile code. Investigating Windows and Unix. File system recovery/analysis and file management in different OSes. Technical and legal issues regarding digital evidence collection and forensics analysis. This course is crosslisted with CS 449. Credit at the 600-level requires additional work.
Prerequisites CS 645 or CS 648
CS 651L - Multimedia Systems Design Lab Credits 1
Helps student develop practical skills and learn to apply industry-wide standards and practices for the design of multimedia systems.
Notes This course is crosslisted with CS 451L. Credit at the 600-level requires additional work.
CS 656 - Automata and Formal Languages Credits 3
Regular expressions. Regular, context-free, and unrestricted grammars. Finite and pushdown automata. Turing machines and the halting problem; introduction to decidability.
Notes This course is crosslisted with CS 456. Credit at the 600-level requires additional work.
CS 657 - Database Management Systems Credits 3
Concepts and structures necessary for design and implementation of a database management system. Survey of current database management systems and use of a DBMS.
Notes This course is crosslisted with CS 457. Credit at the 600-level requires additional work.
CS 658 - Introduction to Data Mining Credits 3
Introduction to basic concepts in data mining. Topics include association rule discovery, information extraction, categorization, and clustering. Of particular interest are programming and indexing methods associated with analysis and storage of massive data sets. These include MapReduce, and Locality sensitive hashing.
Notes This course is crosslisted with CS 458. Coursework at the 600-level requires additional work.
Prerequisites Admission to the CSMS or CSPHD programs.
CS 660 - Compiler Construction Credits 3
Current methods in the design and implementation of compilers. Construction of the components of an actual compiler as a term project.
Notes This course is crosslisted with CS 460. Credit at the 600-level requires additional work.
CS 663 - Computer Architecture Credits 3
Introduction to computer architecture. Topics include basic computer organization concepts; history and taxonomy of computer architectures; language and software influences on architecture; instruction set design; stack, array, data flow, and database machines; multiprocessor and network architectures; and fault tolerant designs.
Notes This course is crosslisted with CS 463. Credit at the 600-level requires additional work.
CS 665 - Computer Networks I Credits 3
An introduction to the design and implementation of computer communication networks, their protocols and applications. It covers the technologies and standards in data transmission, telecommunication networks, network architectures, networking hardware, wireless networks, and the basis of the Internet including UDP and TCP as well as a number of application protocols.
Notes This course is crosslisted with CS 465. Credit at the 600-level requires additional work.
Prerequisites CS 370
CS 666 - Computer Networks II Credits 3
Explores advanced topics in computer networks, the protocols, algorithms, hardware, and performance issues, especially in TCP/IP networks. Details of IP routing algorithms, quality of service, protocol implementation issues, router architecture and types, various TCP versions and their performance, the related telecommunication networks, and wireless technologies are discussed.
Notes This course is crosslisted with CS 466. Credit at the 600-level requires additional work.
Prerequisites CS 665 or CS 465
CS 669 - Introduction to Digital Image Processing Credits 3
Background and basics of digital image processing. Topics include: the human visual system, image representation, sampling, image mathematics, and geometry, image enhancement, smoothing and sharpening, the fast Fourier transform, and a survey of image restoration methods.
Notes This course is crosslisted with CS 469. Credit at the 600-level requires additional work.
Prerequisites MATH 365 and STAT 411 and CS 117 or CS 135
CS 670 - Networks and Distributed Systems Credits 3
Explores protocols and experiments with creating and implementing new protocols. In addition, students will be introduced to concepts such as deadlocks in networks/distributed applications, communication in distributed systems (among other RPC/RMI and the client server model in more detail), synchronization, reliability, transparency, and atomicity/transaction semantics.
Notes This course is crosslisted with CS 470. Credit at the 600-level requires additional work.
CS 672 - Software Product Design and Development I Credits 3
Current techniques in software design presented with emphasis on architecture first development. Introduction to the processes involved in development. Practice architectural design through a series of homework problems. Students work in teams to prepare the architecture for a software product.
Notes This course is crosslisted with CS 672. Credit at the 600-level requires additional work.
Prerequisites CS 326 and CS 370
CS 673 - Software Product Design II Credits 3
Synthesis (term project) course to involve students, working in teams, in all of the activities necessary to define, model, implement, test, document, and deliver a program product. Students practice Object-Oriented and Component Based development and utilize UML and CASE tools to model the product and document the process.
Notes This course is crosslisted with CS 473. Credit at the 600-level requires additional work.
Prerequisites CS 672 or CS 472
CS 674 - Decision Environments for Software Product Development Credits 3
Term project course to involve students, working in teams, with all of the activities and tools necessary to measure progress and monitor the development of a software product. Students utilize CASE tools for planning, for requirements management, for configuration management, for change management, and for product and process measurement for a product development project.
Notes This course is crosslisted with CS 474. Credit at the 600-level requires additional work.
Prerequisites CS 672 or CS 472
CS 677 - Analysis of Algorithms Credits 3
Analysis of the time and space complexity of algorithms. Techniques for efficient algorithm design and effect of structure choice on efficiency. Fast algorithms for problems such as set, graph and matrix manipulations, pattern matching, sorting, and storage organization. Exponential time problems and introduction to NP-completeness.
Notes This course is crosslisted with CS 477. Credit at the 600-level requires additional work.
Prerequisites CS 302 and MATH 351
CS 680 - Computer Graphics Credits 3
Graphics hardware, software and applications. Data structures for graphics, graphics languages, computer-aided design, and three-dimensional graphics.
Notes This course is crosslisted with CS 480. Credit at the 600-level requires additional work.
Prerequisites CS 302 and MATH 365
CS 682 - Artificial Intelligence Credits 3
Survey of current artificial intelligence technologies: game playing, theorem-proving, natural language processing, pattern recognition, and heuristic programming.
Notes This course is cross listed with CS 482. Credit at the 600 level requires additional work.
Prerequisites CS 302 and PHIL 422
CS 688 - Big Data Analytics Credits 3
This course provides an introduction to the basic concepts of big data analytics. Topics covered will include: statistical analysis, machine learning, cloud computing, Hadoop, MapReduce, Spark, DataBridge, data privacy, and R language.
Notes This course is crosslisted with CS 488. Coursework at the 600-level requires additional work.
Prerequisites Permission of instructor.
CS 689 - Advanced Computer Science Topics Credits 3
Undergraduate-level course in advanced topics of computer science, depending upon the interest of faculty and students.
Notes This course is crosslisted with CS 489. Credit at the 600-level requires additional work.
CS 690 - Independent Study Credits 1-3
Library research and reports on topics of computer science interest. May be repeated for credit with the consent of the Department of Computer Science
Notes This course is crosslisted with CS 490. Credit at the 600-level requires additional work.
CS 715 - Advanced Analysis of Algorithms Credits 3
Analysis of the complexity and correctness of asymptotically efficient algorithms, including set partitioning, matrix multiplication, integer multiplication and pattern matching algorithms. The theory of NP-completeness; Cook’s theorem and polynomial transformations. Basic NP-complete problems, such as the three-satisfactory, three dimensional matching and Hamiltonian circuit problems. PSPACE-completeness results, such as quantified Boolean formulas.
Prerequisites and
CS 733 - Geographic Data Base Systems Credits 3
Spatial data types and operators: point queries, range queries, translation, rotation, and scaling. Data structures for object representation: arc tree, quadtrees. Commercial data bases vs. spatial data bases: relational, hierarchical, network.
Notes (May not be used to satisfy degree requirements in Computer Science.)
Prerequisites CS 135 or CS 117 or equivalent and STAT 611
CS 740 - Statistical Pattern Recognition Credits 3
Concepts and formal theoretical structures necessary for design and implementation of a pattern recognition system. Topics include: parametric and non-parametric methods, linear and non-linear classifiers and clustering algorithms.
Prerequisites , MATH 253 or 265, and CS 302
CS 741 - Structural Pattern Recognition Credits 3
Survey of advanced pattern recognition techniques. Topics include: graph matching methods, syntactic approaches, neural nets, and context-dependent methods.
Prerequisites and
CS 747 - Cryptography and Information Theory Credits 3
Cryptography, cryptographic systems, encryption algorithms, cryptographic techniques, access control, lattice model of information flow, flow control mechanisms, inference control mechanisms, mechanisms restricting noise, mechanisms restricting statistics, statistical database models.
Prerequisites CS 370, STAT 411
CS 758 - Computational Geometry Credits 3
Geometric searching, point location, range searching, convex hull, Graham’s scan, gift wrapping, dynamic convex hull, proximity closest pair, Voronoi diagram, triangulation. Intersection, visibility shortest paths, geometry of rectangles.
Prerequisites
CS 769 - Advanced Data Base Management Credits 3
Continuation of CS 632, including normalization of relational data bases using functional and multivalued dependencies. Query processing, query interpretation, query optimization, and methods for implementing and optimizing logic queries. Knowledge data bases, distributed data bases and object-oriented data bases.
Prerequisites
CS 772 - Software Architecture Credits 3
Survey of advanced techniques for specifying and designing large software systems. System verification. Reliability and project management.
Prerequisites CS 370, , and , or consent of instructor.
CS 780 - Distributed Computing and Algorithms Credits 3
Methods and algorithms of distributed computing. Topics may include architecture and design goals, formal approaches to distributed computing problems, networks and protocols, models of distributed computing, synchronization and communication, synchronous and asynchronous systems, fault-tolerance and reliability, self-stabilization, distributed algorithms and applications.
Prerequisites CS 370,
CS 781 - Automated Deduction Credits 3
Use of computers for forming deductions and proving theorems in symbolic logic covered. Topics include resolution, unification, proof strategies, and equality. Also examines areas of application: problem solving, question answering, program verification, automatic programming and logic programming (Prolog).
Prerequisites
CS 782 - Expert System Construction Credits 3
Design, organization, and construction of expert systems. Includes general concepts, characteristics, elements, advantages, and examples of expert systems. Also rule-based knowledge representations, inference techniques, implementation tools and shells, and advanced topics.
Prerequisites
CS 783 - Genetic Algorithms and Neural Networks Credits 3
A study of the utility of adaptive methods and their limitations across optimization problems spanning areas of engineering. Topics include genetic algorithms and genetic programming, simulated annealing, tabu search, neural networks, artificial life. Use of software tools for implementations.
CS 787 - Advanced Big Data Analytics Credits 3
Cutting-edge technologies for big data analytics including various deep learning architecture, and algorithms. Explores specialized neural network architectures for both structured and unstructured big data including text analysis, image recognition, natural language processing, video analysis, gaming and security.
Grading Letter grade
CS 788 - Computational Environmetrics Credits 3
Applications of sensor networks and pattern recognition to environmental problems. Geometric pattern recognition: metrics for comparing 2-d shapes, signature functions, turning functions. Geometric algorithms in sensor networks. Position based routing, face routing, broadcasting and multi-casting. Interference aware sensor networks. Data gathering and target recognition. Prototype implementation.
Prerequisites Consent of instructor.
CS 789 - Topics in Advanced Computer Science Credits 3 - 24
Graduate-level course in some field of computer science, at advanced level, depending upon the current interest of the staff and the students.
Notes May be repeated with a different subject matter to a maximum of twenty four credits.
Prerequisites Consent of instructor.
CS 790 - Master’s Project Credits 1 – 3
Research, analysis, and development work towards completion of an approved project.
Notes May be repeated, but only three credits will be applied to the student’s program.
Grading S/F grading only.
Prerequisites Consent of instructor.
CS 791 - Thesis Credits 3 – 6
Research, analysis, and development work towards completion of an approved project.
Notes May be repeated, but only six credits will be applied to the student’s program.
Grading S/F grading only.
Prerequisites Consent of instructor.
CS 792 - Research Seminar Credits 1
Oral presentation of assigned articles.
Notes May be repeated to a maximum of four credits.
Prerequisites Consent of instructor.
CS 795 - Directed Research Credits 3
Supervised research in the doctoral program. May be repeated for a maximum of twelve credits.
Prerequisites Department consent.
CS 798 - Dissertation Proposal Credits 3
Development of a prospectus.
Notes May be repeated to a maximum of 6 credits.
Prerequisites Department consent.
CS 799 - Dissertation Research Credits 1 – 6
Research analysis and writing towards completion of dissertation and subsequent defense.
Notes May be repeated but no more than 18 credits will be allowed in the degree.
Grading S/F grading only.
Prerequisites Department consent.
INF 730 - Human Computer Interaction Credits 3
Covers the fundamental concepts and techniques for design, implementation, and evaluation of human computer interfaces. Topics include Foundations of Human computer interaction, design and implementation techniques for graphical user interfaces, evaluation techniques, and different interface models.
Prerequisites Consent of instructor.
INF 760 - Advanced Theoretical Foundations of Informatics Credits 3
Advanced course to cover mathematical methods for information modeling, analysis, and manipulation. Requires various research article reading and discussions. Topics include proof techniques, first-order logic, computability theory, complexity theory, model theory, and statistics.
Prerequisites INF 700
INF 790 - Informatics Project Credits 3
Advanced project in informatics.
Notes May be repeated for different project topics, but only three credits will be applied to the student’s program.
Prerequisites INF 700 and consent of instructor.
INF 792 - Internship Credits 3
Supervised internship in business, industry, government, or educational institution providing practical experience to use skills and knowledge acquired in informatics and cognate course work.
Prerequisites INF 700 and consent of instructor.
INF 795 - Independent Study in Informatics Credits 1-6
Supervised independent work in a topic of Informatics.
Notes May be repeated but no more than 6 credits will be allowed in the degree.
Grading S/F grading only
Prerequisites INF 700 and Instructor consent
INF 799 - Dissertation Research Credits 1 – 6
Research analysis and writing towards completion of dissertation and subsequent defense.
Notes May be repeated but no more than eighteen credits will be allowed in the degree.
Prerequisites Passing the written comprehensive examination.
ITE 651 - Managing Big Data and Web Databases Credits 3
This course will teach the concepts and techniques of databases for real-time web and big data applications. The course will focus primarily on NoSQL, object oriented, and XML databases. Topics include characteristics and significance of NoSQL databases, NoSQL data formats, key and value pairs, basic schema in NoSQL, and table structures and data types.
Same as Crosslisted with ITE 451
Notes Not repeatable beyond 3 credits.
Grading Letter
|