2016-17 Catalog

Computer Science & Engineering (CSE)

Courses

CSE 001 Breadth of Computing 2 Credits

Broad overview of computer science, computer systems, and computer applications. Interactive Web page development. Includes laboratory. Not available to students who have taken CSE 012 or ENGR 010.

CSE 002 Fundamentals of Programming 2 Credits

Problem-solving and object-oriented programming using Java. Includes laboratory. No prior programming experience needed.

CSE 012 Survey of Computer Science 3 Credits

Fundamental concepts of computing and "computational thinking": problem analysis, abstraction, algorithms, digital representation of information, and networks. Applications of computing and communication that have changed the world. Impact of computing on society. Concepts of software development using a scripting language such as Python, Perl, or Ruby. Not available to students who have taken CSE 015 or CSE 001.

CSE 017 Programming and Data Structures 3 Credits

Algorithmic design and implementation in a high level, object oriented language, such as Java. Classes, subclasses, recursion, searching, sorting, linked lists, trees, stacks, queues.
Prerequisites: CSE 002 and (CSE 001 or CSE 012 or (ENGR 010) or ENGR 097)
Attribute/Distribution: MA

CSE 042 (EMC 042) Game Design 3 Credits

Modern topics in game design: Finite State Machines, iterative design process, systems and interactivity, designing rules for digital games, emergence in games, games as Schemas of Uncertainty, games as Information Theory Schemas, games as Information Systems, games as Cybernetic Systems. The course does not count as a technical elective for majors in Computer Science, Computer Science and Business, or Computer Engineering.

CSE 109 Systems Software 4 Credits

Advanced programming and data structures, including dynamic structures, memory allocation, data organization, symbol tables, hash tables, B-trees, data files. Object-oriented design and implementation of simple assemblers, loaders, interpreters, compilers, and translators. Practical methods for implementing medium-scale programs.
Prerequisites: CSE 017 or CSE 018

CSE 130 Technical Presentation 1 Credit

Oral and written communication of information in computer science. Technical writing; structure, style, and delivery of oral presentations; use of visual aids.
Prerequisites: CSE 017 or CSE 018
Can be taken Concurrently: CSE 017, CSE 018

CSE 190 Special Topics 1-3 Credits

Supervised reading and research. Consent of department required.

CSE 202 Computer Organization and Architecture 3 Credits

Interaction between low-level computer architectural properties and high-level program behaviors: instruction set design; digital logic and assembly language; processor organization; the memory hierarchy; multicore and GPU architectures; and processor interrupt/exception models. Credit will not be given for both CSE 201 and CSE 202.
Prerequisites: CSE 017 or CSE 018

CSE 216 Software Engineering 3 Credits

The software lifecycle; lifecycle models; software planning; testing; specification methods; maintenance. Emphasis on team work and large-scale software systems, including oral presentations and written reports.
Prerequisites: CSE 109

CSE 241 Database Systems and Applications 3 Credits

Design of large databases: Integration of databases and applications using SQL and JDBC; transaction processing; performance tuning; data mining and data warehouses. Not available to students who have credit for CSE 341 or IE 224.
Prerequisites: CSE 017 or CSE 018

CSE 252 Computers, the Internet, and Society 3 Credits

An interactive exploration of the current and future role of computers, the Internet, and related technologies in changing the standard of living, work environments, society and its ethical values. Privacy, security, depersonalization, responsibility, and professional ethics; the role of computer and Internet technologies in changing education, business modalities, collaboration mechanisms, and everyday life.
Attribute/Distribution: SS

CSE 261 (MATH 261) Discrete Structures 3 Credits

Topics in discrete structures chosen for their applicability to computer science and engineering. Sets, propositions, induction, recursion; combinatorics; binary relations and functions; ordering, lattices and Boolean algebra; graphs and trees; groups and homomorphisms. Various applications.
Prerequisites: (MATH 021 or MATH 031 or MATH 051 or MATH 076)
Attribute/Distribution: MA

CSE 262 Programming Languages 3 Credits

