This is an archived copy of the 2015-2016 catalog. To access the most recent version of the catalog, please visit http://catalog.uta.edu/.

Computer Science and Engineering (CSE)

Courses

CSE 1000. FRESHMAN UNDERGRADUATE RESEARCH. 0 Hours.

Freshman level undergraduate research course. Prerequisites: Departmental good standing and permission of instructor. May be taken a maximum of 3 times.

CSE 1104. INTRODUCTION TO ENGINEERING. 1 Hour.

Introduction to basic engineering concepts. Students will become familiar with engineering and its many sub-fields, ethical responsibilities, creativity and design. Corequisite: CSE 1105.

CSE 1105. INTRODUCTION TO COMPUTER SCIENCE AND ENGINEERING. 1 Hour.

Introduction to engineering concepts, the computer science and engineering disciplines, skills for written communication, and departmental orientation.

CSE 1301. COMPUTER LITERACY. 3 Hours. (TCCN = COSC 1301)

For those persons having an interest in finding out what a computer is (and is not), the types of problems suited for computers, and how to utilize a computer to solve problems. The organization and characteristics of computers; application of commercial software such as word processors, spreadsheets, database packages, and communications packages.

CSE 1309. INTRODUCTION TO PROGRAMMING FOR NON-ENGINEERING MAJORS. 3 Hours.

An introduction to the algorithmic process and to programming using basic control and data structures. This course is taught using the Python programming language. Prerequisite: Corequisite MATH 1302.

CSE 1310. INTRODUCTION TO COMPUTERS & PROGRAMMING. 3 Hours. (TCCN = COSC 1320)

An introduction to the computer, to the algorithmic process, and to programming using basic control and data structures, using a procedural language. Prerequisite: MATH 1302 or MATH 1421 (or concurrently) or MATH 1426 (or concurrently).

CSE 1311. INTRODUCTION TO PROGRAMMING FOR ENGINEERS. 3 Hours.

An introduction to the computer, to the algorithmic process, and to programming using basic control and data structures. This class is currently using the C language. Prerequisite: MATH 1421 (or concurrently).

CSE 1312. MATHEMATICAL INTRODUCTION TO COMPUTERS & PROGRAMMING. 3 Hours.

Substitute for CSE 1310, but with broader connections to mathematical problem-solving, basic code quality issues, and evaluation of program execution properties. Credit will not be given for both CSE 1310 and CSE 1312. Prerequisite: MATH 1421 and CSE undergraduate advisor approval.

CSE 1320. INTERMEDIATE PROGRAMMING. 3 Hours.

Programming concepts beyond basic control and data structures. Emphasis is given to data structures including linked-lists and trees as well as modular design consistent with software engineering principles. Prerequisite: ENGR 1300, CSE 1105, CSE 1310 or CSE 1312, and MATH 1421 or MATH 1426 (or concurrently).

CSE 1325. OBJECT-ORIENTED PROGRAMMING. 3 Hours.

Object-oriented concepts, basic Unified Modeling Language (UML) modeling, collection classes, generics, polymorphism, reusability, and introduction to design patterns. Projects involve extensive programming and include graphical user interfaces and multithreading. Prerequisite: CSE 1320.

CSE 1392. SPECIAL TOPICS. 3 Hours.

New developments in the field of computer science and engineering. Topic may vary from semester to semester. May be repeated for credit when topic changes. Departmental approval required in advance to use for degree credit. Prerequisite: consent of advisor.

CSE 2000. SOPHOMORE UNDERGRADUATE RESEARCH. 0 Hours.

Sophomore level undergraduate research course. Prerequisites: Departmental good standing and permission of instructor. May be taken a maximum of 3 times.

CSE 2100. PRACTICAL COMPUTER HARDWARE/SOFTWARE SYSTEMS. 1 Hour.

A practical approach to hands-on computer hardware and software systems in a laboratory environment. Students will be exposed to basic design concepts using off-the-shelf hardware components and to tools that enable the design of complex software systems. Prerequisite: Corequisite CSE 2312.

CSE 2312. COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING. 3 Hours.

Computer organization from the viewpoint of software, including: the memory hierarchy, instruction set architectures, memory addressing, input-output, integer and floating-point representation and arithmetic. The relationship of higher-level programming languages to the operating system and to instruction set architecture are explored. Some programming in an assembly language. Prerequisite: CSE 1320.

CSE 2315. DISCRETE STRUCTURES. 3 Hours.

Propositional and predicate logic, mathematical proof techniques, sets, combinatorics, functions and relations, graphs, and graph algorithms. Prerequisites: CSE 1310 and MATH 1426.

CSE 2320. ALGORITHMS & DATA STRUCTURES. 3 Hours.

Design and analysis of algorithms with an emphasis on data structures. Approaches to analyzing lower bounds on problems and upper bounds on algorithms. Classical algorithm design techniques including algorithms for sorting, searching, and other operations on data structures such as hash tables, trees, graphs, strings, and advanced data structures, dynamic programming and greedy approaches. Prerequisite: CSE 1320 and CSE 2315.

CSE 2392. SPECIAL TOPICS. 3 Hours.

New developments in the field of computer science and engineering. Topic may vary from semester to semester. May be repeated for credit when topic changes. Departmental approval required in advance to use for degree credit. Prerequisite: consent of advisor.

CSE 2441. INTRODUCTION TO DIGITAL LOGIC. 4 Hours.

Analysis, design and testing of combinational and sequential logic circuits. Topics include Boolean algebra, logic circuit minimization techniques, synchronous sequential circuit design, algorithmic state machine design, design of arithmetic/logic and control units. Computer aided design tools and utilized throughout the course. Prerequistes: CSE 1320 and CSE 2315; Corequisite: EE 2440.

CSE 3000. JUNIOR UNDERGRADUATE RESEARCH JUNIOR UNDERGRADUATE RESEARCH. 0 Hours.

Junior level undergraduate research course. Prerequisites: Departmental good standing and permission of instructor. May be taken a maximum of 3 times.

