Executing searches with no text in the Search Terms entry field will render no results.
print page

Computer Science Courses

CS 101 Introduction to Computer Science (3 cr)

CS 105 Computer Science as a Profession (2 cr)

CS 112 Introduction to Problem Solving and Programming (3 cr)

CS 120 Computer Science I (4 cr)

CS 121 Computer Science II (4 cr)

CS 127 (s) Programming Language (1-3 cr, max arr)

CS 130 Programming with Visual Basic (3 cr)

CS 150 Computer Organization and Architecture (3 cr)

CS 204 (s) Special Topics (cr arr)

CS 210 Programming Languages (3 cr)

CS 240 Computer Operating Systems (3 cr)

CS 270 System Software (3 cr)

CS 299 (s) Directed Study (cr arr)

CS ID&WS324 Computer Graphics (3 cr) WSU Cpt S 442

CS 336 Introduction to Information Assurance (3 cr)

CS 350 Intermediate Computer Architecture (3 cr)

CS 360 Database Systems (3 cr)

CS 383 Software Engineering I (3 cr)

CS 384 Software Engineering II (3 cr)

CS 385 Theory of Computation (3 cr)

CS 395 Analysis of Algorithms (3 cr)

CS 398 (s) Computer Science Cooperative Internship (1-3 cr, max 3)

CS 401 Contemporary Issues in Computer Science (1 cr)

CS 404 (s) Special Topics (cr arr)

CS J411/J511 Parallel Programming (3 cr)

CS J412/J512 Parallel Algorithms (3 cr)

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

CS J420/J520 Data Communication Systems (3 cr)

CS 424 Advanced Computer Graphics (3 cr)

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

CS ID-J438/ID-J538 Network Security (3 cr) WSU Cpt S 425

CS J439/J539 Applied Security Concepts (3 cr)

CS J441/J541 Advanced Operating Systems (3 cr)

CS 443 Embedded Systems (3 cr)

CS 445 Compiler Design (4 cr)

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

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

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

CS J451/J551 Advanced Computer Architecture (3 cr)

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

CS J470/J570 Artificial Intelligence (3 cr)

CS J472/J572 Evolutionary Computation (3 cr)

CS 481 Senior Capstone Design (4 cr)

CS 499 (s) Directed Study (cr arr)

CS 500 Master's Research and Thesis (cr arr)

CS 501 (s) Seminar (cr arr)

CS 502 (s) Directed Study (cr arr)

CS 504 (s) Special Topics (cr arr)

CS ID&WS510 Programming Language Theory (3 cr) WSU Cpt S 518

CS 511 Parallel Programming (3 cr)

CS 512 Parallel Algorithms (3 cr)

CS 513 Concurrent Systems (3 cr)

CS 515 Computational Biology: Sequence Analysis (3 cr)

CS 520 Data Communication Systems (3 cr)

CS 528 Games and Virtual Environments (3 cr)

CS 536 Advanced Information Assurance Concepts (3 cr)

CS 538 Network Security (3 cr)

CS 539 Applied Security Concepts (3 cr)

CS 541 Advanced Operating Systems (3 cr)

CS 547 Computer and Network Forensics (3 cr)

CS 548 Survivable Systems and Networks (3 cr)

CS 549 Fault/Tolerant Systems (3 cr)

CS 551 Advanced Computer Architecture (3 cr)

CS 552 Real Time Operating Systems (3 cr)

CS 570 Artificial Intelligence (3 cr)

CS 572 Evolutionary Computation (3 cr)

CS 573 Stochastic Optimization for Industrial and Laboratory Applications (3 cr)

CS 576 Data Mining Topics and Techniques (3 cr)

CS 578 Neural Network Design (3 cr)

CS 580 Graduate Project (1-6 cr, max 6)

CS 599 (s) Non-thesis Master's Research (cr arr)

CS 600 Doctoral Research and Dissertation (cr arr)

Gregory W. Donohoe, Chair, Dept. of Computer Science (237 Janssen Engr. Bldg. 83844-1010; phone 208/885-6501).

Vertically-related courses in this subject field are: CS 120-121.

CS 101 Introduction to Computer Science (3 cr)

May be used as core credit in J-3-c. Survey of computer science and topics of importance to computer scientists; includes topics such as the nature of problems, unsolvability, hardware, human factors, security, social, ethical, and legal issues; exposure to practical aspects of computer networks. Three lectures and one recitation per week. Recommended Preparation: two yrs of high school algebra.

CS 105 Computer Science as a Profession (2 cr)

Introduction to the computer science profession and curriculum; fields of study available; current topics in departmental research; curriculum planning; legal, ethical, and social issues in computing; academic ethics and responsibilities. (Fall only)

CS 112 Introduction to Problem Solving and Programming (3 cr)