Use, structure and implementation of several programming languages.
Prerequisites: CSE 017 or CSE 018

CSE 264 Web Systems Programming 3 Credits

Practical experience in designing and implementing modern Web applications. Concepts, tools, and techniques, including: HTTP, HTML, CSS, DOM, JavaScript, Ajax, PHP, graphic design principles, mobile web development. Not available to students who have credit for IE 275.
Prerequisites: CSE 017
Attribute/Distribution: ND

CSE 265 System and Network Administration 3 Credits

Overview of systems and network administration in a networked UNIX-like environment. System installation, configuration, administration, and maintenance; security principles; ethics; network, host, and user management; standard services such as electronic mail, DNS, and WWW; file systems; backups and disaster recovery planning; troubleshooting and support services; automation, scripting; infrastructure planning.
Prerequisites: CSE 017 or CSE 018

CSE 271 Programming in C and the Unix Environment 3 Credits

C language syntax and structure. C programming techniques. Emphasis on structured design for medium to large programs. Unix operating system fundamentals. Unix utilities for program development, text processing, and communications.
Prerequisites: CSE 109

CSE 280 Capstone Project I 3 Credits

First of a two semester capstone course sequence that involves the design, implementation, and evaluation of a computer science software project. Conducted by small student teams working from project definition to final documentation. Each student team has a CSE faculty member serving as its advisor. The first semester emphasis is on project definition, planning and implementation. Communication skills such as technical writing, oral presentations, and use of visual aids are also emphasized. Project work is supplemented by weekly seminars.
Prerequisites: CSE 216
Can be taken Concurrently: CSE 216

CSE 281 2 Credits

Second of a two semester capstone course sequence that involves the design, implementation, and evaluation of a computer science software project; conducted by small student teams working from project definition to final documentation; each student team has a CSE faculty member serving as its advisor; The second semester emphasis is on project implementation, verification & validation, and documentation requirements. It culminates in a public presentation and live demonstration to external judges as well as CSE faculty and students.
Prerequisites: CSE 280
Attribute/Distribution: ND

CSE 300 Apprentice Teaching 1-4 Credits

CSE 302 Compiler Design 3 Credits

Principles of artificial language description and design. Sentence parsing techniques, including operator precedence, bounded-context, and syntax-directed recognizer schemes. The semantic problem as it relates to interpreters and compilers. Dynamic storage allocation, table grammars, code optimization, compiler-writing languages.
Prerequisites: (CSE 109)

CSE 303 Operating System Design 3 Credits

Process and thread programming models, management, and scheduling. Resource sharing and deadlocks. Memory management, including virtual memory and page replacement strategies. I/O issues in the operating system. File system implementation. Multiprocessing. Computer security as it impacts the operating system.
Prerequisites: ECE 201 or (CSE 201 or CSE 202) and CSE 109

CSE 307 (BIOE 307) Structural Bioinformatics 3 Credits

Computational techniques and principles of structural biology used to examine molecular structure, function, and evolution. Topics include: protein structure alignment and prediction; molecular surface analysis; statistical modeling; QSAR; computational drug design; influences on binding specificity; protein-ligand, -protein, and -DNA interactions; molecular simulation, electrostatics. Tutorials on UNIX systems and research software support an interdisciplinary collaborative project in computational structural biology. Credit will not be given for both CSE 307 and CSE 407. Must have junior standing or higher.
Prerequisites: BIOS 120 or CSE 109 or CHM 113 or MATH 231

CSE 308 (BIOE 308) Bioinformatics: Issues and Algorithms 3 Credits

Computational problems and their associated algorithms arising from the creation, analysis, and management of bioinformatics data. Genetic sequence comparison and alignment, physical mapping, genome sequencing and assembly, clustering of DNA microarray results in gene expression studies, computation of genomic rearrangements and evolutionary trees. Credit will not be given for both CSE 308 (BIOE 308) and CSE 408 (BIOE 408). No prior background in biology is assumed.
Prerequisites: CSE 017 or CSE 018