CSE 3302. PROGRAMMING LANGUAGES. 3 Hours.

Introduction, analysis, and evaluation of the important concepts found in a variety of programming languages. Formalisms useful in specifying language syntax and semantics; programming language paradigms such as algorithmic, functional, logic, and object-oriented. Prerequisite: C or better in each of the following: CSE 1325, CSE 2312 and CSE 2320.

CSE 3310. FUNDAMENTALS OF SOFTWARE ENGINEERING. 3 Hours.

Software engineering principles, processes, and techniques; software development approaches focusing on functional analysis and functional design methods. Configuration management, implementation strategies, and testing. Team project. Prerequisite: C or better in each of the following: CSE 1325 and CSE 2315.

CSE 3311. OBJECT-ORIENTED SOFTWARE ENGINEERING. 3 Hours.

Study of an agile unified methodology and its application to object-oriented software development. Topics include requirements acquisition, use case derivation, modeling and design of interaction behavior and state behavior, introduction to design patterns, derivation of design class diagrams, implementation considerations and deployment. Team project. Prerequisite: C or better in each of the following: CSE 1325 and CSE 2320.

CSE 3313. INTRODUCTION TO SIGNAL PROCESSING. 3 Hours.

Examines models for presentation and processing of digital signals. Sampling theorem, correlation and convolution, time and frequency analysis of linear systems, Fourier transform, Z-transform, design of digital filters structures for discrete time systems. Prerequisite: C or better in each of the following: CSE 2320, IE 3301 and either CSE 3380 or MATH 3330.

CSE 3315. THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING. 3 Hours.

Selected theoretical concepts including regular and context free languages, finite state and pushdown automata, Turing machines, computability, and NP-completeness. Prerequisite: C or better in CSE 2315.

CSE 3320. OPERATING SYSTEMS. 3 Hours.

Functions and components of an operating system, including process synchronization, job scheduling, memory management, file systems protection, and deadlocks. Related system software, such as loaders, linkers, assemblers, and windowing systems. Prerequisite: C or better in each of the following: CSE 2312; and IE 3301 or MATH 3313 (or concurrently).

CSE 3323. ELECTRONICS FOR COMPUTER ENGINEERING. 3 Hours.

Review of basic electronics concepts, Integrated circuit technologies, Realization of digital logic devices, Analog filters, Signals and Signal Conditioning, Instrumentation, A/D, D/A conversion, Sensors, Oscillators, PLLs, Actuators, Prototyping, SMT and Schematics and PCBs (CAD). Prerequisite: C or better in EE 2440.

CSE 3330. DATABASE SYSTEMS AND FILE STRUCTURES. 3 Hours.

Database system architecture; file structures for databases, including indexing hashing, and B+-trees; the relational model and algebra; the SQL database language; Entity-Relationship data modeling; functional dependencies and basic normalization. Prerequisite: C or better in each of the following: CSE 1325 and CSE 2320.

CSE 3380. LINEAR ALGEBRA FOR CSE. 3 Hours.

Solving systems of equations, matrix algebra, determinants, vector spaces, orthogonality and least squares, with applications to computer science. Prerequisite: C or better in CSE 2315.

CSE 3392. SPECIAL TOPICS. 3 Hours.

New developments in the field of computer science and engineering. Topic may vary from semester to semester. May be repeated for credit when topic changes. Departmental approval required in advance to use for degree credit. Prerequisite: consent of advisor.

CSE 3442. EMBEDDED SYSTEMS I. 4 Hours.

Design of microcomputer based systems: microcomputer programming, component and system architectures, memory interfacing, parallel and serial input/output ( I/O) interfacing, analog to digital (A/D) and digital to analog ( D/A) conversion, and typical applications. Prerequisite: C or better in each of the following: CSE 2100 and CSE 2441.

CSE 4000. SENIOR UNDERGRADUATE RESEARCH SENIOR UNDERGRADUATE RESEARCH. 0 Hours.

Senior level undergraduate research course. Prerequisites: Departmental good standing and permission of instructor. May be taken a maximum of 3 times.

CSE 4191. INDIVIDUAL PROJECTS. 1 Hour.

Special problems in computer science and engineering on an individual basis. Topics may change from semester to semester. May be repeated for credit. Departmental approval must be obtained in advance for degree credit. Prerequisite: consent of instructor and department chairperson.

CSE 4303. COMPUTER GRAPHICS. 3 Hours.

Theory and practice for the visual representation of data by computers including display devices, output primitives, planes and curved surfaces, two- and three-dimensional transformations, parallel and perspective viewing, removal of hidden lines and surfaces, illumination models, ray tracing, radiosity, color models, and computer animation. Prerequisite: C or better in each of the following: CSE 2320, and either CSE 3380 or MATH 3330.

CSE 4305. COMPILERS FOR ALGORITHMIC LANGUAGES. 3 Hours.

Review of programming language structures, translation, and storage allocation. Theory and practice of compilers and issues in compiler construction including parsing, intermediate code generation, local optimization problems such as register allocation, data-flow analysis, and global optimization. Prerequisite: C or better in the following: CSE 3302 and CSE 3315.

CSE 4308. ARTIFICIAL INTELLIGENCE I. 3 Hours.

An introduction to the field of artificial intelligence studying basic techniques such as heuristic search, deduction, learning, problem solving, knowledge representation, uncertainty reasoning and symbolic programming languages such as LISP. Application areas may include intelligent agents, data mining, natural language, machine vision, planning and expert systems. Prerequisite: C or better in each of the following: CSE 3315 and IE 3301.

CSE 4309. ARTIFICIAL INTELLIGENCE II. 3 Hours.

Continuation of artificial intelligence methods and techniques, including uncertainty reasoning, machine learning, perception, and advanced topics in knowledge representation, search and planning. Emphasis on design and implementation of AI solutions. Prerequisite: C or better in each of the following: CSE 4308 and IE 3301.

CSE 4314. PROFESSIONAL PRACTICES. 3 Hours.