May be used as core credit in J-3-c. May not be taken for credit after CS 120. Intro to fundamental problem solving techniques using the computer; use of a programming language, structured programming concepts; use of fundamental data types, including arrays and structures; basic concepts of computer organization, editing, and program execution; programming lab in which the student solves problems using a modern programming language.

Prereq: Math 108 or sufficiently high ACT, SAT, or Math Placement Test score to qualify for Math 143

CS 120 Computer Science I (4 cr)

Carries 2 credits after CS 112. Fundamental programming constructs, Algorithms and problem-solving, Fundamental data structures, Overview of programming languages, Virtual machines, Introduction to language translation, Declarations and types, Abstraction mechanisms, Object-oriented programming. Three lec and one 2-hr lab a wk.

Prereq: Math 108 or sufficiently high ACT, SAT, or Math Placement Test score to qualify for Math 143

CS 121 Computer Science II (4 cr)

Abstract data types and data structures: linked lists, stacks, queues, trees, and graphs. Methods to implement and algorithms to manipulate these structures. Dynamic memory methods, sequential file processing, additional searching and sorting algorithms, recursion, and object-oriented programming. Three lec and one 2-hr lab a wk.

Prereq: CS 120

Coreq: Math 176

CS 127 (s) Programming Language (1-3 cr, max arr)

Introduction to computer programming in a selected language.

Prereq: Permission

CS 130 Programming with Visual Basic (3 cr)

Introduction to fundamental problem solving techniques using the computer and the object oriented, event driven language Visual Basic. The course introduces structured programming concepts; the use of fundamental data types, including arrays and database structures; and editing and program execution. Recommended Preparation: Math 143.

CS 150 Computer Organization and Architecture (3 cr)

Digital logic and digital systems, Machine level representation of data, Assembly level machine organization, Memory system organization and architecture, Interfacing and communication, Functional organization, Multiprocessing and alternative architectures.

Prereq: CS 120

CS 204 (s) Special Topics (cr arr)

CS 210 Programming Languages (3 cr)

Major features of good programming languages, with primary emphasis on language features and their role in writing good software; programming language design alternatives; various types of languages, including procedure, data-flow, functional, and object-oriented languages.

Prereq: CS 121

CS 240 Computer Operating Systems (3 cr)

Overview of operating systems, Operating system principles, Concurrency, Scheduling and dispatch, Memory management, Introduction to net-centric computing, OS security. Process management. Concurrent programming using threads.

Prereq: CS 121 and 150

Coreq: CS 270

CS 270 System Software (3 cr)

Programming productivity tools such as make. Debugging tools. Linking and loading. Shell programming and scripting languages. Process management and interprocess communication. Exception handling. Network concepts and network programming.

Prereq: CS 121

CS 299 (s) Directed Study (cr arr)

CS ID&WS324 Computer Graphics (3 cr) WSU Cpt S 442

Use of the computer to define, store, manipulate, and display 2-D and 3-D objects; 2-D curvefitting and 3-D surface development.

Prereq: CS 213 or CS 121, and Math 330

CS 336 Introduction to Information Assurance (3 cr)

Introduces the confidentiality, availability and integrity goals of information systems; resistance, recognition and response categories of assurance. Focus on computer security and survivability, including cryptography, network security, general purpose operating system security and dependability and special purpose systems for high assurance security and dependability.

Prereq: CS 240

CS 350 Intermediate Computer Architecture (3 cr)

Applied understanding of processor architecture. Design and construction of processor components, including the Arithmetic-Logic Unit (ALU), registers, datapath and control units. Memory interface to the processor. Performance optimizations, including pipelining techniques, cache memory. Portions of a processor will be constructed and simulated using a Hardware Description Language (HDL).

Prereq: CS 150 and CS 240

CS 360 Database Systems (3 cr)

Study of database design and implementation; comparison of basic models (entity-relationship, hierarchical, network, relational); study of query languages; discussion of issues of integrity, security, dependencies, and normal forms.

Prereq: CS 240 and 270

CS 383 Software Engineering I (3 cr)

Current topics in development of software systems; software life cycle model, requirements definition, requirements analysis, software specification, software architectural design, engineering discipline in software development, software measurement, user interface design, legal and ethical issues in software product development. Projects are developed to demonstrate application of concepts. (Fall only)

Prereq: CS 210, 240 and 270 or Permission

CS 384 Software Engineering II (3 cr)

Continuation of CS 383, Current topics in development of software systems; software detailed design, coding and implementation, unit and integration testing, documentation, software release and support, software engineering measurement, software project management, legal and ethical issues in software product development. Projects are developed to demonstrate application of concepts. (Spring only)

Prereq: CS 383

CS 385 Theory of Computation (3 cr)

See Math 385.

CS 395 Analysis of Algorithms (3 cr)

See Math 395.

CS 398 (s) Computer Science Cooperative Internship (1-3 cr, max 3)