CSE 313 Computer Graphics 3 Credits

Computer graphics for animation, visualization, and production of special effects: displays, methods of interaction, images, image processing, color, transformations, modeling (primitives, hierarchies, polygon meshes, curves and surfaces, procedural), animation (keyframing, dynamic simulation), rendering and realism (shading, texturing, shadows, visibility, ray tracing), and programmable graphics hardware.
Prerequisites: CSE 109 and (MATH 043 or MATH 205 or MATH 242)

CSE 318 Introduction to the Theory of Computation 3 Credits

Formal study of theoretical computational models: finite automata, pushdown automata, and Turing machines. Study of formal languages: regular, context-free, and decidable languages.
Prerequisites: CSE 261 or MATH 261

CSE 319 Image Analysis and Graphics 3 Credits

State-of-the-art techniques for fundamental image analysis tasks: feature extraction, segmentation, registration, tracking, recognition, search (indexing and retrieval). Related computer graphics techniques: modeling (geometry, physically-based, statistical), simulation (data-driven, interactive), animation, 3D image visualization, and rendering. Credit will not be given for both CSE 319 and CSE 419.
Prerequisites: CSE 313

CSE 320 (BIOE 320) Biomedical Image Computing and Modeling 3 Credits

Biomedical image modalities, image computing techniques, and imaging informatics systems. Understanding, using, and developing algorithms and software to analyze biomedical image data and extract useful quantitative information: Biomedical image modalities and formats; image processing and analysis; geometric and statistical modeling; image informatics systems in biomedicine. Credit will not be given for both CSE 320 and CSE 420.
Prerequisites: (MATH 205 or MATH 043) and CSE 017
Attribute/Distribution: ND

CSE 326 Pattern Recognition 3 Credits

Bayesian decision theory and the design of parametric and nonparametric classifiers: linear (perceptrons), quadratic, nearest-neighbors, neural nets. Machine learning techniques: boosting, bagging. High-performance machine vision systems: segmentation, contextual analysis, adaptation. Students carry out projects, e.g. on digital libraries and vision-based Turing tests. Credit will not be given for both CSE 326 and CSE 426.
Prerequisites: CSE 109 and CSE 340 and MATH 205 and (MATH 231 or ECO 045)

CSE 327 (COGS 327) Artificial Intelligence Theory and Practice 3 Credits

Introduction to the field of artificial intelligence: Problem solving, knowledge representation, reasoning, planning and machine learning. Use of AI systems or languages. Advanced topics such as natural language processing, vision, robotics, and uncertainty. CSE 261 is recommended.
Prerequisites: (CSE 001 and CSE 002) or CSE 017

CSE 331 User Interface Systems and Techniques 3 Credits

Principles and practice of creating effective human-computer interfaces. Design and user evaluation of user interfaces; design and use of interface building tools. Programming projects using a variety of interface building tools to construct and evaluate interfaces.
Prerequisites: CSE 017

CSE 332 Multimedia Design and Development 3 Credits

Analysis, design and implementation of multimedia software, primarily for e-learning courses or training. Projects emphaize user interface design, content design with storyboards or scripts, creation of graphics, animation, audio and video materials, software development using high level authoring tools. Consent of instructor.
Prerequisites: CSE 012 or CSE 015 or ENGR 001

CSE 334 Software System Security 3 Credits

Survey of common software vulnerabilities: buffer overflows, format string attacks, cross-site scripting, and botnets. Discussion of common defense mechanisms: static code analysis, reference monitors, language-based security, secure information flow, and others. Credit will not be given for both CSE 334 and CSE 434.
Prerequisites: CSE 109 and CSE 262

CSE 335 Topics on Intelligent Decision Support Systems 3 Credits

Intelligent decision support systems (IDSSs). AI techniques that are used to build IDSSs: case-based reasoning, decision trees and knowledge representation. Applications of these techniques: help-desk systems, e-commerce, and knowledge management. Credit will not be given for both CSE 335 and CSE 435.
Prerequisites: CSE 327 or CSE 109