Ethics. Contemporary social aspects and responsibilities of computing in a global, societal context. Lifelong learning goals and resources. Entrepreneurship and intellectual property. Project involving written and oral communication. Prerequisite: Upper Division status and a C or better in COMS 2302.

CSE 4316. COMPUTER SYSTEM DESIGN PROJECT I. 3 Hours.

Analysis and design of an industry-type project that involves hardware and software components to meet desired needs within realistic constraints and standards. The project is to be completed in CSE 4317 the following semester. Multidisciplinary teams of CSE 4316 students are required to develop, review, and present problem definition, project planning, requirements formulation, and design specification. Prerequisites: C or better in all of the following: CSE 3310, CSE 3320, and for CpE Majors CSE 3442. In addition CSE 4314 as co-requisite.

CSE 4317. COMPUTER SYSTEM DESIGN PROJECT II. 3 Hours.

Implementation, integration, quality assurance through peer review and testing, and deployment of the project designed in CSE 4316; oral presentation, documentation and project demonstration. Prerequisite: C or better in CSE 4316 and continuation with the same team.

CSE 4319. MODELING AND SIMULATION. 3 Hours.

Techniques for system modeling and simulation of stochastic and knowledge-based systems. Modeling methods, model validation and verification procedures, and steady state solution techniques. Prerequisite: C or better in each of the following: CSE 3310 and IE 3301.

CSE 4321. SOFTWARE TESTING & MAINTENANCE. 3 Hours.

Study of software quality assurance, software testing, and software maintenance processes, methods and techniques including formal review techniques, software verification, validation, and testing, types of software maintenance, maintenance activities, and regression testing. Prerequisite: C or better in CSE 3310.

CSE 4322. SOFTWARE PROJECT MANAGEMENT. 3 Hours.

Introduction to software project management. Issues include effort estimation and costing, project planning and scheduling, option analysis, software quality assurance, and formal technical reviews. Prerequisite: C or better in CSE 3310.

CSE 4323. QUANTITATIVE COMPUTER ARCHITECTURE. 3 Hours.

Pipelined processors, parallel processors including shared and distributed memory, multicore, Very Long Instruction Word (VLIW) and graphics processors, memory and cache design, computer peripherals, and computer clusters. Prerequisite: C or better in CSE 3320.

CSE 4331. DATABASE IMPLEMENTATION AND THEORY. 3 Hours.

Review of the relational model and algebra; relational calculus; relational database design theory; advanced data modeling concepts; object-oriented and object-relational databases; database system implementation techniques, including concurrency control, recovery, atomic commitment, and query processing and optimization, database security; introduction to advanced concepts, such as active, deductive, spatial, temporal, multimedia and distributed databases. Prerequisite: C or better in CSE 3330.

CSE 4334. DATA MINING. 3 Hours.

Automatic discovery of patterns and knowledge from large data repositories, including databases, data warehouses, Web, document collections, and transactions. Basic topics of data mining including data preprocessing, data warehousing and online analytical processing (OLAP), data cube, frequent pattern and association rule mining, correlation analysis, classification and prediction and clustering, as well as advanced topics covering the techniques and applications of data mining on Web and text documents. Prerequisite: C or better in each of the following: CSE 3330 and IE 3301 (or MATH 3313).

CSE 4340. MOBILE SYSTEMS ENGINEERING. 3 Hours.

Mobile devices including hand-held computers, sensor nodes and smart phones, operating systems, middleware and communication in mobile environments. Applications of mobile systems in health, entertainment, security and other areas. Prerequisite: C or better in each of the following: CSE 3320, and CSE 4344 or concurrently.

CSE 4342. EMBEDDED SYSTEMS II. 3 Hours.

Advanced course in design of microcomputer-based systems. Emphasis is on the application of state-of-the-art microprocessors, microcomputers, and other LSI and VLSI components to real-time, interactive, and online problems. Prerequisite: C or better in each of the following: CSE 3442 and CSE 3313 (or con-currently).

CSE 4344. COMPUTER NETWORK ORGANIZATION. 3 Hours.

Design and analysis of computer networks. Emphasis on the OSI architecture but discusses other schemes (e.g., ARPAnet). Data link control, local networks, protocols/architectures, network access protocols, transport protocols, internetworking, and ISDN. Prerequisite: C or better in CSE 3320.

CSE 4345. COMPUTATIONAL METHODS. 3 Hours.

Introduction to numerical methods for solving problems in computer science and computer engineering. Topics include computer arithmetic, linear and nonlinear equations, eigenvalue problems, least squares, optimization, interpolation, and simulation. Prerequisite: C or better in each of the following: IE 3301, CSE 2320, and either CSE 3380 or MATH 3330.

CSE 4351. PARALLEL PROCESSING. 3 Hours.

Theory and practice of parallel processing, including characterization of parallel processors, models for memory, algorithms, and interprocess synchronization. Issues in parallelizing serial computations, efficiency and speedup analysis. Programming exercises using one or more concurrent programming languages, on one of more parallel computers. Prerequisite: C or better in CSE 3320.

CSE 4360. AUTONOMOUS ROBOT DESIGN AND PROGRAMMING. 3 Hours.

An introduction to robotics and the design and programming of autonomous robot systems. Topics include basic kinematics, dynamics, and control, as well as sensors, knowledge representation, and programming techniques. Course work includes individual and group projects involving the building and programming of simulated and real robots. Prerequisite: C or better in each of the following: CSE 2320, CSE 3320 and CSE 3380 (or MATH 3330).

CSE 4361. SOFTWARE DESIGN PATTERNS. 3 Hours.

In-depth study of software design patterns including description of patterns, design principles and techniques used by patterns as well as application of patterns to solving practical design problems. Team project. Prerequisites: C or better in CSE 3311.

CSE 4378. INTRODUCTION TO UNMANNED VEHICLE SYSTEMS. 3 Hours.

Introduction to UVS (Unmanned Vehicle Systems) such as UAS (Unmanned Aircraft Systems), UGS (Unmanned Ground System) and UMS (Unmanned Maritime System), their history, missions, capabilities, types, configurations, subsystems, and the disciplines needed for UVS development and operation. UVS missions could include student competitions sponsored by various technical organizations. This course is team-taught by engineering faculty. Prerequisite: Admission to a professional engineering or science program.

