400

CS 400 Seminar

CS 400 Senior Seminar (0 cr)

Technical topics, employment practices, interviewing, and current research topics. Graded P/F. One lec a wk.

Prereq: sr standing in CS.

CS 401 Contemporary Issues in Computer Science

CS 401 Contemporary Issues in Computer Science (1 cr)

Ethical, legal, social, and intellectual property issues; current research topics; and other issues of importance to the professional computer scientist. Graded P/F.

Prereq: Senior standing in CS

CS 404 Special Topics

CS 404 (s) Special Topics (cr arr)

CS 411 Parallel Programming

CS J411/J511 Parallel Programming (3 cr)

Analysis, mapping, and the application of parallel programming software to high-performance systems; the principles of spatial- and temporal-locality of data memory hierarchies in performance tuning; architectural considerations in the design and implementation of a parallel program; the tradeoff between threaded (shared memory) and message-passing (distributed memory) programming styles and performance. Additional projects/assignments required for graduate credit. Recommended Preparation: Proficiency in programming using a modern language such as C or C++.

Prereq: CS 395

CS 412 Parallel Algorithms

CS 412 Parallel Algorithms (3 cr)

Parallel algorithm design; formal analysis of parallel algorithmic complexity; measures of parallel efficiency; relationship between algorithmic structure and parallel mapping strategies; the consequences of spatial- and temporal-locality. Additional projects/assignments required for graduate credit.

CS 415 Computational Biology: Sequence Analysis

CS J415/J515 Computational Biology: Sequence Analysis (3 cr)

Design and analyze algorithms that address the computational problems posed by biological sequence data, such as DNA or protein sequences. Topics may include: comparing sequences (from genes to genomes), database searching, multiple sequence alignment, phylogenetic inferencing, gene discovery and annotation, and genome assembly. Additional class presentation and/or paper required for graduate credit.

Prereq: Knowledge of high level programming language, basic probability theory, basic molecular biology, or Permission

CS 420 Data Communication Systems

CS J420/J520 Data Communication Systems (3 cr)

Concept and terminology of data communications, equipment, protocols (including ISO/OSI and TCP/IP), architectures; transmission alternatives, regulatory issues and network management. Additional projects/assignments reqd for grad cr.

Prereq: CS 150 and 240

CS 428 Multi-User Games and Virtual Environments

CS J428/J528 Multi-User Games and Virtual Environments (3 cr)

Software design and programming issues involved in constructing multi-user computer games and virtual environments, incorporating networking and 3D graphics. Additional projects and assignments are required for graduate credit.

Prereq: CS 210, CS 324, and CS 328

CS 438 Network Security

CS J438/J538 Network Security (3 cr)

Practical topics in network security; policy and mechanism, malicious code; intrusion detection, prevention, response; cryptographic techniques for privacy and integrity; emphasis on tradeoffs between risk of misuse, cost of prevention, and societal issues; concepts implemented in programming assignments. Additional projects/assignments reqd for grad cr. Recommended Preparation: Knowledge of C or C++. CS 438 is a cooperative course available to WSU degree-seeking students.

Prereq: CS 336

CS 439 Applied Security Concepts

CS J439/J539 Applied Security Concepts (3 cr)

Hands-on approach to computer security with emphasis on developing practical knowledge of how cyber attacks work and how to defend against them. Detailed exploration of attacks such as buffer overruns, string attacks, worms, trojan horses, and denial-of-service attacks, and development of defenses against them. Additional work reqd for grad cr. Recommended preparation: Good knowledge of C, operating system concepts and Unix.

Prereq: CS 336 or Permission

CS 441 Advanced Operating Systems

CS J441/J541 Advanced Operating Systems (3 cr)

Principles of contemporary operating systems for network and distributed computer systems; sequential processes, scheduling, process synchronization, device management, file systems, memory management, and protection and security. Additional work required for graduate credit.

Prereq: CS 240

CS 445 Compiler Design

CS 445 Compiler Design (4 cr)

Algorithms used by the following system software: assemblers, macro-processors, interpreters, and compilers; compiler design options and code optimization; all concepts implemented in major programming assignments.

Prereq: CS 210 and CS 385

CS 447 Computer and Network Forensics

CS J447/J547 Computer and Network Forensics (3 cr)

Competence in using established forensic methods in the handling of electronic evidence; rigorous audit/logging and date archival practices; prevention, detection, apprehension, and prosecution of security violators and cyber criminals; identifying and correcting computer vulnerabilities in a way that is smart, prudent, and responsible. Additional work required for graduate credit.

Prereq: CS 336 and Permission

CS 448 Survivable Systems and Networks

CS J448/J548 Survivable Systems and Networks (3 cr)