CSE 336 (ECE 336) Embedded Systems 3 Credits

Use of small computers embedded as part of other machines. Limited-resource microcontrollers and state machines from high description language. Embedded hardware: RAM, ROM, flash, timers, UARTs, PWM, A/D, multiplexing, debouncing. Development and debugging tools running on host computers. Real-Time Operating System (RTOS) semaphores, mailboxes, queues. Task priorities and rate monotonic scheduling. Software architectures for embedded systems.
Prerequisites: CSE 017 or CSE 018

CSE 337 Reinforcement Learning 3 Credits

Algorithms for automated learning from interactions with the environment to optimize long-term performance. Markov decision processes, dynamic programming, temporal-difference learning, Monte Carlo reinforcement learning methods. Credit will not be given for both CSE 337 and CSE 437.
Prerequisites: MATH 231 and CSE 109

CSE 340 (MATH 340) Design and Analysis of Algorithms 3 Credits

Algorithms for searching, sorting, manipulating graphs and trees, finding shortest paths and minimum spanning trees, scheduling tasks, etc.: proofs of their correctness and analysis of their asymptotic runtime and memory demands. Designing algorithms: recursion, divide-and-conquer, greediness, dynamic programming. Limits on algorithm efficiency using elementary NP-completeness theory. Credit will not be given for both CSE 340 (Math 340) and CSE 441 (Math 441).
Prerequisites: (MATH 022 or MATH 096 or MATH 032) and (CSE 261 or MATH 261)

CSE 341 Database Systems, Algorithms, and Applications 3 Credits

Design of large databases; normalization; query languages (including SQL); Transaction-processing protocols; Query optimization; performance tuning; distributed systems. Not available to students who have credit for CSE 241.
Prerequisites: CSE 017

CSE 342 Fundamentals of Internetworking 4 Credits

Architecture and protocols of computer networks. Protocol layers; network topology; data-communication principles, including circuit switching, packet switching and error control techniques; sliding window protocols, protocol analysis and verification; routing and flow control; local and wide area networks; network interconnection; client-server interaction; emerging networking trends and technologies; topics in security and privacy.
Prerequisites: CSE 109

CSE 343 Network Security 3 Credits

Overview of network security threats and vulnerabilities. Techniques and tools for detecting, responding to and recovering from security incidents. Fundamentals of cryptography. Hands-on experience with programming techniques for security protocols. Credit will not be given for both CSE 343 and CSE 443.
Prerequisites: CSE 265 or CSE 303 or CSE 342

CSE 345 WWW Search Engines 3 Credits

Study of algorithms, architectures, and implementations of WWW search engines; Information retrieval (IR) models; performance evaluation; properties of hypertext crawling, indexing, searching and ranking; link analysis; parallel and distributed IR; user interfaces. Credit will not be given for both CSE 345 and CSE 445.
Prerequisites: CSE 109

CSE 347 Data Mining 3 Credits

Overview of modern data mining techniques: data cleaning; attribute and subset selection; model construction, evaluation and application. Fundamental mathematics and algorithms for decision trees, covering algorithms, association mining, statistical modeling, linear models, neural networks, instance-based learning and clustering covered. Practical design, implementation, application, and evaluation of data mining techniques in class projects. Credit will not be given for both CSE 347 and CSE 447.
Prerequisites: (CSE 017 or CSE 018) and (MATH 231 or ECO 045)
Can be taken Concurrently: ECO 045

CSE 348 AI Game Programming 3 Credits

Contemporary computer games: techniques for implementing the program controlling the computer component; using Artificial Intelligence in contemporary computer games to enhance the gaming experience: pathfinding and navigation systems; group movement and tactics; adaptive games, game genres, machine scripting language for game designers, and player modeling. Credit will not be given for both CSE 348 and CSE 448.
Prerequisites: CSE 327 or CSE 109

CSE 350 Special Topics 3 Credits

Selected topics in the field of computer science not included in other courses.
Repeat Status: Course may be repeated.
Prerequisites: MATH 205