CSE 4379. UNMANNED VEHICLE SYSTEM DEVELOPMENT. 3 Hours.

Introduction to the technologies needed to create an UVS (Unmanned Vehicle System). Integration of these technologies (embodied as a set of sensors, actuators, computing and mobility platform sub-systems) into a functioning UVS through team work. UVS could be designed to compete in a student competition sponsored by various technical organizations or to support a specific mission or function defined by the instructors. This course is team-taught by engineering faculty. Prerequisite: B or better in CSE 4378 and admission to the UVS certificate program.

CSE 4380. INFORMATION SECURITY. 3 Hours.

Hands-on introduction to the basics of security. Includes system security, buffer overflows, a high-level overview of cryptography, firewalls and intrusion detection/prevention, malware, penetration testing, forensics, and system administration. Prerequisite: C or better in CSE 3320.

CSE 4391. INDIVIDUAL PROJECTS. 3 Hours.

Special problems in computer science and engineering on an individual basis. Topics may change from semester to semester. May be repeated for credit. Departmental approval must be obtained in advance for degree credit. Prerequisite: consent of instructor and department chairperson.

CSE 4392. SPECIAL TOPICS. 3 Hours.

New developments in the field of computer science and engineering. Topic may vary from semester to semester. May be repeated for credit when topic changes. Departmental approval required in advance to use for degree credit. Prerequisite: consent of instructor.

CSE 5191. INDIVIDUAL STUDY IN COMPUTER SCIENCE. 1 Hour.

Topics dealing with special problems in Computer Science on an individual instruction basis. May be repeated for credit.

CSE 5194. ORIENTATION SEMINAR. 1 Hour.

Presentation of computer science research by CSE faculty, students, and invited speakers. Preparation of program of work.

CSE 5301. DATA ANALYSIS & MODELING TECHNIQUES. 3 Hours.

Concepts and techniques for performing experiments and analyzing their results. Topics cover fundamental statistics, probability and data-representation concepts, interference through hypothesis testing, information theory, queuing models, and selected topics such as capacity planning and bottleneck analysis, clustering and classification, and hidden Markov models with computer science applications as examples.

CSE 5306. DISTRIBUTED SYSTEMS. 3 Hours.

Issues and challenges in distributed systems, including: communication, distributed processes, naming and name services, synchronization, consistency and replication, transactions, fault tolerance and recovery, security, distributed objects, and distributed file systems.

CSE 5307. PROGRAMMING LANGUAGE CONCEPTS. 3 Hours.

Study and evaluation of concepts in programming language for modern computer systems. Programming projects are selected from string-based, symbolic, algorithmic, and object-oriented languages.

CSE 5311. DESIGN AND ANALYSIS OF ALGORITHMS. 3 Hours.

Techniques for analyzing upper bounds for algorithms and lower bounds for problems. Problem areas include: sorting, data structures, graphs, dynamic programming, combinatorial algorithms, introduction to parallel models.

CSE 5314. COMPUTATIONAL COMPLEXITY. 3 Hours.

Sequential and parallel complexity classes (e.g., NP-complete and P-complete) and representative problems in languages, logic and graphs. Reduction techniques. Approximate solutions. Complexity hierarchies.

CSE 5315. NUMERICAL METHODS. 3 Hours.

Selected topics from the theory and practice of using automatic digital computers for approximating arithmetic operations, approximating functions, solving systems of linear and non-linear equations, and solving ordinary and partial differential equations.

CSE 5316. MODELING, ANALYSIS, AND SIMULATION OF COMPUTER SYSTEMS. 3 Hours.

Mathematical formalism and techniques used for computer system modeling and analysis. Reviews probability, transform theory, coding theory, and Petri nets. Topics may include knowledge based modeling, validation procedures, various simulation techniques for stochastic process and real-time distributed systems.

CSE 5317. DESIGN AND CONSTRUCTION OF COMPILERS. 3 Hours.

Review of programming language structures, translation, and storage allocation. Introduction to context-free grammars and their description. Design and construction of compilers including lexical analysis, parsing and code generation techniques. Error analysis and simple code optimizations will be introduced.

CSE 5318. APPLIED GRAPH THEORY AND COMBINATORICS. 3 Hours.

Connected and disconnected graphs; trees; graph planarity; Hamiltonian circuits and Euler tours; coloring; flow and graph optimization algorithms, fundamentals of combinatorics; generating functions and recurrence relations; inclusion-exclusion principle; applications in telecommunications; mobile computing, parallel processing and multiprocessor architectures.

CSE 5319. SPECIAL TOPICS IN THEORY & ALGORITHMS. 3 Hours.

May be repeated for credit when topics vary.

CSE 5320. SPECIAL TOPICS IN SOFTWARE ENGINEERING. 3 Hours.

May be repeated for credit when topics vary.

CSE 5321. SOFTWARE TESTING. 3 Hours.

Study of software quality assurance, software testing process, methods, techniques and tools. Topics include formal review techniques, black box testing, white box testing, integration testing, acceptance testing, regression testing, performance testing, stress testing, and testing of object-oriented software. Prerequisite: CSE 5324 or concurrent enrollment.

CSE 5322. SOFTWARE DESIGN PATTERNS. 3 Hours.

Study and application of object-oriented software design patterns to software development and maintenance in the object-oriented paradigm. Prerequisite: CSE 5324 or concurrent enrollment.

CSE 5323. SOFTWARE ENGINEERING PROCESSES. 3 Hours.

Introduces software lifecycle models, process disciplines, project management concepts, and applies them by mastering the Personal Software Process (PSP).

CSE 5324. SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING. 3 Hours.

Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project.

CSE 5325. SOFTWARE ENGINEERING: MANAGEMENT, MAINTENANCE, AND QUALITY ASSURANCE. 3 Hours.