Supervised internship in professional computer science settings, integrating academic study with work experience; requires formal plan of activities before co-op assignment and final written report evaluated by on-campus faculty members. Graded P/F.

Prereq: Permission

CS 401 Contemporary Issues in Computer Science (1 cr)

Ethical, legal, 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 (s) Special Topics (cr arr)

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 J412/J512 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.

Prereq: CS 395

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 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 424 Advanced Computer Graphics (3 cr)

Graphical user interfaces; rendering for realism including shading, shadows and textures; fractals; raster displays, pixmaps, and antialiasing; 3D curves and surfaces; color theory; hidden surfaces; ray tracing; games. (Spring only)

Prereq: CS 324, Math 175

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

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

Prereq: CS 210 and CS 324

CS ID-J438/ID-J538 Network Security (3 cr) WSU Cpt S 425

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++.

Prereq: CS 336

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 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 443 Embedded Systems (3 cr)

Interfacing to an embedded system processor. Development of the processor's hardware-software interface. Application software development. Use of C and assembly language in device driver design, monitor-debugger, and real-time kernel. Regular laboratory assignments. (Fall only)

Prereq: CS 383

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 385

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 data 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 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 438.

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: ECE 441 or Permission

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 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 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 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 481 Senior Capstone Design (4 cr)

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

Prereq: CS 384 and Engl 317

CS 499 (s) Directed Study (cr arr)

CS 500 Master's Research and Thesis (cr arr)

CS 501 (s) Seminar (cr arr)

CS 502 (s) Directed Study (cr arr)

CS 504 (s) Special Topics (cr arr)

CS ID&WS510 Programming Language Theory (3 cr) WSU Cpt S 518

Advanced topics in programming language theory including formal syntax, formal semantics, denotational semantics, and type theory; principles of programming language design are stressed; not a comparative language class.

Coreq: CS 385 or Equivalent

CS 511 Parallel Programming (3 cr)

See CS J411/J511.

CS 512 Parallel Algorithms (3 cr)

See CS J412/J512.

CS 513 Concurrent Systems (3 cr)

Issues of parallel computer architecture considering a hardware/software approach; topics include convergence of parallel architectures, fundamental design issues, parallel programs, programming for performance, workload-driven evaluation, shared memory multiprocessors, snoopy-based multiprocessor design, scalable multiprocessors, cache coherence, hardware software tradeoffs, interconnection network design, latency tolerance, and future directions of concurrent systems.

Prereq: CS 150 and CS 240

CS 515 Computational Biology: Sequence Analysis (3 cr)

See CS J415/J515.

CS 520 Data Communication Systems (3 cr)

See CS J420/J520.

CS 528 Games and Virtual Environments (3 cr)

See CS J428/J528.

CS 536 Advanced Information Assurance Concepts (3 cr)

Advanced topics in design and analysis of network, database, and operating system security; current trends and research in mandatory and discretionary security policies. Recommended preparation: CS 336.

CS 538 Network Security (3 cr)

See CS J438/J538.

CS 539 Applied Security Concepts (3 cr)

See CS J439/J539.

CS 541 Advanced Operating Systems (3 cr)

See CS J441/J541.

CS 547 Computer and Network Forensics (3 cr)

See CS J447/J547.

CS 548 Survivable Systems and Networks (3 cr)

See CS J448/J548.

CS 549 Fault/Tolerant Systems (3 cr)

See CS J449/J549.

CS 551 Advanced Computer Architecture (3 cr)

See CS J451/J551.

CS 552 Real Time Operating Systems (3 cr)

See CS J452/J552.

CS 570 Artificial Intelligence (3 cr)

See CS J470/J570.

CS 572 Evolutionary Computation (3 cr)

See CS J472/J572.

CS 573 Stochastic Optimization for Industrial and Laboratory Applications (3 cr)

The course examines industrial and research applications of stochastic optimization techniques. It explores the difficulties of these optimizations through a series of case studies.

Prereq: CS 472 or CS 572; or Permission

CS 576 Data Mining Topics and Techniques (3 cr)

This course will focus on the development of relevant tools, methods, and design of Knowledge from Data (KDD) Systems. Further, it will concentrate on the design and implementation of an advanced data mining system with expectations of optimal performance and flexibility.

Prereq: Graduate Standing or Permission

CS 578 Neural Network Design (3 cr)

See ECE 578.

CS 580 Graduate Project (1-6 cr, max 6)

Application of formal design and documentation techniques to the development of computer programming project; project selected in consultation with student's major professor.

Prereq: CS 383, 480 or Permission

CS 599 (s) Non-thesis Master's Research (cr arr)

Research not directly related to a thesis or dissertation. (There is a limit on the number of credits in 599 that can be included on a study plan.)

Prereq: Permission

CS 600 Doctoral Research and Dissertation (cr arr)