CSE 360 Introduction to Mobile Robotics 3 Credits

Algorithms employed in mobile robotics for navigation, sensing, and estimation. Common sensor systems, motion planning, robust estimation, bayesian estimation techniques, Kalman and Particle filters, localization and mapping. Credit will not be given for both CSE 360 and CSE 460.
Prerequisites: MATH 205 or MATH 023 or MATH 231

CSE 363 Network Systems Design 3 Credits

Design principles and issues of network systems. Traditional protocol processing systems and latest network processor/processing technologies. Packet processing, protocol processing, classification and forwarding, switching fabrics, network processors, and network systems design tradeoffs.
Prerequisites: CSE 342

CSE 375 Principles of Practice of Parallel Computing 3 Credits

Parallel computer architectures, parallel languages, parallelizing compilers and operating systems. Design, implementation, and analysis of parallel algorithms for scientific and data-intensive computing. Credit is not given for both CSE 375 and CSE 475.
Prerequisites: (ECE 201 or CSE 201) or CSE 303 or CSE 202
Can be taken Concurrently: ECE 201, CSE 201, CSE 303, CSE 202

CSE 379 Senior Project 3 Credits

Design, implementation, and evaluation of a computer science capstone project conducted by student teams working from problem definition to testing and implementation; written progress reports supplemented by oral presentations. Must have senior standing.

CSE 389 Honors Project 1-8 Credits

CSE 392 Independent Study 1-3 Credits

An intensive study, with report, of a topic in computer science which is not treated in other courses. Consent of instructor required.
Repeat Status: Course may be repeated.

CSE 401 (ECE 401) Advanced Computer Architecture 3 Credits

Design, analysis and performance of computer architectures; high-speed memory systems; cache design and analysis; modeling cache performance; principle of pipeline processing, performance of pipelined computers; scheduling and control of a pipeline; classification of parallel architectures; systolic and data flow architectures; multiprocessor performance; multiprocessor interconnections and cache coherence.

CSE 403 Advanced Operating Systems 3 Credits

Principles of operating systems with emphasis on hardware and software requirements and design methodologies for multi-programming systems. Global topics include the related areas of process management, resource management, and file systems.
Prerequisites: CSE 303

CSE 404 (ECE 404) Computer Networks 3 Credits

Study of architecture and protocols of computer networks. The ISO model; network topology; data-communication principles, including circuit switching, packet switching and error control techniques; sliding window protocols, protocol analysis and verification; routing and flow control; local area networks; network interconnection; topics in security and privacy.

CSE 405 Advanced Programming Languages 3 Credits

Basic ideas behind modern programming language design, with a focus on functional languages: type systems, modularity, operational semantics, and others. Students need to have some mathematical maturity, including familiarity with proof techniques such as induction.

CSE 406 Research Methods 3 Credits

Technical writing, reading the literature critically, analyzing and presenting data, conducting research, making effective presentations, and understanding social and ethical responsibilities. Topics drawn from probability and statistics, use of scripting languages, and conducting large-scale experiments. Must have first-year status in either the CS or CompE Ph. D. program.

CSE 407 (BIOE 407) Structural Bioinformatics 3 Credits

Computational techniques and principles of structural biology used to examine molecular structure, function, and evolution. Topics include: protein structure alignment and prediction; molecular surface analysis; statistical modeling; QSAR; computational drug design; influences on binding specificity; protein-ligand, -protein, and –DNA interactions; molecular simulation, electrostatics. This course, a version of 307 for graduate students, requires advanced assignments and a collaborative project. Credit will not be given for both CSE 307 and 407. Consent of instructor required.

CSE 408 (BIOE 408) Bioinformatics: Issues and Algorithms 3 Credits

Computational problems and their associated algorithms arising from the creation, analysis, and management of bioinformatics data. Genetic sequence comparison and alignment, physical mapping, genome sequencing and assembly, clustering of DNA microarray results in gene expression studies, computation of genomic rearrangements and evolutionary trees. This course, a version of 308 for graduate students requires advanced assignments. Credit will not be given for both BIOE 308 (CSE 308) and BIOE 408 (CSE 408). No prior background in biology is assumed.
Prerequisites: CSE 017 or CSE 018