Issues and principles for software management; managerial and support aspects of software projects, including: processes, estimation techniques, planning and scheduling, risk analysis, metrics, and quality assurance. Other topics include: configuration management, verification and validation, and maintenance; team project. Prerequisite: CSE 5324 or concurrent enrollment.

CSE 5326. REAL-TIME SOFTWARE DESIGN. 3 Hours.

Specification, design, and analysis of real-time systems including real-time logics and decidability of real-time conditions; real-time scheduling approaches, system requirement specification; procedural and object-oriented methods; specialized analysis techniques for distributed and for control applications; team project. Prerequisite: CSE 5324 or concurrent enrollment.

CSE 5327. TELECOMMUNICATIONS SOFTWARE DEVELOPMENT. 3 Hours.

General understanding and classification of telecommunications systems and applications. Issues relating to the analysis, design, implementation, and testing of telecommunications software. Prerequisite: CSE 5324 and CSE 5344.

CSE 5328. SOFTWARE ENGINEERING TEAM PROJECT I. 3 Hours.

Apply the knowledge and skills gained in other software engineering courses to synthesize a solution to a significant and realistic software development team project. Participate in activities including: proposal writing, problem analysis, software requirements specification, project planning, software design, implementation, software quality assurance, software testing, integration, and demonstration. Required for and open only to Master of Software Engineering degree candidates. Prerequisite: one of CSE 5321, CSE 5322, CSE 5325.

CSE 5329. SOFTWARE ENGINEERING TEAM PROJECT II. 3 Hours.

Apply the knowledge and skills gained in other software engineering courses to synthesize a solution to a significant and realistic software development team project. Participate in activities including: proposal writing, problem analysis, software requirements specification, project planning, software design, implementation, software quality assurance, software testing, integration, and demonstration. Required for and open only to Master of Software Engineering degree candidates. Prerequisite: one of CSE 5321, CSE 5322, CSE 5325.

CSE 5330. DATABASE SYSTEMS. 3 Hours.

Database system architecture; management and analysis of files, indexing, hashing, and B+-trees; the relational model and algebra; the SQL database language; database programming techniques, database design using Entry-Relationship, extended E-R, and UML modeling; basics of normalization. Introduction to database security, query processing and transaction management. Prerequisite: CSE 2320.

CSE 5331. DBMS MODELS AND IMPLEMENTATION TECHNIQUES. 3 Hours.

DBMS system implementation techniques, including query optimization, transaction processing, concurrency control, buffer management and recovery. Object-oriented, object-relational and XML databases. Introduction to advanced database models, such as active, distributed, temporal, spatial and data warehousing. Prerequisite: CSE 3330/CSE 5330, or consent of instructor.

CSE 5333. Cloud Computing. 3 Hours.

A survey of state of the art cloud computing paradigms: design, implementation, and programming distributed, scalable storage and computational systems. IaaS, PaaS, and SaaS (Infrastructure, Platform and Software as a Service), Hadoop, EC2, S3, and Azure are discussed.

CSE 5334. DATA MINING. 3 Hours.

Preparing data for mining, using preprocessing, data warehouses and OLAP; data mining primitives, languages and system architecture; data mining techniques including association rule mining, classification/prediction and cluster analysis.

CSE 5335. WEB DATA MANAGEMENT. 3 Hours.

This course provides an in depth study of models, languages and techniques for large-scale Web data management in distributed and heterogeneous environments. Topics include: Web programming with an emphasis on Web data management, Web Services, semi-structured data, XML standards, modern Web search engines, web information systems, Web query languages, distributed computing, metadata management with RDF, and Semantic Web. Prerequisite: CSE 3330/CSE 5330, or consent of instructor.

CSE 5336. STREAM DATA MANAGEMENT. 3 Hours.

This course provides a study of special-purpose data management systems for processing stream data generated by sensors, RFIDs (Radio Frequency Identifications), and other ubiquitous devices. Topics include: Analysis of the differences between processing and managing stored data and stream data (including events). Using sliding windows to unblock blocking operations for continuous queries. Approximation techniques for continuous aggregation queries. Quality of Service (QoS) requirements of stream and complex event processing applications and their impact on various aspects of processing. Modeling continuous queries, scheduling strategies for (multiple) continuous queries, adaptive query plans, and load shedding to trade-off QoS requirements. Design and implementation of stream processing systems. Prerequisite: CSE 3330 or CSE 5330, or consent of instructor.

CSE 5339. SPECIAL TOPICS IN DATABASE SYSTEMS. 3 Hours.

May be repeated for credit when topics vary.

CSE 5343. REAL-TIME DATA ACQUISITION AND CONTROL SYSTEMS. 3 Hours.

Advanced course in design of microcomputer-based systems. Emphasis is on the application of state-of-the-art microprocessors, microcomputers, and other LSI and VLSI components to real-time, interactive, and/or embedded systems. Prerequisite: CSE 5442 or consent of instructor.

CSE 5344. COMPUTER NETWORKS. 3 Hours.

Study of computer network architectures, protocols, and interfaces. The OSI reference model and the Internet architecture will be discussed. Networking techniques such as multiple access, packet/cell switching, and internetworking will be studied. Discussion will also include end-to-end protocols, congestion control, high-speed networking, and network management. Emphasis will be on Internet and ATM. Prerequisite: CSE 3320 or consent of instructor.

CSE 5345. FUNDAMENTALS OF WIRELESS NETWORKS. 3 Hours.

Fundamentals of wireless networks, including wireless channels, coding and modulation, cellular architectures and protocols, multiple division techniques, multiple access control, wireless LAN/PAN, mobile IP and wireless internet, TCP over wireless, ad-hoc networks, sensor networks. Prerequisite: CSE 4344/CSE 5344 or equivalent course.

CSE 5346. NETWORKS II. 3 Hours.

This course provides an in depth study and comparison of the two primary networking paradigms, Internet/broadcast and switched, using two technologies, IPv6 and ATM, as representative examples. The course is implementation-oriented, focusing on issues such as routing, broadcast, multicast, mobility, network configuration, and quality of service. Prerequisite: CSE 5344.

