Computer Science Courses

  • Elementary algorithmic problem solving: computational models; sequential, iterative, and conditional operations; parameterized procedures; array and list structures; basic efficiency analysis.

  • Formulation of problems and top-down design of programs in a modern structured language for their solution on a digital computer.

  • Advanced programming techniques, data structures, recursion, sorting and searching, and basics of algorithm analysis.

  • Advanced data structures, object oriented programming concepts, concurrency, and program design principles.

  • Debugging tools, scripting languages, UNIX programming tools, introduction to graphical user interface programming.

  • Comprehensive programming practice using C.

  • Computer systems architecture; logic, data representation, assembly language, memory organization and trends.

  • Finite automata, regular sets, pushdown automata, context-free language, Turing machines and the halting problem.

  • Software Engineering Principles I. Introduction to software engineering; requirements analysis, definition, specification including formal methods; prototyping; design including object and function oriented design.

  • Programming Language Design. Credit 3. Design concepts of high-level programming languages; survey of existing languages, experience using some languages; formal specification of syntax and semantics.

  • Implementation of systems programs, concepts of computer operating systems; laboratory experience in using operating system facilities.

  • A study of the ethical and societal issues related to computers and computer networks. Computers as enabling technology, computer crime, software theft, privacy, viruses and worms.

  • A study of the ethical and societal issues related to computers and computer networks. Computers as enabling technology, computer crime, software theft, privacy, viruses and worms.

  • Laboratory/group for large-scale software development, including: Requirements analysis, estimation, design, verification, and project management.

  • Dependable software systems; software verification and validation, testing; CASE environments; software management and evolution.

  • Laboratory/Group Design Project for large scale software development, requirements analysis, estimation, design, verification techniques.

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

  • Computer security concepts, models and mechanisms, encryption technology, formal models, policy and ethical implications. Credit not granted for both Cpt S 427 and 527.

  • Fundamentals of numerical computation; finding zeroes of functions, approximation and interpolation; numerical integration (quadrature); numerical solution of ordinary differential equations.

  • Hands-on experience with neural network modeling of nonlinear phenomena. Application to classification, forecasting, identification and control.

  • Basic issues of knowledge representation and automated problem solving; introduction to the theory and applications of expert systems technology.

  • Raster operations; transformations and viewing; geometric modeling; visibility and shading; color.

  • Concepts and methodologies of engineering, social and behavioral sciences to address ergonomic, cognitive, social and cultural factors in the design and evaluation of human-computer systems.

  • Introduction to computer animation production, animation programming techniques, simulation, and dynamic visualization.

  • Analysis of data structures and algorithms; computational complexity and design of efficient data-handling procedures.

  • Introduction to database concepts, data models, database languages, database designs, implementation issues.

  • Design of lexical analyzers, syntactic analyzers, intermediate code generators, code optimizers and object code generators.

  • Concepts and implementation of computer networks; architectures, protocol layers, internetworking and addressing case studies.

  • Mobile wireless networks; threat models, authentication, and detection mechanisms for security attacks, network architecture requirements of security, performance analysis of the impact of security management on the quality of service of the network.

  • Operating systems, computer architectures, and their interrelationships in micro, mini and large computer systems.

  • Concepts of distributed systems; naming, security, networking, replication, synchronization, quality of service; programming middleware.

  • The design and development of real-time and dedicated software systems with an introduction to sensors and actuators. Cooperative course taught by WSU, open to UI students (CS 404).

  • Fundamentals of biological sciences and biotechnology for engineers and computer scientists

  • Intensive introduction to the python language; user interface, building and using extension modules; C interfacing; construction of a major project.

  • Current topics in Computer Science or Software Engineering.

  • 1 Faculty research interests, departmental computer systems, computer science research, report preparation. S, F grading.

  • Categories as theories; formal approaches to specifications and homomorphisms of computational structures.

  • Discrete structures, automata, formal languages, recursive functions, algorithms, and computability.

  • Syntax; operational and denotational sematics. Cooperative course taught by WSU, open to UI students (CS 510).

  • Basic principles of software reuse, compositional and generative reuse, with specific topics selected from current literature, reverse engineering.

Contact us: webmaster@eecs.wsu.edu | Telephone: 509 335 6602 Fax: 509 335 3818 | Accessibility | Copyright | Policies
School of Electrical Engineering and Computer Science, PO BOX 642752, Washington State University, Pullman, WA, 99164-2752 USA