CSE 409 Theory of Computation 3 Credits

Finite automata. Pushdown automata. Relationship to definition and parsing of formal grammars. Credits will not be given for both CSE318 and CSE409.
Prerequisites: CSE 318 or CSC 318

CSE 411 Advanced Programming Techniques 3 Credits

Deeper study of programming and software engineering techniques. The majority of assignments involve programming in contemporary programming languages. Topics include memory management, GUI design, testing, refactoring, and writing secure code.

CSE 419 Image Analysis and Graphics 3 Credits

State-of-the-art techniques for fundamental image analysis tasks; feature extraction, segmentation, registration, tracking, recognition, search (indexing and retrieval). Related computer graphics techniques: modeling (geometry, physically-based, statistical), simulation (data-driven, interactive), animation, 3D image visualization, and rendering. This course, a graduate version of CSE 319, requires additional advanced assignments. Credit will not be given for both CSE 319 and CSE 419.

CSE 420 (BIOE 420) Biomedical Image Computing and Modeling 3 Credits

Biomedical image modalities, image computing techniques, and imaging informatics systems. Understanding, using, and developing algorithms and software to analyze biomedical image data and extract useful quantitative information: Biomedical image modalities and formats; image processing and analysis; geometric and statistical modeling; image informatics systems in biomedicine. This course, a graduate version of BIOE 320, requires additional advanced assignments. Credit will not be given for both BIOE 320 and BIOE 420.
Prerequisites: MATH 205 and CSE 109
Attribute/Distribution: ND

CSE 424 Advanced Communication Networks 3 Credits

Current and emerging research topics in communication networks: network protocols, network measurement, internet routing, network security, adhoc and sensor networks, disruption tolerant networks. Lecture, readings, and discussion, plus a project.
Prerequisites: CSE 342 or CSE 303 or CSE 404

CSE 426 Pattern Recognition 3 Credits

Bayesian decision theory and the design of parametric and nonparametric classifiers: linear (perceptrons), quadratic, nearest-neighbors, neural nets. Machine learning techniques: boosting, bagging. High-performance machine vision systems: segmentation, contextual analysis, adaptation. Students carry out projects, e.g. on digital libraries and vision-based Turing tests. This course, a version of CSE 326 for graduate students requires advanced assignments. Credit will not be given for both CSE 326 and CSE 426.

CSE 428 Semantic Web Topics 3 Credits

Theory, architecture and applications of the Semantic Web. Issues in designing distributed knowledge representation languages, ontology development, knowledge acquisition, scalable reasoning, integrating heterogeneous data sources, and web-based agents.

CSE 431 Intelligent Agents 3 Credits

Principles of rational autonomous software systems. Agent theory; agent architectures, including logic-based, utility-based, practical reasoning, and reactive; multi-agent systems; communication languages; coordination methods including negotiation and distributed problem solving; applications.

CSE 432 Object-Oriented Software Engineering 3 Credits

Design and construction of modular, reusable, extensible and portable sotware using statically typed object-oriented programming languages (Eiffel, C++, Objective C). Abstract data types; genericity, multiple inheritance; use and design of software libraries; persistence, and object-oriented databases; impact of object-oriented programming on the software life cycle.

CSE 434 Software System Security 3 Credits

Survey of common software vulnerabilities: buffer overflows, format string attacks, cross-site scripting, and botnets. Discussion of common defense mechanisms: static code analysis, reference monitors, language-based security, secure information flow, and others. The graduate version differs from the undergraduate version by requiring advanced assignments and projects. Credit will not be given for both CSE 334 and CSE 434. Must have graduate standing in Computer Science or consent of instructor.

CSE 435 Topics on Intelligent Decision Support Systems 3 Credits