CSE 5347. TELECOMMUNICATION NETWORKS DESIGN. 3 Hours.

A study of advanced telecommunication systems and networks, internet working functions, networking architectures and their convergence towards an IP/Ethernet centric architecture. Prerequisite: CSE 4344, CSE 5344, or CSE 5346.

CSE 5348. MULTIMEDIA SYSTEMS. 3 Hours.

Representations and techniques for processing, communicating, and compression of text, audio, graphics, and video in real time. Project integrating these topics.Prerequisite: CSE 3320.

CSE 5349. SPECIAL TOPICS IN NETWORKING. 3 Hours.

May be repeated for credit when topics vary.

CSE 5350. COMPUTER ARCHITECTURE II. 3 Hours.

A study of advanced uniprocessor and basic multiprocessor systems. Topics may include memory management systems, pipelined processors, array and vector processors, and introduction to architecture of multiprocessor systems. Prerequisite: CSE 3322 or consent of instructor.

CSE 5351. PARALLEL PROCESSING. 3 Hours.

Covers the theory and practice of parallel processing. Theoretical topics include: abstract models and algorithms for shared memory computation (PRAM); algorithms for various topologies such as meshes and hypercubes; efficiency and speedup analysis. Problem areas include data structures, numerical methods, graphs, combinatorics. Practical topics include synchronization, routing, scheduling, parallelizing serial computations, programming languages. Includes programming exercises using one or more concurrent programming languages, on one or more parallel computers. Prerequisite: CSE 3320 or consent of instructor.

CSE 5353. DISTRIBUTED COMPUTING. 3 Hours.

Programming languages, support components, coordination models, and fundamental algorithms for distributed and clustered systems. Prerequisite: CSE 5306.

CSE 5355. COMPUTER SYSTEM PERFORMANCE EVALUATION. 3 Hours.

Queueing network models and simulation for studying the performance of overall computer systems. Theory and applications of Markov process, Random Walk, Renewal Process, and Birth and Death Process. Topics also include bottleneck identification, capacity planning, hardware selection and upgrade, and performance tuning. Data collection, presentation and interpretation, benchmarking and the proper choice of performance metrics will be emphasized. Prerequisite: CSE 3320.

CSE 5359. SPECIAL TOPICS IN SYSTEMS & ARCHITECTURE. 3 Hours.

May be repeated for credit when topics vary.

CSE 5360. ARTIFICIAL INTELLIGENCE I. 3 Hours.

Introduction to the methods, concepts and applications of artificial intelligence, including knowledge representation, search, theorem proving, planning, natural language processing, and study of AI programming languages. Prerequisite: CSE 2320 and CSE 3315, or consent of instructor.

CSE 5361. ARTIFICIAL INTELLIGENCE II. 3 Hours.

Continuation of artificial intelligence methods and techniques, including uncertainty reasoning, machine learning, perception, and advanced topics in knowledge representation, search and planning. Emphasis on design and implementation of AI solutions. Prerequisite: CSE 5360 or consent of instructor.

CSE 5362. SOCIAL NETWORKS AND SEARCH ENGINES. 3 Hours.

Social networks, Search Engines, Recommendation systems, Question & Answering systems are web-enabled Information Technology main stream. This course covers the foundations of these technology including text/query processing, web content analysis, basic graph theory, random walk, PageRank, power law distribution, random graphs, small world, growth models, and network diffusion. Prerequisite: CSE 5311.

CSE 5364. ROBOTICS. 3 Hours.

An introduction to robotics and the design and programming of autonomous robot systems. Topics include basic kinematics, dynamics, and control, as well as sensors, knowledge representation, and programming techniques. Coursework includes individual and group projects involving the building and programming of simulated and real robots. Prerequisite: CSE 2320 and CSE 3442.

CSE 5365. COMPUTER GRAPHICS. 3 Hours.

Input/output devices and programming techniques suitable for the visual representation of data and images. Prerequisite: CSE 1320, analytic geometry and linear algebra, or consent of instructor.

CSE 5366. DIGITAL SIGNAL PROCESSING. 3 Hours.

Introduction to principles and applications of digital signal processing. Topics include: analysis of signals and systems, Fourier and Z transforms, digital filter design techniques (FIR and IIR), autoregressive (AR) and autoregressive moving average (ARMA) modeling. Applications to science and engineering include: financial predictions and processing of digital music. Laboratory work includes some programming and use of high quality library routines and packages such as Mathematica, Matlab. Prerequisite: CSE 1320 and consent of Graduate Advisor.

CSE 5367. PATTERN RECOGNITION. 3 Hours.

Principles and various approaches of pattern recognition processes, including Bayesian classification, parametric/non-parametric classifier design, feature extraction for signal representation, and techniques for classification and clustering. Current issues in pattern recognition research will also be examine. Prerequisite: CSE 2320 , MATH 3313.

CSE 5368. NEURAL NETWORKS. 3 Hours.

Theoretical principles of neurocomputing. Learning algorithms, information capacity, and mapping properties of feedforward and recurrent networks. Different neural network models will be implemented and their practical applications discussed. Prerequisite: CSE 1320 and calculus II, or consent of instructor.

CSE 5369. SPECIAL TOPICS IN INTELLIGENT SYSTEMS. 3 Hours.

May be repeated for credit when topics vary.

CSE 5370. BIOINFORMATICS. 3 Hours.

Basic biology of genome and common laboratory techniques Overview of discrete probability theory, random variables and processes. Issues in genome mapping, sequencing and analysis: sequence alignments and alignment algorithms; genomic databases and information access; structure and features of DNA sequences. Techniques in contemporary biotechnology, including proteomics and gene expression analysis using microarray chips. Prerequisite: CSE 5311 or consent of instructor.

CSE 5379. SPECIAL TOPICS IN BIOINFORMATICS. 3 Hours.

May be repeated for credit when topics vary.

CSE 5380. INFORMATION SECURITY 1. 3 Hours.

