Computer Science and Engineering

Courses

Undergraduate

Computer Engineering

  • CEG 2170 Introduction to C Programming for Scientists and Engineers

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Basic engineering problem solving using the C programming language. Topics include loops, selection, input/output, files, functions, arrays, complex variables, pointers, structures, and dynamic memory.

  • CEG 2170L Introduction to C Programming for Scientists and Engineers Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 2170.

  • CEG 2171 C++ Programming for Scientists and Engineers

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Object-oriented programming using the C++ programming language. Topics include abstract data types, inheritance, polymorphism, abstract classes, templates, pointers, linked lists, stacks, queues, recursion, sorting algorithms, and binary trees.

  • CEG 2171L C++ Programming for Scientists and Engineers Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 2171.

  • CEG 2350 Operating System Concepts and Usage

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Provides introduction to Linux and Windows operating systems and system administration.

  • CEG 2350L Operating System Concepts and Usage Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 2350.

  • CEG 2400 Introduction to PC Networking

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Introduces networking technologies including infrastructure and architectures, standards, protocols and directory services, administration, security and management.

  • CEG 2900 Special Topics in Computer Engineering

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in Computer Engineering.

  • CEG 3110 Introduction to Software Testing

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course introduces software testing strategies and established best practices for testing software in a systematic manner.

  • CEG 3120 Introduction to the Design of Information Technology Systems

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the design of information systems comprising modern technologies such as SQL database programming, networks, and distributed computing with CORBA, electronic and hypertext (HTML) documents, and multimedia. Department Managed Prerequisite(s): Undergraduate level CS 1180 Minimum

  • CEG 3310 Computer Organization

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Organization and sequential operation of digital computers.

  • CEG 3310L Computer Organization Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 3310.

  • CEG 3320 Digital System Design

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Basics of digital computer hardware and design. Topics include switching algebra and switching functions, logic design of combinational and sequential circuits, storage elements, register-level design, and instrumentation. Integrated Writing course.

  • CEG 3320L Digital System Design Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 3320.

  • CEG 3400 Introduction to Cyber Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Focuses on educating students with essential security knowledge in modern cyber space. Covers security issues across all layers of cyber space, including data, host, infrastructure, human, and economics. Department Managed Prerequisite(s): Undergraduate level CS 1181 Minimum Grade of D

  • CEG 3410 Introduction to Digital Forensics

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Students build a body of knowledge in digital forensics in both computers and networks by incrementally seeking answers to fundamental questions including i) where to collect digital materials, ii) how to collect them, iii) how to interpret and use them, and iii) how to actively design new mechan

  • CEG 3900 Special Topics in Computer Engineering

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special Topics in Computer Engineering.

  • CEG 3970 Independent Study

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Independent Study

    Independent study in computer engineering topics.

  • CEG 4110 Introduction to Software Engineering

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the concepts of Software Engineering. Software qualities, development life-cycle models, requirements analysis, semi-formal and formal systems modeling, system design, testing, and project management techniques.

  • CEG 4120 Managing the Software Development Process

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Software development processes, models, and techniques necessary to successfully develop large-scale software. Presents the Capability Maturity Model (CMM). Each student will participate in the development of a software project. Integrated Writing course.

  • CEG 4130 Personal Software Development Process

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Discusses software development as it relates to the individual, software process measurement, design and code reviews, software quality measurement, design, and design verification. Each student will participate in the development of a software project.

  • CEG 4180 Object-Oriented Programming and Design

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study of object-oriented design and programming. Programming topics emphasize the core concepts of encapsulation, inheritance, polymorphism, and dynamic binding. Additional topics include class organization, software maintenance, and design of reusable components.

  • CEG 4230 Introduction to Robotics

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    (Also listed as CEG 6560 and ME 6560.) An introduction to the mathematics of robots. Topics covered include coordinate systems and transformations, manipulator kinematics and inverse kinematics, Jacobians, dynamic and trajectory planning.

  • CEG 4230L Introduction to Robotics Lab

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    First exposure to plant moduling and controller design to realize elementary control strategies in a laboratory environment.

  • CEG 4260 Matrix Computations

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Numerical linear algebra survey using high-level computing tools. Topics include linear equations, matrix factorizations, eigenvalue problems, least squares, applications of singular value decompositions, and iterative methods for large sparse matrices.

  • CEG 4320L Digital Integrated Circuit Design with PLDs & FPGAs Lab

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Realizations, testing and evaluation of digital integrated ciricuts with particular emphasis on programmable logic devices.

  • CEG 4322 Very Large Scale Integrated Circuit Design

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to VLSI system and subsystem design.

  • CEG 4322L Very Large Scale Integrated Circuit Design Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Work station based experience designing asic devices for evaluation and testing. Department Managed Prerequisite(s): Undergraduate level EE 2000 Minimum Grade of D and Undergraduate level EE 2000L Minimum Grade of D

  • CEG 4324 Digital Integrated Circuit Design with PLDs and FPGAs

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Digital design with behavioral level VHDL; application of VHDL to the design, analysis, and synthesis of digital integrated circuits; field programmable gate arrays (FPGAs) and design and application of digital integrated circuits using FPGA's.

  • CEG 4324L Digital Integrated Circuit Design with PLDs & FPGAs Lab

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Realizations, testing and evaluation of digital integrated ciricuts with particular emphasis on programmable logic devices. Department Managed Prerequisite(s): (Undergraduate level EE 2000 Minimum Grade of C and Undergraduate level EE 2000L Minimum Grade of C and Undergraduate level EE 3210 Mi

  • CEG 4330 Microprocessor-Based Embedded Systems

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Introduction to small, special-purpose microprocessor systems. Topics include hardware design issues, software design and implementation, and real-time operating systems.

  • CEG 4330L Microprocessor-Based Embedded Systems Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 4330.

  • CEG 4350 Operating System Internals and Design

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Overview of operating systems internals. File-system usage and design, process usage and control, virtual memory, multi user systems, access control. Course projects use C++ language.

  • CEG 4360 Distributed Systems and Cloud Computing

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study of process communication, core distributed algorithms, distributed file systems, cloud computing, and massive scale data-parallel processing.

  • CEG 4400 Computer Networks and Security

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Introduction to computer networks, network security, and technologies for ensuring network security.

  • CEG 4400L Computer Networks and Security Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 4400.

  • CEG 4410 Mobile Computing

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study networking protocol and system design in mobile computing. Focus on concepts, architecture, design, and performance evaluation of mobile computing principles, protocols and applications, including: wireless TCP, Mobile IP, 802.11, agent techniques, etc.

  • CEG 4420 Host Computer Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course introduces security hardening of a single system, and how to protect it when connected to a network. It explains how malware can compromise security and privacy from the moment a machine is powered on until shut down.

  • CEG 4422 Secure Computing Practices

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Computing practices that improve security in all computer work. Topics include secure deletion of files, secure wireless connections, covert channels, Steganography, cryptography, Sandboxes, Zombie Machines, DDoS and Man-in-the-Middle Attacks.

  • CEG 4424 Security Attacks and Defenses

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to attacks and their defenses. Reconnaissance, penetration, denial of service, and covert channels. Topics include privilege escalation, hijacking, trusted booting, packet filtration, protocol scrubbing and honeypots.

  • CEG 4426 Legal Aspects of Cyber Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Examines some of the most pressing threats to data and systems, the major legal and practical responses, and the policy issues they raise, with a particular focus on military divisions, corporations, not-for-profit organizations, and civilian government agencies.

  • CEG 4430 Cyber Network Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Focus on security vulnerabilities, threats, attacks, and mitigation solutions in the context of cyber networks.

  • CEG 4440 Android Internals and Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study the internals of the Android mobile OS such as Messaging, Graphics, Audio, Video, Camera, GPS, Networking, File System, Touch Sensors, and other subsystems. Study the combined impact of these on the architecture, design, and security of mobile computing, in the context of Android.

  • CEG 4450 Sensor Networks and Systems

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to wireless sensor networks, fundamental problems and their solutions. Focus on data aggregation, dissemination, localization, power management, security, algorithms and protocol. Students develop applications using Micaz motes and sensors running TinyOS operating system.

  • CEG 4500 Computer Graphics

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Raster graphics algorithms, geometric primitives and their attributes, clipping, antialiasing, geometric transformations, structures and hierarchical models, input devices, and interactive techniques.

  • CEG 4510 3-D Modeling and Computer Animation

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Transformations, interpolation, morphing, camera control, hierarchical kinematic modeling, rigid-body animation, controlling groups of objects, collision detection, image-based rendering. Students develop three programs and a final project relating to animation.

  • CEG 4520 Scientific Visualization and Virtual Environment

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Visualization approaches for different data types, using real-world data sets. Different usage modalities, including non-traditional input devices and display types.

  • CEG 4750 Information Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    A comprehensive study of security vulnerabilities in information systems and the basic techniques for developing secure applications and practicing safe computing.

  • CEG 4870 Introduction to Intelligent Control Systems

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Foundations of fuzzy set theory, system modeling using fuzzy rules, structure of fuzzy controllers and PID fuzzy controller design. Also included are neural network foundations, single layered/multi-layered perceptions, learning rules, basics of adaptive controls and adaptive neural control.

  • CEG 4870L Introduction to Intelligent Control Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Implements intelligent control strategies on systems and subsytems in industrial and engineering applications. Department Managed Prerequisite(s): Undergraduate level EE 4130 Minimum Grade of D and Undergraduate level EE 4130L Minimum Grade of D

  • CEG 4900 Special Topics in Computer Engineering

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in computer engineering.

  • CEG 4910 Technology-Based Ventures

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Train students on methods to develop breakthrough products with an entrepreneurial perspective and managerial outlook. Topics include advanced product development, protecting intellectual property, fostering strategic and creative thinking, effectively leading technology-driven teams.

  • CEG 4970 Independent Study

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Independent Study

    Independent study in computer engineering topics.

  • CEG 4980 Team Projects I

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    A summative computer engineering team design project building upon previous engineering, science, mathematics, and communication course work focusing on professional practice in computer science and engineering. Must enroll in CEG 4981 in the following term.

  • CEG 4981 Team Projects II

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    CEG 4981 is a continuation of CEG 4980 and must be taken in the term immediately following CEG 4980. Project groups maintain their composition and project from CEG 4980.

  • CEG 4990 Undergraduate Thesis Research

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Independent Study

    Completion of a computer engineering research project. Writing and defending a thesis that describes the research and summarizes the results. Department Managed Prerequisite(s): Undergraduate level CEG 4970 Minimum Grade of D

Computer Science

  • CS 1000 Technology and Society

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Examines and evaluates the consequences of technology on individuals, organizations and society to recognize its benefits, potential, and limitations. Explores current social, ethical, legal and philosophical topics to understand how the Digital Revolution impacts society.

  • CS 1010 Introduction to Computers and Office Productivity Software

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Microsoft Office software applications including intermediate word processing, spreadsheets, database and presentation graphics using a case study approach requiring critical thinking and problem solving skills.

  • CS 1011 Computer Software Productivity Tools

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Advanced Microsoft Office software for problem solving and data analysis.

  • CS 1020 Introduction to Microsoft Excel

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lecture

    This course focuses on learning MS Excel software applications using a case study approach where critical thinking and problem solving skills are required. File Management and the basics of Microsoft Office 2010 will also be discussed.

  • CS 1021 Introduction to Microsoft Access

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lecture

    This course focuses on learning MS Access software application using a case study approach where critical thinking and problem solving skills are required.

  • CS 1030 Survey of CS and CEG

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Lecture

    Provides broad introduction to the fields of computer science and engineering. Explores resources designed to enhance new student success.

  • CS 1150 Introduction to Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Expose students to the scientific method as implemented in computer science. Topics include basic programming, web design, database, logic gates, algorithm development and fundamentals of networking. The course requires students to apply and extend the concepts in a laboratory setting.

  • CS 1150L Introduction to Computer Science Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CS 1150.

  • CS 1160 Introduction to Computer Programming

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture
    Lecture
    Lab

    Fundamentals of computer programming. No prior knowledge of programming is assumed. The concepts covered will be applied to the Java programming language. Department Managed Prerequisite(s): WSU Math Placement Level 30 or Undergraduate level DEV 0970 Minimum Grade of P

  • CS 1160L Intro to Comp Prog Lab

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CS 1160.

  • CS 1161 Introduction to Computer Programming II

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture
    Lab

    Introduction to advanced programming concepts and techniques.

  • CS 1180 Computer Science I

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Basic concepts of programming and programming languages. Structured programming, stepwise refinement, and object-oriented development. Integrated Writing course. Department Managed Prerequisite(s): WSU Math Placement 05 or Undergraduate level MTH 1280 Minimum Grade of D

  • CS 1180L Computer Science I Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CS 1180.

  • CS 1181 Computer Science II

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Advanced concepts of computer programming. Use of data structures and tools that facilitate programming.

  • CS 1181L Computer Science II Laboratory

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CS 1181.

  • CS 1200 Introduction to Discrete Structures

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Introduction to discrete structures for computer science. Emphasis of basic mathematical notation and manipulation with discrete structures. Department Managed Prerequisite(s): WSU Math Placement Level 30 or Undergraduate level DEV 0970 Minimum Grade of P

  • CS 1200R Introduction to Discrete Structures Recitation

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Recitation

    Required recitation for CS 1200.

  • CS 2160 Visual Basic Programming

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    An introduction to event-driven programming.

  • CS 2200 Discrete Structures and Their Algorithms

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Discrete structures and their algorithms for computer science. Emphasis on rigorous proof and formal argumentation. Department Managed Prerequisite(s): Undergraduate level CS 1200 Minimum Grade of C

  • CS 2200R Discrete Structures and Their Algorithms Recitation

    Level: 
    Undergraduate
    Credit Hours: 
    0
    Schedule Type: 
    Recitation

    Required rescitation for CS 2200.

  • CS 2210 Logic for Computer Scientists

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Fundamental material in foundations of logic most relevant to Computer Science. Propositional logic, predicate logic, modeling of knowledge, and algorithms for logical reasoning.

  • CS 2570R Recitation for MTH 2570

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Recitation

    Recitation for MTH 2570.

  • CS 2800 Web Development I

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Introduction to basic web design and development using HTML and CSS. Topics include page structure, responsive design, and use of multimedia.

  • CS 2900 Special Topics in Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special Topics in Computer Science.

  • CS 3100 Data Structures and Algorithms

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study of the implementation of data structures and control structures in professional computer programs. Introduction to the fundamentals of complexity and analysis. Study of common standard problems and solutions (e.g., transitive closure and critical path).

  • CS 3170 Mobile Application Development

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Focuses on projects to progressively demonstrate concepts and practical approaches to developing software for mobile devices focusing on iOS devices including any of iPhone, iPod Touch, or iPad.

  • CS 3180 Comparative Languages

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Fundamental concepts and paradigms underlying modern programming languages to enable better appreciation, comparison and evaluation of languages. Covers an object-oriented language, a functional language, a logic language, and a multi-paradigm scripting language.

  • CS 3190 Programming Language Workshop

    Level: 
    Undergraduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    Independent study in one of several programming languages (e.g., Python, C#, Ruby). Students learn the language solve a set of assigned programming problems.

  • CS 3200 Theoretical Foundations of Computing

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the theory of formal languages and automata with an emphasis on the classes of languages commonly encountered by computer scientists.

  • CS 3250 Computational Tools and Techniques for Data Analysis

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the representation, manipulation, and analysis of large datasets from a user's perspective. Topics include data filtering, clustering, classification, and data mining.

  • CS 3260 Numerical Methods for Computational Science

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Numerical methods for the sciences using modern programming languages. Solution of linear and nonlinear equations, symmetric matrix eigenvalue problems, interpolation, and least squares.

  • CS 3700 Introduction to Oracle/SQL Databases

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Relational client server database design and access techniques.

  • CS 3800 Web Development II

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Focuses on server side web development. Topics include creation of dynamic web pages, processing form data, database design and interaction, managing cookies and sessions, and security.

  • CS 3810 Introduction to Bioinformatics

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Tools-oriented approach to bioinformatics emphasizing data structure and DNA, string representation in PERL, data searches, pairwise alignments, substitution patterns, protein structure prediction and modeling, proteomics, and web-based bioinformatic tools. Department Managed Prerequisite(s):

  • CS 3820 Introduction to Semantic Web Technologies and their Algorithms

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Primary W3C standards for the Semantic Web, in particular the Web Ontology Language OWL, the Resource Description Framework RDF, and the SPARQL RDF Query Language. Obtain a solid understanding of their syntaxes, and also how these languages are used to convey information for machine-processing.

  • CS 3900 Special Topics in Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special Topics in Computer Science.

  • CS 3970 Independent Study in Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Independent Study

    Independent study in computer science.

  • CS 4000 Social Implications of Computing

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Impact of computers and computing on society. Topics include privacy, dangers introduced by computers performing critical tasks, the effect of robots on the work force, the impact of computers on education, and the new legal issues introduced by computing.

  • CS 4070 Optimization Techniques

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Algorithms for optimizing real functions of several variables subject to equality and inequality constraints.

  • CS 4240 Coding Theory

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Essentials of error-correcting codes, including methods for efficient and accurate transfer of information. Perfect and related codes, linear and cyclic codes, BCH codes, Reed-Muller codes, Reed-Solomon cods, Self-dual codes, weight enumerators and bounds.

  • CS 4260 Matrix Computations

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Numerical linear algebra survey using high-level computing tools. Topics include linear equations, matrix factorizations, eigenvalue problems, least squares, applications of singular value decompositions, and iterative methods for large sparse matrices.

  • CS 4270 Optimization Techniques

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Algorithms for optimizing real functions of several variables subject to equality and inequality constraints.

  • CS 4280 Combinatorics and Graph Theory

    Level: 
    Undergraduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Permutations, combinatorics, generating functions, recurrence relations, and Polya's theory of counting; methods, results, and algorithms of graph theory, with emphasis on graphs as mathematical models applicable to organizational and industrial situations.

  • CS 4290 Cryptography and Data Security

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Mathematical principles of cryptography and data security. Introduces relevant algebra and number theory.

  • CS 4370 Parallel Programming for Many-Core GPUs

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course will introduce an important trend in high-performance computing, the use of many-core graphics processing units (GPUs) to solve computation-intensive problems.

  • CS 4700 Introduction to Database Management Systems

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Logical and physical aspects of database management systems are surveyed. Data models including entity-relationship (ER) and relational models are presented. Physical implementation (data organization and indexing) methods are discussed.

  • CS 4710 Introduction to Data Mining

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Introduction to the fundamentals of data mining. Emphasis is on data preparation/evaluation/exploration, association rules, classification, clustering, OLAP/OLAM, pattern/model evaluation, anomaly detection. Students will develop and use data mining software.

  • CS 4800 Web Information Systems

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Covers topics in building Web-based applications involving variety of data; covers data, metadata, knowledge and ontologies; key Web languages and protocols; search engines, social networking, Web2.0, semantic web. Good programming skills are prerequisite.

  • CS 4810 Algorithms for Bioinformatics

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Theory-orientated approach to the application of contemporary algorithms to bioinformatics. Graph theory, complexity theory, dynamic programming and optimization techniques applied to solving specific computational problems in molecular genetics.

  • CS 4830 Systems Simulation

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to simulation concepts and techniques. Modeling, discrete simulation, continuous simulation, random number generators, input distribution selection and analysis of simulation results. Emphasis on the application of simulation techniques for analyzing behavior of real systems.

  • CS 4840 Intro Machine Learning

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the field of probabilistic machine learning. Examples are drawn from sensor signal exploitation, biology, text processing, computer vision, and robotics. Key techniques are demonstrated and implemented in MATLAB.

  • CS 4850 Foundations of Artificial Intelligence

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Problem-solving methods in artificial intelligence (AI) with emphasis on heuristic approaches. Topics include methods of representation, search, intelligent agents, planning, learning, natural language processing, logic, inference, robotics, and case-based reasoning.

  • CS 4900 Special Topics in Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special Topics in Computer Science.

  • CS 4970 Independent Study in Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Independent Study

    Independent study in computer science.

  • CS 4990 Undergraduate Thesis Research in Computer Science

    Level: 
    Undergraduate
    Credit Hours: 
    3
    Schedule Type: 
    Independent Study

    Completion of a computer science research project. Writing and defending a thesis that describes the research and summarizes the results. Department Managed Prerequisite(s): Undergraduate level CS 4970 Minimum Grade of D

Graduate

Computer Engineering

  • CEG 5110 Introduction to Software Testing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course introduces software testing strategies and established best practices for testing software in a systematic manner.

  • CEG 5120 Introduction to the Design of Information Technology Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the design of information systems comprising modern technologies such as SQL database programming, networks, and distributed computing with CORBA, electronic and hypertext (HTML) documents, and multimedia.

  • CEG 5310 Computer Organization

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Organization and sequential operation of digital computers.

  • CEG 5310L Computer Organization Laboratory

    Level: 
    Graduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 5310.

  • CEG 5320 Digital System Design

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Basics of Digital Computer Hardware and Design.

  • CEG 5320L Digital System Design Laboratory

    Level: 
    Graduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 5320.

  • CEG 5900 Special Topics in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Selected topics in computer science.

  • CEG 5970 Independent Study in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Independent Study

    Independent study in computer engineering topics.

  • CEG 6110 Introduction to Software Engineering

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the concepts of Software Engineering. Software qualities, development life-cycle models, requirements analysis, semi-formal and formal systems modeling, system design, testing, and project management techniques.

  • CEG 6120 Managing the Software Development Process

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Discusses software development processes, models, and techniques necessary to successfully develop large-scale software and presents the Capability Maturity Model (CMM).

  • CEG 6130 Personal Software Development Process

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Discusses software development as it relates to the individual, software process measurement, design and code reviews, software quality measurement, design and design verification.

  • CEG 6180 Object-Oriented Programming & Design

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Topics emphasize the core concepts of encapsulation, inheritance, polymorphism, and dynamic binding.

  • CEG 6230 Introduction to Robotics

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    (Also listed as CEG 6560 and ME 6560.) An introduction to the mathematics of robots. Topics covered include coordinate systems and transformations, manipulator kinematics and inverse kinematics, Jacobians, dynamic and trajectory planning.

  • CEG 6230L Introduction to Robotics Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Laboratory supporting EE 6560. Students will experience hands on learning in lab environment.

  • CEG 6260 Matrix Computations

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Numerical linear algebra survey using high-level computing tools. Topics include linear equations, matrix factorizations, eigenvalue problems, least squares, applications of singular value decompositions, and iterative methods for large sparse matrices.

  • CEG 6322 VLSI Design

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    (Also listed as CEG 654.) Introduction to VLSI system design.

  • CEG 6322L Very Large Scale Integrated Circuit Design Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Work station based experience designing asic devices for evaluation and testing.

  • CEG 6324 Digital Integrated Circuit Design with PLDs and FPGAs

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Digital design with behavioral level VHDL; application of VHDL to the design, analysis, and synthesis of digital integrated circuits; field programmable gate arrays (FPGAs); and design and application of digital integrated circuits using FPGAs.

  • CEG 6324L Digital Integrated Circuit Design with PLDs & FPGAs Lab

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Realizations, testing and evaluation of digital integrated ciricuts with particular emphasis on programmable logic devices.

  • CEG 6330 Microprocessor-based Embedded Systems

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Introduction to small, special-purpose microprocessor systems.

  • CEG 6330L Microprocessor-based Embedded Systems Laboratory

    Level: 
    Graduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 6330.

  • CEG 6350 OS Internals and Design

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Overview of operating systems internals. File-system usage and design, process usage and control, virtual memory, multi user systems, access control.

  • CEG 6360 Distributed Systems & Cloud Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study of process communication, core distributed algorithms, distributed file systems, cloud computing, and massive scale data-parallel processing. Department Managed Prerequisite(s): Undergraduate level CEG 4350 Minimum Grade of D or Graduate level CEG 6350 Minimum Grade of D

  • CEG 6400 Computer Networks & Security

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    This course covers fundamental knowledge on computer networks, network security, and technologies for ensuring network security. Department Managed Prerequisite(s): Undergraduate level CEG 3310 Minimum Grade of D or Graduate level CEG 5310 Minimum Grade of D

  • CEG 6400L Computer Networks & Security Laboratory

    Level: 
    Graduate
    Credit Hours: 
    0
    Schedule Type: 
    Lab

    Required laboratory for CEG 6400.

  • CEG 6410 Mobile Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Study networking protocol and system design in mobile computing.

  • CEG 6420 Host Computer Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course introduces security hardening of a single system, and how to protect it when connected to a network. It explains how malware can compromise security and privacy from the moment a machine is powered on until shut down.

  • CEG 6422 Secure Computing Practices

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course describes computing practices that one should adopt to improve security in all computer work. It describes the use of cryptography, without getting into crypto alogrithms, such as MD5, SHA1.

  • CEG 6424 Security Attacks & Defenses

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course presents the principles behind techniques of attacks and their defenses. It introduces reconnaissance, penetration, denial of service, and covert channels. Topics include Privilege Escalation, Hijacking, Trusted booting, Packet filtration, Protocol scrubbing and Honeypots.

  • CEG 6426 Legal Aspects of Cyber Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Examines some of the most pressing threats to data and systems, the major legal and practical responses, and the policy issues they raise, with a particular focus on military divisions, corporations, not-for-profit organizations, and civilian government agencies.

  • CEG 6430 Cyber Network Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course focuses on security vulnerabilities, threats, attacks, and mitigation solutions in the context of cyber networks.

  • CEG 6440 Android Internals & Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study the internals of the Android mobile OS such as Messaging, Graphics, Audio, Video, Camera, GPS, Networking, File System, Touch Sensors, and other subsystems. Study the combined impact of these on the architecture, design, and security of mobile computing, in the context of Android.

  • CEG 6450 Sensor Networks and Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to wireless sensor networks. Overview of fundamental problems and their solutions. Focus on data aggregation, dissemination, localization, power management, security, algorithms and protocol.

  • CEG 6500 Computer Graphics

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Raster graphics algorithms, geometric primitives and their attributes, clipping, antialiasing, geometric transformations, structures and hierarchical models, input devices, and interactive techniques.

  • CEG 6510 3-D Modeling and Computer Animation

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Covers transformations, interpolation, morphing, camera control, hierarchical kinematic modeling, rigid-body animation, controlling groups of objects, collision detection, image-based rendering.

  • CEG 6520 Scientific Visualization

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Covers various visualization approaches for different data types. These visualization approaches are discussed using real-world data sets.

  • CEG 6750 Information Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    A comprehensive study of security vulnerabilities in information systems and the basic techniques for developing secure applications and practicing safe computing. Department Managed Prerequisite(s): Undergraduate level CS 3100 Minimum Grade of C and Undergraduate level MTH 2300 Minimum Grade

  • CEG 6870 Introduction to Intelligent Control Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Foundations of fuzzy set theory, system modeling using fuzzy rules, structure of fuzzy controllers and PID fuzzy controller design. Also included are neural network foundations, single layered/multi-layered perceptions, learning rules, basics of adaptive controls and adaptive neural control.

  • CEG 6870L Introduction to Intelligent Control Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Laboratory supporting EE 6190. Students will experience hands on learning in lab environment.

  • CEG 6900 Special Topics in CEG

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in computer engineering

  • CEG 6905 Technology-Based Ventures

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Technology-based ventures.

  • CEG 6910 Technology-Based Ventures

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Train students on methods to develop breakthrough products with an entrepreneurial perspective and managerial outlook. Topics include advanced product development, protecting intellectual property, fostering strategic and creative thinking, effectively leading technology-driven teams.

  • CEG 6970 Independent Study in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer engineering.

  • CEG 7020 Low Power VLSI System Design

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    CMOS VLSI subsystems and low-power subsystems design. Includes data path operators for FIR and IIR filter design: counters, high-speed adders, multipliers, and memory elements.

  • CEG 7020L Low Power VLSI System Design Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Required lab for EE 7520.

  • CEG 7030 VLSI Design Synthesis and Optimization

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    VLSI Synthesis and optimization including data path synthesis, glue logic synthesis control-unit synthesis, and resource sharing.

  • CEG 7030L VLSI Design Synthesis and Optimization Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Required laboratory for EE 7530. Department Managed Prerequisite(s): (Undergraduate level EE 4620 Minimum Grade of D and Undergraduate level EE 4620L Minimum Grade of D) or (Graduate level EE 6620 Minimum Grade of D and Graduate level EE 6620L Minimum Grade of D)

  • CEG 7040 VLSI Testing and Design for Testability

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Design for testability of VLSI circuits.

  • CEG 7040L VLSI Testing and Design for Testability Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Required laboratory for EE 7540. Department Managed Prerequisite(s): (Undergraduate level EE 4540 Minimum Grade of D and Undergraduate level EE 4540L Minimum Grade of D) or (Graduate level EE 6540 Minimum Grade of D and Graduate level EE 6540L Minimum Grade of D)

  • CEG 7050 Trust in Integrated Circuit Design

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lab

    This course will cover topics in "Trust for Integrated Circuit Design." We will explore the problem of Trust at each level of the Integrated circuit design process, from high level simulation all the way to layout, fabrication, and packaging. Department Managed Prerequisite(s): (Graduate leve

  • CEG 7060 Advanced Robotics

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Detailed study of the dynamics and control of robotic systems and robot programming languages and systems. Material covered includes rigid-body dynamics, linear, nonlinear, adaptive, and force control of manipulators, and robot programming languages.

  • CEG 7060L Advanced Robotics Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Required laboratory for EE 7560.

  • CEG 7080 CMOS Mixed Signal IC Design

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the techniques, limitations, and problems in the design of CMOS analog integrated circuits.

  • CEG 7080L CMOS Mixed Signal IC Design Laboratory

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Lab

    Required lab for EE 7580. Department Managed Prerequisite(s): (Undergraduate level EE 4540 Minimum Grade of D and Undergraduate level EE 4540L Minimum Grade of D) or (Graduate level EE 6540 Minimum Grade of D and Graduate level EE 6540L Minimum Grade of D)

  • CEG 7350 Computer Architecture

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Review of sequential computer architectures and study of parallel computer architectures.

  • CEG 7360 Embedded Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study special-purpose computing systems.

  • CEG 7370 Distributed Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Semaphores: weak and strong, split-binary, distributed. Distributed Algorithms.

  • CEG 7380 Cloud Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Students will learn the major concepts in cloud computing and large-scale data intensive parallel processing. They will learn to use existing cloud computing platforms (e.g., Amazon EC2) to solve large-scale data intensive problems.

  • CEG 7420 Reverse Engineering & Program Analysis

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course will build on computer security topics discussed in CEG 6420, Host Computer Security and will involve discussion about low-level computer security vulnerabilities, reverse engineering, malware analysis, vulnerability discovery, reverse engineering tool development, and advanced progra

  • CEG 7450 Advanced Computer Networks

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course provides an in-depth coverage of advanced computer network architecture, communication and networking technologies.

  • CEG 7470 Advanced Wireless Networks

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Advanced topics in Wireless Networking and Mobile Computing, including: queueing system analysis, network theory, multimedia coding and networking, emerging wireless and mobile technologies. Department Managed Prerequisite(s): Undergraduate level CEG 4400 Minimum Grade of D or Graduate level

  • CEG 7550 Computer Vision

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Algorithms for low- and mid-level vision, including noise filtering, edge detection, image segmentation, texture analysis, feature extraction, stereo depth perception, camera calibration, 3-D reconstruction, shape from shading

  • CEG 7560 Visualization & Image Processing for Cyber Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    The course will teach students visualization concepts and principles without requiring computer graphics specific knowledge. Similarly, basic image processing techniques will be covered relevant for cyber security, including segmentation and tracking techniques.

  • CEG 7570 Pattern Recognition

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Supervised and unsupervised classification are covered, including feature extraction, feature selection, distance measures, sequential clustering, hierarchical clustering, Bayesian decision theory, parameter estimation, and applications of pattern recognition

  • CEG 7580 Digital Image Processing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Image representation, sampling/quantization, spatial/frequency concepts, image enhancement, color image theory, unitary image transforms, image data compression, image models, image coding, image restoration, feature extraction and description, and computer implementation of concepts and algorith

  • CEG 7590 Medical Image Analysis and Visualization

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Topics of 2-D and 3-D image segmentation and registration; 2-D and 3-D feature selection; validation methods; and visualization techniques for volumetric medical images are covered. Department Managed Prerequisite(s): Undergraduate level CEG 4500 Minimum Grade of D or Graduate level CEG 6500 M

  • CEG 7900 Selected Topics in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Selected topics in computer engineering.

  • CEG 7920 Independent Study in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer engineering

  • CEG 7950 Master's Thesis Research in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Master's thesis research in computer engineering.

  • CEG 7980 Part-time CPT in CEG

    Level: 
    Graduate
    Credit Hours: 
    0 to 6
    Schedule Type: 
    Internship

    Practical work experience in graduate level Computer Engineering.

  • CEG 7990 Full-time CPT in CEG

    Level: 
    Graduate
    Credit Hours: 
    0 to 6
    Schedule Type: 
    Internship

    Practical work experience in graduate level Computer Engineering.

  • CEG 8900 Selected Topics in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Selected topics in computer engineering.

  • CEG 8910 PhD Seminar in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Seminar

    Seminar discussion of current research in computer engineering.

  • CEG 8920 Independent Study in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer engineering.

  • CEG 8930 PhD Qualifying Exam

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    Examination that tests understanding of the fundamentals necessary to begin concentrated study in a chosen Ph.D. research area.

  • CEG 8940 Residency Research in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Research on the Ph.D. dissertation topic taken in residence.

  • CEG 8950 Dissertation Research in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Research on the Ph.D. dissertation topic.

  • CEG 8960 PhD Candidacy Exam

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    Examination that tests for depth and understanding in a chosen computer engineering research area. Includes a written proposal for a Ph.D. topic and an oral examination that is open to the public.

  • CEG 8980 Continuing Registration in Computer Engineering

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    A student must be registered at the graduate level in the quarter in which the degree is granted, or in any term in which the program is affording some service, such as giving an examination, reading a thesis, or giving advice on the thesis after completion of all other requirements of coursework

  • CEG 8990 Dissertation Defense

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    Examination on the Ph.D. dissertation. The written dissertation is submitted and must be successfully defended in the oral exam conducted by the dissertation committee.

Computer Science

  • CS 5100 Data Structures and Algorithms

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study of the implementation of data structures and control structures in professional computer programs. Introduction to the fundamentals of complexity and analysis. Study of common standard problems and solutions (e.g., transitive closure and critical path).

  • CS 5160 Computer Science Fundamentals

    Level: 
    Graduate
    Credit Hours: 
    6
    Schedule Type: 
    Lecture
    Lab

    Hands-on survey of the fundamental concepts of computer science including: fundamentals of programming, algorithm design, analysis, and selection, computational complexity, and data structures.

  • CS 5170 Mobile Application Development

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Focuses on projects to progressively demonstrate concepts and practical approaches to developing software for mobile devices focusing on iOS devices including any of iPhone, iPod Touch, or iPad.

  • CS 5180 Comparative Languages

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course introduces fundamental concepts and paradigms underlying modern programming languages, to enable better appreciation, comparison and evaluation of languages.

  • CS 5200 Theoretical Foundations of Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the theory of formal languages and automata with an emphasis on the classes of languages commonly encountered by computer scientists.

  • CS 5250 Computational Tools and Techniques for Data Analysis

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to the representation, manipulation, and analysis of large datasets from a user's perspective. Topics include data filtering, clustering, classification, and data mining.

  • CS 5260 Numerical Methods for Computational Science

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Numerical methods for the sciences using modern programming languages. Solution of linear and nonlinear equations, symmetric matrix eigenvalue problems, interpolation and least squares.

  • CS 5300 Computing Systems and Structures: Preparation towards Graduate Studies for Computing Professionals

    Level: 
    Graduate
    Credit Hours: 
    0
    Schedule Type: 
    Lecture
    Lab

    This is an Online/Distance Education course primarily designed for working professional/non-traditional students' reentry into university for advanced studies in Computer Science

  • CS 5810 Introduction to Bioinformatics

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Tools-oriented approach to bioinformatics emphasizing DNA data structure, string representation in PERL, data searches, pairwise alignments, substitution patterns, protein structure prediction and modeling, proteomics, and use of web-based bioinformatic tools.

  • CS 5900 Special Topics in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in computer science.

  • CS 5970 Independent Study in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer science

  • CS 6070 Optimization Techniques

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Algorithms for optimizing real functions of several variables subject to equality and inequality constraints.

  • CS 6100 Graduate Research Programming Practicum

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    This course teaches the fundamental concepts of practical research programming to prepare graduate students for developing simulations for computer science and computer engineering research.

  • CS 6240 Coding Theory

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    An introduction to the essentials of error-correcting codes, including methods for efficient and accurate transfer of information.

  • CS 6270 Optimization Techniques

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Algorithms for optimizing real functions of several variables subject to equality and inequality constraints.

  • CS 6280 Combinatorics and Graph Theory

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Topics include: permutations, combinatorics, generating functions, recurrence relations, and Polya?s theory of counting, methods, results, and algorithms of graph theory, with emphasis on graphs as mathematical models applicable to organizational and industrial situations. Department Managed P

  • CS 6290 Cryptography and Data Security

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Mathematical principles of cryptography and data security. Preliminary algebra and number theory will be briefly introduced.

  • CS 6370 Parallel Programming for Many-Core GPUs

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course will introduce an important trend in high-performance computing, the use of many-core graphics processing units (GPUs) to solve computation-intensive problems.

  • CS 6700 Introduction to Database Management Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Logical and physical aspects of database management systems are surveyed. Data models including entity-relationship (ER) and relational models are presented. Physical implementation (data organization and indexing) methods are discussed.

  • CS 6710 Introduction to Data Mining

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Introduction to the fundamentals of data mining. Emphasis is on data preparation/evaluation/exploration, association rules, classification, clustering, OLAP/OLAM, pattern/model evaluation, anomaly detection.

  • CS 6800 Web Information Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Covers topics in building Web-based applications involving variety of data; covers data, metadata, knowledge and ontologies; key Web languages and protocols; search engines, social networking, Web2.0, semantic web.

  • CS 6810 Algorithms for Bioinformatics

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Theory-orientated approach to the application of contemporary algorithms to bioinformatics. Graph theory, complexity theory, dynamic programming and optimization techniques are introduced in the context of application toward solving specific computational problems in molecular genetics.

  • CS 6830 Systems Simulation

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction to simulation concepts and techniques. Topics include modeling, discrete simulation, continuous simulation, random number generators, input distribution selection and analysis of simulation results.

  • CS 6840 Intro Machine Learning

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course offers an introduction to the field of probabilistic machine learning. Examples are drawn from sensor signal exploitation, biology, text processing, computer vision, and robotics.

  • CS 6850 Foundations of Artificial Intelligence

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Problem-solving methods in artificial intelligence (AI) with emphasis on heuristic approaches. Topics include knowledge representation, search, intelligent agents, planning, learning, natural language processing, logic, inference, robotics, and case-based reasoning.

  • CS 6900 Special Topics in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in computer science

  • CS 6970 Independent Study in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer science.

  • CS 7060 Numerical Analysis I

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Solutions of systems of linear and nonlinear equations, numerical solution of matrix eigenvalue problems, interpolation and numerical integration, numerical solution of initial and boundary value problems for differential equations. Department Managed Prerequisite(s): Graduate level MTH 6550 M

  • CS 7070 Numerical Analysis II

    Level: 
    Graduate
    Credit Hours: 
    4
    Schedule Type: 
    Lecture

    Finite difference and finite element methods for partial differential equations, including elliptic, parabolic and hyperbolic. Department Managed Prerequisite(s): Graduate level MTH 5330 Minimum Grade of D and Graduate level MTH 6550 Minimum Grade of D

  • CS 7100 Advanced Programming Languages

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course provides a solid foundation in programming language specification and design. It covers different programming paradigms, algebraic specification and implementation of data types, and develops interpreters for specifying operationally various programming language constructs.

  • CS 7120 Functional and Logic Programming

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course will discuss concepts of functional programming such as recursive definitions, polymorphic type inference, abstract data types, induction, etc. and concepts of logic programming such as model-theoretic semantics, logical deduction, backtracking, negation as failure, etc.

  • CS 7140 Advanced Software Engineering

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course covers advanced topics in software engineering. Aspects of problem specification, design, verification, and evaluation are discussed.

  • CS 7200 Algorithm Design and Analysis

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Study of algorithmic methods and associated computational complexity for problem solving.

  • CS 7210 Network Science

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Emphasizes theoretical concepts that underpin the study of network or relational data emerging in any field of interest.

  • CS 7220 Computability and Complexity

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Fundamentals of computability theory. Undecidability. Time and space complexity. Cook's Theorem and NP completeness.

  • CS 7230 Information Theory

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Course addresses the following questions that are fundamental to the design and evaluation of all information systems: What is information? How can we measure it? What are the fundamental limits on the extraction of information from the environment?

  • CS 7600 Trust Networks

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course will introduce the fundamental concepts relevant to trust and security, and explore trust management issues in the context of interpersonal, sensor, and social networks.

  • CS 7700 Advanced Database Systems

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Introduction of design concepts, operating principles, current trends, and research issues in database systems. Department Managed Prerequisite(s): Undergraduate level CS 4700 Minimum Grade of D or Graduate level CS 6700 Minimum Grade of D

  • CS 7720 Data Mining

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture
    Lab

    Data mining is concerned with the extraction of novel and useful knowledge from large amounts of data. This course studies the fundamental and advanced concepts, principles, issues, tasks and techniques of data mining.

  • CS 7800 Information Retrieval

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course covers foundations of information retrieval systems.

  • CS 7810 Knowledge Representation and Reasoning

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    The course provides an introduction to how to represent knowledge and how to use it for automated reasoning. Currently, the primary focus is on Knowledge Representation for the Semantic Web, and as such representation languages for Ontologies will be covered in depth.

  • CS 7820 Advanced Topics in Semantic Web

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Seminar

    This course is about the Semantic Web, a key enabler of Web 3.0.

  • CS 7830 Machine Learning

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Reviews the development of machine learning paradigms.

  • CS 7840 Soft Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course explores soft computing from a historical, theoretical, and an application viewpoint.

  • CS 7850 Privacy Aware Computing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    This course will introduce the fundamental problems with data privacy and security in large scale data intensive distributed computing, and the existing techniques used to protect data privacy and security. Students will be exposed to the latest research problems in this area.

  • CS 7900 Special Topics in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in computer science

  • CS 7910 Advanced Proposal Writing

    Level: 
    Graduate
    Credit Hours: 
    3
    Schedule Type: 
    Lecture

    Emphasizes strategies for competitive research proposal writing in STEM fields, with a focus on communicating highly technical concepts at an appropriate level of complexity for a given audience and purpose.

  • CS 7920 Independent Study in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer science.

  • CS 7950 Master's Thesis Research in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Master's thesis research in computer science

  • CS 7960 Capstone Project - Cyber Security

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Capstone Project Research in Cyber Security

  • CS 7980 Part-time CPT in CS

    Level: 
    Graduate
    Credit Hours: 
    0 to 6
    Schedule Type: 
    Internship

    Practical work experience in graduate level Computer Science.

  • CS 7990 Full-time CPT in CS

    Level: 
    Graduate
    Credit Hours: 
    0 to 6
    Schedule Type: 
    Internship

    Practical work experience in graduate level Computer Science.

  • CS 8900 Special Topics in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 4
    Schedule Type: 
    Lecture

    Special topics in computer science.

  • CS 8910 PhD Seminar in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Seminar

    Seminar discussion of current research in computer science.

  • CS 8920 Independent Study in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Independent study in computer science.

  • CS 8930 PhD Qualifying Exam

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    Examination that tests understanding of the fundamentals necessary to begin concentrated study in chosen Ph.D. research area.

  • CS 8940 Residency Research in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Research on the Ph.D. dissertation topic taken in residence.

  • CS 8950 Dissertation Research in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 12
    Schedule Type: 
    Independent Study

    Research on the approved Ph.D. dissertation topic.

  • CS 8960 PhD Candidacy Exam

    Level: 
    Graduate
    Credit Hours: 
    1
    Schedule Type: 
    Independent Study

    Examination that tests for depth of understanding in a chosen computer science and computer engineering research area. Includes a written proposal for a Ph.D. topic and an oral examination, that is open to the public.

  • CS 8980 Residency Research in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Research on the Ph.D. dissertation topic taken in residence.

  • CS 8990 Dissertation Defense in Computer Science

    Level: 
    Graduate
    Credit Hours: 
    1 to 6
    Schedule Type: 
    Independent Study

    Examination on the Ph.D. dissertation. The written dissertation is submitted and must be successfully defended in the oral exam that is conducted by the dissertation committee and open to the public.


Take the Next Step

Finding the right college means finding the right fit. See all that the College of Engineering and Computer Science has to offer by visiting campus.