Computers and networks under malicious threat or attack. Attributes of survivability, trustworthiness, dependability and assurance. Threats to survivability, security, reliability and performance. Models and analytical methods to assess survivability, vulnerability, interdependence and risk. Systemic inadequacies and approaches for overcoming deficiencies. Literature review and case studies. Additional projects/assignments required for graduate credit. Recommended Preparation: CS J449/J549 or CS J438.

CS 449 Fault-Tolerant Systems

CS J449/J549 Fault-Tolerant Systems (3 cr)

Same as ECE J449/J549. Design, modeling, analysis and integration of hardware and software to achieve dependable computing systems employing on-line fault tolerance; theory and fundamental concepts of designing reliable systems; analytical evaluation techniques, faults and advances in ultra-reliable distributed systems, fault-tolerant software systems; case studies include the space Shuttle, Airbus, and Boeing fly-by-wire primary flight computers as well as systems in reliable data bases and financial markets. Additional projects and assignments reqd for grad cr.

Prereq: CS 240 or Permission

CS 451 Advanced Computer Architecture

CS J451/J551 Advanced Computer Architecture (3 cr)

Same as ECE J441/J541. Principles and alternatives in instruction set design; processor implementation techniques, pipelining, parallel processors, memory hierarchy, and input/output; measurement of performance and cost/performance trade-off. Additional work required for graduate credit.

Prereq: CS 150, Stat 301 or Permission

CS 452 Real-Time Operating Systems

CS J452/J552 Real-Time Operating Systems (3 cr)

Topics of interest in the implementation of Real-Time Operating Systems, especially as applicable to embedded systems, including a relevant hardware review, interrupts and interrupt handling, real-time scheduling principles and implementation, latency, task management, shared data and synchronization, timers, message passing, tradeoffs between memory space and speed. Students will build a simple but relatively complete real-time operating system over the course of the semester. Additional projects and assignments are required for graduate credit. (Spring only)

Prereq: CS 240

CS 460 Database Management Systems Design

CS J460/J560 Database Management Systems Design (3 cr)

Theory, analysis and implementation of database architecture, security, performance, query optimization, recovery and concurrency control, reliability, integrity, commit protocols, distributed processing, deadlock detection and management. Additional projects/assignments required for graduate credits.

Prereq: CS 360

CS 470 Artificial Intelligence

CS J470/J570 Artificial Intelligence (3 cr)

Concepts and techniques involved in artificial intelligence, Lisp, goal-directed searching, history trees, inductive and deductive reasoning, natural language processing, and learning. Extra term paper reqd for cr in 570.

Prereq: CS 210

CS 472 Evolutionary Computation

CS J472/J572 Evolutionary Computation (3 cr)

Solving computation problems by 'growing' solutions; simulates natural evolution using analogues of mutation, crossover, and other generic transformations on representations of potential solutions; standard EC techniques such as genetic algorithms and evolutionary programming, mathematical explanations of why they work, and a survey of some applications; the focus is on solving real-world problems using projects. Graduate-level research and possible paper or presentation required for grad cr.

Prereq: CS 210

CS 475 Machine Learning

CS J475/J575 Machine Learning (3 cr)

Analysis and implementation of classic machine learning algorithms including neural networks, deep learning networks, principle component analysis, decision trees, support vector machines, clustering, reinforcement learning, ensemble learning, K-means, self-organizing maps and probabilistic learning such as Markov Chain Monte Carlo and Expectation Maximization algorithms. Techniques of preprocessing data, training, testing, and validating will be discussed along with statistical measures commonly used and pitfalls commonly encountered. Additional work required for graduate credit.

Prereq: CS 210

CS 479 Data Science

CS J479/J579 Data Science (3 cr)

Data science is advancing the conduct of science in individual and collaborative works. Data science combines aspects of data management, library science, computer science, and physical science using supporting cyberinfrastructure and information technology. Key methodologies in application areas based on real research experience are taught to build a skill-set that enables students to handle each stage in a data lifecycle, from data collection, analysis, archiving, to data discovery, access and reuse. Additional work required for graduate credit.

Prereq: Math 330 or permission

CS 480 CS Senior Capstone Design I

CS 480 CS Senior Capstone Design I (3 cr)

Capstone design sequence for computer science majors. Formal development techniques applied to definition, design, coding, testing, and documentation of a large software project. Projects are customer-specified, includes real-world design constraints, and usually encompasses two semesters. Students work in teams. Significant lab work required.

Prereq: CS 383, Engl 317, and Senior standing

CS 481 CS Senior Capstone Design II

CS 481 CS Senior Capstone Design II (3 cr)

Gen Ed: Senior Experience

Continuation of CS480. Application of formal design techniques to development of a large computer science project performed by students working in teams. Significant lab work required.

Prereq: CS 480

CS 499 Directed Study

CS 499 (s) Directed Study (cr arr)