Hands-on introduction to the basics of security. Includes system security, buffer overflows, a high-level overview of cryptography, firewalls and IDS/IPS, malware, penetration testing, forensics, and system administration. Prerequisite: CSE 3320 or consent of instructor.

CSE 5381. INFORMATION SECURITY 2. 3 Hours.

Deeper study of the fundamentals of security, including symmetric key cryptography, public key cryptography, cryptographic protocols, malware design, network attacks and defenses, data security, privacy, and wireless security. Prerequisite: CSE 5380 and CSE 4344 or consent of instructor.

CSE 5382. SECURE PROGRAMMING. 3 Hours.

This course is an introduction to methods of secure software design and development for upper-level undergraduate students and graduate students. Students will learn about the major security problems found in software today. Using this knowledge, they will work in teams to find these bugs in software, fix the bugs, and design software so that it has fewer security problems. Static analysis tools will be a core part of the class, but students will also be exposed to black box testing tools. Topics will include input validation, buffer overflow prevention, error handling, web application issues, and XML.

CSE 5383. INTRODUCTION TO UNMANNED VEHICLE SYSTEMS. 3 Hours.

Introduction to UVS (Unmanned Vehicle Systems) such as UAS (Unmanned Aircraft Systems), UGS (Unmanned Ground System) and UMS (Unmanned Maritime System), their history, missions, capabilities, types, configurations, subsystems, and the disciplines needed for UVS development and operation. UVS missions could include student competitions sponsored by various technical organizations. This course is team-taught by engineering faculty.

CSE 5384. UNMANNED VEHICLE SYSTEM DEVELOPMENT. 3 Hours.

Introduction to the technologies needed to create an UVS (Unmanned Vehicle System). Integration of these technologies (embodied as a set of sensors, actuators, computing and mobility platform sub-systems) into a functioning UVS through team work. UVS could be designed to compete in a student competition sponsored by various technical organizations or to support a specific mission or function defined by the instructors. This course is team-taught by engineering faculty.

CSE 5388. SPECIAL TOPICS IN INFORMATION SECURITY. 3 Hours.

May be repeated for credit when topics vary.

CSE 5389. SPECIAL TOPICS IN MULTIMEDIA, GRAPHICS, & IMAGE PROCESSING. 3 Hours.

May be repeated for credit when topics vary.

CSE 5391. INDIVIDUAL STUDY IN COMPUTER SCIENCE. 3 Hours.

Topics dealing with special problems in Computer Science on an individual instruction basis. May be repeated for credit.

CSE 5392. TOPICS IN COMPUTER SCIENCE. 3 Hours.

May be repeated for credit when the topics vary.

CSE 5393. DIRECTED STUDY IN COMPUTER SCIENCE. 3 Hours.

CSE 5394. MASTER'S PROJECT I. 3 Hours.

CSE 5395. MASTER'S PROJECT II. 3 Hours.

CSE 5398. MASTER'S THESIS I. 3 Hours.

Preliminary research effort for the master's thesis, including problem definition and literature search, along with identification of resources, milestones, examining committee members, and external publication venue. Graded F, R.

CSE 5442. EMBEDDED COMPUTER SYSTEMS. 4 Hours.

Design of micro computer-based systems; microcomputer programming, component and system architectures, memory interfacing, parallel and serial I/O interfacing, A/D and D/A conversion, and typical applications. Prerequisite: CSE 2312 or consent of instructor.

CSE 5698. MASTER'S THESIS II. 6 Hours.

Completion of tasks in support of the thesis defined in Master's Thesis I, including oral defense of the written documents. Prerequisite: CSE 5398. Graded F, R, P.

CSE 6197. RESEARCH IN COMPUTER SCIENCE. 1 Hour.

Individually supervised research projects.

CSE 6297. RESEARCH IN COMPUTER SCIENCE. 2 Hours.

Individually supervised research projects.

CSE 6306. ADVANCED TOPICS IN OPERATING SYSTEMS. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 5306 or consent of instructor.

CSE 6311. ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS. 3 Hours.

This course aims at exploring advanced computation models, theory and advanced algorithm design and analysis techniques that have broad applicability in solving real-life problems in cross-disciplinary areas such as the Internet computing, Web search engines, data mining, bioinformatics, wireless mobile and sensor networks, dynamic resource management, distributed computing, and social networking. Topics include: Theory of NP-completeness; Equivalence of Machine Models; Lower Complexity Bounds; Randomized and Probabilistic Algorithms; Game-theoretic and Information-theoretic Models; Approximation and Optimization Techniques. Prerequisite: CSE 5311 or consent of instructor.

CSE 6314. ADVANCED TOPICS IN THEORETICAL COMPUTER SCIENCE. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 5314 or consent of instructor.

CSE 6319. SPECIAL TOPICS IN ADVANCED THEORY AND ALGORITHMS. 3 Hours.

May be repeated when topics vary.

CSE 6323. AUTOMATED SOFTWARE ENGINEERING. 3 Hours.

Study of foundations, techniques and tools for automating software processes and methodologies including analysis, design, implementation, testing, and maintenance of large software systems. Prerequisite: CSE 5324 or consent of instructor.

CSE 6324. ADVANCED TOPICS IN SOFTWARE ENGINEERING. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 5324 or consent of instructor.

CSE 6329. SPECIAL TOPICS IN ADVANCED SOFTWARE ENGINEERING. 3 Hours.

May be repeated for credit when topics vary. CSE 5324 or consent of instructor.

CSE 6331. ADVANCED TOPICS IN DATABASE SYSTEMS. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 3330/CSE 5330, or consent of instructor.

CSE 6332. TECHNIQUES FOR MULTIMEDIA DATABASES. 3 Hours.

Overview of data types, formats and compression techniques for audio, video and image data; operating systems techniques for multimedia; video delivery techniques; indexing and retrieval techniques; content-based video modeling; multimedia data on the Web. Prerequisite: CSE 5331 or consent of instrucor.

CSE 6339. SPECIAL TOPICS IN ADVANCED DATABASE SYSTEMS. 3 Hours.

May be repeated for credit when topics vary.