AI techniques used to build IDSSs: case-based reasoning, decision trees and knowledge representation. Applications: helpdesk systems, e-commerce, and knowledge management. This course, a version of CSE 335 for graduate students, requires research projects and advanced assignments. Credit will not be given for both CSE 335 and CSE 435.

CSE 437 Reinforcement Learning and Markov Decision Precesses 3 Credits

Formal model based on Markov decision processes for automated learning from interactions with stochastic, incompletely known environments. Markov decision processes, dynamic programming, temporal-difference learning, Monte Carlo reinforcement learning methods. Credit will not be given for both CSE 337 and CSE 437. Must have graduate standing in Computer Science or have consent of instructor.

CSE 441 (MATH 441) Advanced Algorithms 3 Credits

Algorithms for searching, sorting, manipulating graphs and trees, scheduling tasks, finding shortest path, matching patterns in strings, cryptography, matroid theory, linear programming, max-flow, etc., and their correctness proofs and analysis of their time and space complexity. Strategies for designing algorithms, e.g. recursion, divide-and-conquer, greediness, dynamic programming. Limits on algorithm efficiency are explored through NP completeness theory. Quantum computing is briefly introduced. Credit will not be given for both CSE 340 (MATH 340) and CSE 441 (MATH 441).

CSE 443 Network Security 3 Credits

Overview of network security threats and vulnerabilities. Techniques and tools for detecting, responding to and recovering from security incidents. Fundamentals of cryptography. Hands-on experience with programming techniques for security protocols. This course, a version of CSE 343 for graduate students, requires research projects and advanced assignments. Credit will not be given for both CSE 343 and CSE 443.
Prerequisites: (CSE 404 or ECE 404) or CSE 265 or CSE 303 or CSE 342

CSE 445 WWW Search Engines 3 Credits

Study of algorithms, architectures, and implementations of WWW search engines. Information retrieval (IR) models; performance evaluation; properties of hypertext crawling, indexing, searching and ranking; link analysis; parallel and distributed IR; user interfaces. This course, a version of CSE 345 for graduate students, requires research projects and advanced assignments. Credit will not be given for both CSE 345 and CSE 445.

CSE 447 Data Mining 3 Credits

Modern data mining techniques: data cleaning; attribute and subset selection; model construction, evaluation and application. Algorithms for decision trees, covering algorithms, association rule mining, statistical modeling, model and regression trees, neural networks, instance-based learning and clustering covered. This course, a version of CSE 347 for graduate students, requires research projects and advanced assignments. Credit will not be given for both CSE 347 and CSE 447.

CSE 450 Special Topics 3 Credits

Selected topics in computer science not included in other courses.
Repeat Status: Course may be repeated.

CSE 460 Mobile Robotics 3 Credits

Algorithms employed in mobile robotics for navigation, sensing, and estimation. Common sensor systems, motion planning, robust estimation, Bayesian estimation techniques, Kalman and particle filters, localization and mapping. This course, a version of CSE 360 for graduate students will require an independent project to be presented in class. Credit will not be given for both CSE 360 and CSE 460.
Prerequisites: MATH 023 and MATH 205 and MATH 231
Can be taken Concurrently: MATH 231

CSE 475 Principles and Practice of Parallel Computing 3 Credits

Parallel computer architectures, parallel languages, parallelizing compilers and operating systems. Design, implementation, and analysis of parallel algorithms for scientific and data-intensive computing. This is a graduate version of CSE 375. As such, it will require additional assignments. Credit is not given for both CSE 375 and CSE 475.

CSE 490 Thesis 1-6 Credits

Thesis.
Repeat Status: Course may be repeated.

CSE 491 Research Seminar 1-3 Credits

Regular meetings focused on specific topics related to the research interests of department faculty. Current research will be discussed. Students may be required to present and review relevant publications. Consent of instructor required.
Repeat Status: Course may be repeated.

CSE 492 Independent Study 1-3 Credits

An intensive study, with report of a topic in computer science that is not treated in other courses. Consent of instructor required.
Repeat Status: Course may be repeated.

CSE 499 Dissertation 1-15 Credits