CSE 6344. ADVANCED TOPICS IN COMMUNICATION NETWORKS. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 5346 or consent of instructor.

CSE 6345. PERVASIVE COMPUTING & COMMUNICATIONS. 3 Hours.

Issues and challenges in pervasive computing environments: interoperability and heterogeneity; location-awareness and mobility; transparency and proactivity; trust, authentication and security, information acquisition and dissemination in mobile and pervasive systems. Contest-aware computing. Ad-hoc, sensor and mobile P2P systems in pervasive computing. Case studies. Prerequisite: Introductory courses in Networks, Algorithms and Operating Systems: e.g., CSE 5344, CSE 5311, and CSE 5306, or consent of instructor.

CSE 6347. ADVANCED WIRELESS NETWORKS & MOBILE COMPUTING. 3 Hours.

Wireless architectures and protocols (e.g., GSM, CDMA); channel assignment and resource allocation; mobility and location management; mobile data management; wireless data networking and multimedia; call admission control and QoS provisioning; cross layer optimization, performance modeling. Prerequisite: CSE 5345 and CSE 5330.

CSE 6348. ADVANCES IN SENSOR NETWORKS. 3 Hours.

Covers application and architecture of wireless sensor networks. Topics include platforms, routing, coverage, MAC, transport layer, data storage, query, and in-network processing. Prerequisite: CSE 5345 or equivalent course.

CSE 6349. SPECIAL TOPICS IN ADVANCED NETWORKING. 3 Hours.

May be repeated for credit when topics vary.

CSE 6350. ADVANCED TOPICS IN COMPUTER ARCHITECTURE. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 5350 and consent of instructor.

CSE 6351. TOPICS IN PARALLEL AND DISTRIBUTED COMPUTING. 3 Hours.

May be repeated for credit when topics change. Prerequisite: CSE 5350, CSE 5351, or consent of instructor.

CSE 6352. FAULT-TOLERANT COMPUTING. 3 Hours.

Topics in reliable and fault-tolerant computing. May be repeated for credit when topics change. Prerequisite: CSE 5350 and consent of instructor.

CSE 6359. SPECIAL TOPICS IN ADVANCED SYSTEMS & ARCHITECTURE. 3 Hours.

May be repeated for credit when topics vary.

CSE 6362. ADVANCED TOPICS IN ARTIFICIAL INTELLIGENCE. 3 Hours.

May be repeated for credit when the topic changes. Prerequisite: CSE 5361 and consent of instructor.

CSE 6363. MACHINE LEARNING. 3 Hours.

A detailed investigation of current machine learning methods, including statistical, connectionist, and symbolic learning. Presents theoretical results for comparing methods and determining what is learnable. Current issues in machine learning research will also be examined.

CSE 6366. DIGITAL IMAGE PROCESSING. 3 Hours.

Digitization and coding of images, characterization and representation of digital images in spatial and frequency domains, picture restoration and enhancement, filtering of two-dimensional signals, image reconstruction. Prerequisite: CSE 5366 or consent of instructor.

CSE 6367. COMPUTER VISION. 3 Hours.

Advanced techniques for interpretation, analysis, and classification of digital images. Topics include methods for segmentation, feature extraction, recognition, stereo vision, 3-D modeling, and analysis of time-varying imagery. Also taught as EE 6358. Prerequisite: CSE 5301 or CSE 5360 or EE 5356 or EE 5357, and consent of instructor.

CSE 6369. SPECIAL TOPICS ADVANCED INTELLIGENT SYSTEMS. 3 Hours.

May be repeated for credit when topics vary.

CSE 6379. SPECIAL TOPICS IN ADVANCED BIOINFORMATICS. 3 Hours.

May be repeated for credit when topics vary.

CSE 6388. SPECIAL TOPICS IN ADVANCED INFORMATION SECURITY. 3 Hours.

May be repeated for credit when topics vary.

CSE 6389. SPECIAL TOPICS IN ADVANCED MULTIMEDIA, GRAPHICS, & IMAGE PROCESSING. 3 Hours.

May be repeated for credit when topics vary.

CSE 6392. SPECIAL TOPICS IN ADVANCED COMPUTER SCIENCE. 3 Hours.

May be repeated for credit when the topics vary.

CSE 6397. RESEARCH IN COMPUTER SCIENCE. 3 Hours.

Individually supervised research projects.

CSE 6399. DISSERTATION. 3 Hours.

Preparation of dissertation in computer science or computer science and engineering. Graded F, R.

CSE 6697. RESEARCH IN COMPUTER SCIENCE. 6 Hours.

Individually supervised research projects.

CSE 6699. DISSERTATION. 6 Hours.

Preparation of dissertation in computer science or computer science and engineering. Graded F, R,P,W.

CSE 6997. RESEARCH IN COMPUTER SCIENCE. 9 Hours.

Individually supervised research projects.

CSE 6999. DISSERTATION. 9 Hours.

Preparation of dissertation in computer science or computer science and engineering. Graded P, F, R.

CSE 7399. DOCTORAL DEGREE COMPLETION. 3 Hours.

This course may be taken during the semester in which a student expects to complete all requirements for the doctoral degree and graduate. Enrolling in this course meets minimum enrollment requirements for graduation, for holding fellowships awarded by The Office of Graduate Studies and for full-time GTA or GRA positions. Students should verify that enrollment in this course meets other applicable enrollment requirements. To remain eligible in their final semester of study for grants, loans or other forms of financial aid administered by the Financial Aid Office must enroll in a minimum of 5 hours as required by the Office of Financial Aid. Other funding sources may also require more than 3-hours of enrollment. Additional hours may also be required to meet to requirements set by immigration law or by the policies of the student's degree program. Students should contact the Financial Aid Office, other sources of funding, Office of International Education and/or their graduate advisor to verify enrollment requirements before registering for this course. This course may only be taken once and may not be repeated. Students who do not complete all graduation requirements while enrolled in this course must enroll in a minimum of 6 dissertation hours (6699 or 6999) in their graduation term. Graded P/F/R.