Computer Science and Engineering (CSE)

CSE 100 Principles of Programming. (3) F, S, SS
Concepts of problem solving, algorithm design, structured programming, fundamental algorithms and techniques, and computer systems concepts. Social and ethical responsibility. Prerequisite: MAT 170. General Studies: N3.

CSE 120 Digital Design Fundamentals. (3) F, S, SS
Number systems, conversion methods, binary and complement arithmetic, Boolean algebra, circuit minimization, ROMs, PLAs, flipflops, synchronous sequential circuits. Lecture, lab. Cross-listed as EEE 120. Credit is allowed for only CSE 120 or EEE 120. Prerequisite: computer literacy.

CSE 180 Computer Literacy. (3) F, S, SS
Introduction to personal computer operations and their place in society. Problem-solving approaches using databases, spreadsheets, and word processing. May be taken for credit on either Windows or Macintosh, but not both. Lecture, demonstration. Prerequisite: nonmajor. General Studies: N3.

CSE 181 Applied Problem Solving with Visual BASIC. (3) F, S, SS
Introduction of systematic definition of problems, solution formulation, and method validation. Computer solution using Visual BASIC required for projects. Lecture, lab. Prerequisites: MAT 117; nonmajor. General Studies: N3.

CSE 183 Applied Problem Solving with FORTRAN. (3) F
A human-oriented, systems approach to problem definition, formulation, and solution using FORTRAN. Computer solution required for projects. Prerequisites: MAT 170; nonmajor. General Studies: N3.

CSE 185 Internet and the World Wide Web. (3) F, S
Fundamental Internet concepts, World Wide Web browsing, publishing, searching, advanced Internet productivity tools.

CSE 200 Concepts of Computer Science. (3) F, S, SS
Overview of algorithms, architecture, languages, operating systems, theory. Problem solving with a high level language (C++). Lecture, lab. Prerequisite: one year of high school programming with a structured language (C++ preferred) or CSE 100. General Studies: N3.

CSE 210 Data Structures and Algorithms I. (3) F, S, SS
Object-oriented design, static and dynamic data structures (strings, stacks, queues, binary trees), recursion, and searching and sorting. Professional responsibility. Prerequisite: CSE 200. General Studies: N3.

CSE 225 Assembly Language Programming and Microprocessors (Motorola). (4) F, S, SS
Assembly language programming, including input/output programming and exception/interrupt handling. Register-level computer organization, I/O interfaces, assemblers, and linkers. Motorola-based assignments. Lecture, lab. Cross-listed as EEE 225. Credit is allowed for only CSE 225 or EEE 225. Prerequisites: CSE 100 (or 200); CSE/EEE 120.

CSE 226 Assembly Language Programming and Microprocessors (Intel). (4) F, S
CPU/Memory/peripheral device interfaces and programming. System buses, interrupts, serial and parallel I/O, DMA, coprocessors. Intel-based assignments. Lecture, lab. Cross-listed as EEE 226. Credit is allowed for only CSE 226 or EEE 226. Prerequisites: CSE 100 (or 200); CSE/EEE 120.

CSE 240 Introduction to Programming Languages. (3) F, S, SS
Introduction to the procedural (Ada), applicative (LISP), and declarative (Prolog) languages. Lecture, lab. Prerequisite: CSE 210.

CSE 310 Data Structures and Algorithms II. (3) F, S, SS
Advanced data structures and algorithms, including stacks, queues, trees (B, B+, AVL), and graphs. Searching for graphs, hashing, external sorting. Lecture, lab. Prerequisites: CSE 210; MAT 243.

CSE 330 Computer Organization and Architecture. (3) F, S, SS
Instruction set architecture, processor performance and design; datapath, control (hardwired, microprogrammed), pipelining, input/output. Memory organization with cache, virtual memory. Prerequisite: CSE/EEE 225 or 226.

CSE 340 Principles of Programming Languages. (3) F, S, SS
Introduction to language design and implementation. Parallel, machine-dependent and declarative features; type theory; specification, recognition, translation, run-time management. Prerequisites: CSE 240, 310; CSE/EEE 225 (or 226).

CSE 355 Introduction to Theoretical Computer Science. (3) F, S
Introduction to formal language theory and automata, Turing machines, decidability/undecidability, recursive function theory, and introduction to complexity theory. Prerequisite: CSE 310.

CSE 360 Introduction to Software Engineering. (3) F, S, SS
Software life cycle models; project management, team development environments and methodologies; software architectures; quality assurance and standards; legal, ethical issues. Prerequisites: CSE 210, 240.

CSE 408 Multimedia Information Systems. (3) F
Design, use, and applications of multimedia systems. An introduction to acquisition, compression, storage, retrieval, and presentation of data from different media such as images, text, voice, and alphanumeric. Prerequisite: CSE 310.

CSE 412 Database Management. (3) F, S
Introduction to DBMS concepts. Data models and languages. Relational database theory. Database security/integrity and concurrency. Prerequisite: CSE 310.

CSE 420 Computer Architecture I. (3) S
Computer architecture. Performance versus cost trade-offs. Instruction set design. Basic processor implementation and pipelining. Prerequisite: CSE 330.

CSE 421 Microprocessor System Design I. (4) F, S
Assembly-language programming and logical hardware design of systems using 8-bit microprocessors and microcontrollers. Fundamental concepts of digital system design. Reliability and social, legal implications. Lecture, lab. Prerequisite: CSE/EEE 225.

CSE 422 Microprocessor System Design II. (4) F, S
Design of microcomputer systems using contemporary logic and microcomputer system components. Requires assembly language programming. Prerequisite: CSE 421.

CSE 423 Microcomputer System Hardware. (3) S
Information and techniques presented in CSE 422 are used to develop the hardware design of a multiprocessor, multiprogramming, microprocessor-based system. Prerequisite: CSE 422. General Studies: L2.

CSE 428 Computer-Aided Processes. (3) A
Hardware and software considerations for computerized manufacturing systems. Specific concentration on automatic inspection, numerical control, robotics, and integrated manufacturing systems. Prerequisite: CSE 330.

CSE 430 Operating Systems. (3) F, S
Operating system structure and services, processor scheduling, concurrent processes, synchronization techniques, memory management, virtual memory, input/output, storage management, and file systems. Prerequisites: CSE 330, 340.

CSE 434 Computer Networks. (3) F, S
Cryptography fundamentals; data compression; error handling; flow control; multihop routing; network protocol algorithms; network reliability, timing, security; physical layer basics. Prerequisite: CSE 330.

CSE 438 Systems Programming. (3) A
Design and implementation of systems programs, including text editors, file utilities, monitors, assemblers, relocating linking loaders, I/O handlers, and schedulers. Prerequisite: CSE 421 or instructor approval. General Studies: L2.

CSE 440 Compiler Construction I. (3) F
Introduction to programming language implementation. Implementation strategies such as compilation, interpretation, and translation. Major compilation phases such as lexical analysis, semantic analysis, optimization, and code generation. Prerequisites: CSE 340, 355.

CSE 445 Distributed Computing with Java and CORBA. (3) F, S
Technologies for developing software components. Client-server computing with sockets and distributed objects. Dynamic interface discovery and invocation. Lecture, projects. Prerequisite: CSE 310 or instructor approval.

CSE 446 Client-Server User Interfaces. (3) S
Client-server model and its use in creating and managing window interfaces. Toolkits and libraries including X11, Microsoft Foundation Classes, and Java Abstract Window Toolkit. Lecture, projects. Prerequisite: CSE 310 or instructor approval.

CSE 450 Design and Analysis of Algorithms. (3) F
Design and analysis of computer algorithms using analytical and empirical methods; complexity measures, design methodologies, and survey of important algorithms. Prerequisite: CSE 310.

CSE 457 Theory of Formal Languages. (3) A
Theory of grammar, methods of syntactic analysis and specification, types of artificial languages, relationship between formal languages, and automata. Prerequisite: CSE 355.

CSE 459 Logic for Computing Scientists I. (3) F
Propositional logic, syntax and semantics, proof theory versus model theory, soundness, consistency and completeness, first order logic, logical theories, automated theorem proving, ground resolution, pattern matching unification and resolution, Dijkstras logic, proof obligations, and program proving. Prerequisite: CSE 355.

CSE 461 Software Engineering Project I. (3) F
First of two-course software design sequence. Development planning, management; process modeling; incremental and team development using CASE tools. Lecture, lab. Prerequisite: CSE 360.

CSE 462 Software Engineering Project II. (3) S
Second of two-course software design sequence. Process, product assessment and improvement; incremental and team development using CASE tools. Lecture, lab. Prerequisite: CSE 461.

CSE 470 Computer Graphics. (3) F, S
Display devices, data structures, transformations, interactive graphics, 3-dimensional graphics, and hidden line problem. Prerequisites: CSE 310; MAT 342.

CSE 471 Introduction to Artificial Intelligence. (3) F, S
State space search, heuristic search, games, knowledge representation techniques, expert systems, and automated reasoning. Prerequisites: CSE 240, 310.

CSE 473 Nonprocedural Programming Languages. (3) S
Functional and logic programming using languages like Lucid and Prolog. Typical applications would be a Screen Editor and an Expert System. Prerequisite: CSE 355.

CSE 476 Introduction to Natural Language Processing. (3) F
Principles of computational linguistics, formal syntax, and semantics, as applied to the design of software with natural (human) language I/O. Prerequisite: CSE 310 or instructor approval.

CSE 477 Introduction to Computer-Aided Geometric Design. (3) F, S
Introduction to parametric curves and surfaces, Bezier and B-spline interpolation, and approximation techniques. Prerequisites: CSE 210, 470; MAT 342.

CSE 507 Virtual Reality Systems. (3) S
Computer generated 3D environments, simulation of reality, spatial presence of virtual objects, technologies of immersion, tracking systems. Lecture, lab. Prerequisite: CSE 408 or 470 or 508 or instructor approval.

CSE 508 Digital Image Processing. (3) S
Digital Image fundamentals, image transforms, image enhancement and restoration techniques, image encoding, and segmentation methods. Prerequisite: EEE 303 or instructor approval.

CSE 510 Advanced Database Management. (3) F, S
Advanced data modeling, deductive databases, object-oriented databases, distributed and multidatabase systems; emerging database technologies. Prerequisite: CSE 412.

CSE 512 Distributed Databases. (3) A
Fragmentation design. Query optimization. Distributed joins. Concurrency control. Distributed deadlock detection. Prerequisite: CSE 510.

CSE 513 Deductive Databases. (3) F
Logic as a data model. Query optimization emphasizing the top-down and bottom-up evaluation of declarative rules. Prerequisite: CSE 510.

CSE 514 Object-Oriented Database Systems. (3) A
Object-oriented data modeling, database and language integration, object algebras, extensibility, transactions, object managers, versioning/configuration, active data, nonstandard applications. Research seminar. Prerequisite: CSE 510.

CSE 517 Hardware Design Languages. (3) F
Introduction to hardware design languages. Modeling concepts for specification, simulation, and synthesis. Prerequisite: CSE 423 or EEE 425 or instructor approval.

CSE 518 Synthesis with Hardware Design Languages. (3) N
Modeling VLSI design in hardware design languages for synthesis. Transformation of language-based designs to physical layout. Application of synthesis tools. Prerequisite: CSE 517.

CSE 520 Computer Architecture II. (3) F
Computer architecture description languages, computer arithmetic, memory-hierarchy design, parallel, vector, and multiprocessors, and input/output. Prerequisites: CSE 420, 430.

CSE 521 Microprocessor Applications. (4) S
Microprocessor technology and its application to the design of practical digital systems. Hardware, assembly language programming, and interfacing of microprocessor-based systems. Lecture, lab. Prerequisite: CSE 421.

CSE 523 Microcomputer Systems Software. (3) F
Developing system software for a multiprocessor, multiprogramming, microprocessor-based system using information and techniques presented in CSE 421, 422. Prerequisite: CSE 422.

CSE 526 Parallel Processing. (3) N
Real and apparent concurrency. Hardware organization of multiprocessors, multiple computer systems, scientific attached processors, and other parallel systems. Prerequisite: CSE 330 or 423.

CSE 530 Operating System Internals. (3) F
Implementation of process management and synchronization, system call and interrupt handling, memory management, device drivers and file systems in UNIX. Prerequisites: CSE 430; knowledge of C language.

CSE 531 Distributed and Multiprocessor Operating Systems. (3) N
Distributed systems architecture, remote file access, message-based systems, object-based systems, client/server paradigms, distributed algorithms, replication and consistency, and multiprocessor operating systems. Prerequisite: CSE 530 or instructor approval.

CSE 532 Advanced Operating System Internals. (3) F
Memory, processor, process and communication management, and concurrency control in the Windows NT multiprocessor and distributed operating system kernels and servers. Prerequisite: CSE 530 or instructor approval.

CSE 534 Advanced Computer Networks. (3) F
Advanced network protocols and infrastructure, applications of high-performance networks to distributed systems, high-performance computing and multimedia domains, special features of networks. Prerequisite: CSE 434.

CSE 536 Theory of Operating Systems. (3) S
Protection. Communication and synchronization in distributed systems, distributed file systems, deadlock theory, virtual memory theory, and uniprocessor and multiprocessor thread management. Prerequisite: CSE 430.

CSE 540 Compiler Construction II. (3) S
Formal parsing strategies, optimization techniques, code generation, extensibility and transportability considerations, and recent developments. Prerequisite: CSE 440.

CSE 545 Programming Language Design. (3) N
Language constructs, extensibility and abstractions, and runtime support. Language design process. Prerequisite: CSE 440.

CSE 550 Combinatorial Algorithms and Intractability. (3) N
Combinatorial algorithms, nondeterministic algorithms, classes P and NP, NP-hard and NP-complete problems, and intractability. Design techniques for fast combinatorial algorithms. Prerequisite: CSE 450.

CSE 555 Automata Theory. (3) N
Finite state machines, pushdown automata, linear bounded automata, Turing machines, register machines, rams, and rasps; relationships to computability and formal languages. Prerequisite: CSE 355.

CSE 556 Expert Systems. (3) S
Knowledge acquisition and representation, rule-based systems, frame-based systems, validation of knowledge bases, inexact reasoning, and expert database systems. Prerequisite: CSE 471.

CSE 560 Software Engineering. (3) F, S
Software engineering foundations, formal representations in the software process; use of formalisms in creating a measured and structured working environment. Lecture, lab. Prerequisite: CSE 360.

CSE 562 Parallel and Distributed Software Engineering. (3) A
Software engineering characteristics particular to parallel and distributed systems. Tools and techniques to support software engineering involving parallel processing and distributed systems. Prerequisite: CSE 560.

CSE 563 Software Requirements and Specification. (3) A
Examination of the definitional stage of software development; analysis of specification representations, formal methods, and techniques emphasizing important application issues. Prerequisite: CSE 560.

CSE 564 Software Design. (3) A
Examination of software design issues and techniques. Includes a survey of design representations and a comparison of design methods. Prerequisite: CSE 560.

CSE 565 Software Verification, Validation, and Testing. (3) A
Test planning, requirements-based and code-based testing techniques, tools, reliability models, and statistical testing. Prerequisite: CSE 560.

CSE 566 Software Project, Process, and Quality Management. (3) A
Project management, risk management, configuration management, quality management, and simulated project management experiences. Prerequisite: CSE 560.

CSE 570 Advanced Computer Graphics I. (3) F
Hidden surface algorithms, lighting models, and shading techniques. User interface design. Animation techniques. Fractals and stochastic models. Raster algorithms. Prerequisite: CSE 470.

CSE 571 Artificial Intelligence. (3) S
Definitions of intelligence, computer problem solving, game playing, pattern recognition, theorem proving, and semantic information processing; evolutionary systems; heuristic programming. Prerequisite: CSE 471.

CSE 573 Advanced Computer Graphics II. (3) S
Modeling of natural phenomena: terrain, clouds, fire, water, and trees. Particle systems, deformation of solids, antialiasing, and volume visualization. Lecture, lab. Prerequisite: CSE 470.

CSE 574 Planning and Learning Methods in AI. (3) F
Reasoning about time and action, plan synthesis and execution, improving planning performance, applications to manufacturing intelligent agents. Prerequisite: CSE 471 or equivalent.

CSE 575 Decision-Making Strategies in AI. (3) S
Automatic knowledge acquisition, automatic analysis/synthesis of strategies, distributed planning/problem solving, causal modeling, predictive human-machine environments. Prerequisite: CSE 471 or 571 or equivalent.

CSE 576 Topics in Natural Language Processing. (3) S
Comparative parsing strategies, scoping and reference problems, nonfirst-order logical semantic representations, and discourse structure. Prerequisite: CSE 476 or instructor approval.

CSE 577 Advanced Computer-Aided Geometric Design I. (3) F
General interpolation; review of curve interpolation and approximation; spline curves; visual smoothness of curves; parameterization of curves; introduction to surface interpolation and approximation. Prerequisites: CSE 470 and 477 or instructor approval.

CSE 578 Advanced Computer-Aided Geometric Design II. (3) S
Coons patches and Bezier patches; triangular patches; arbitrarily located data methods; geometry processing of surfaces; higher dimensional surfaces. Prerequisites: CSE 470 and 477 or instructor approval.

CSE 579 NURBs: Nonuniform Rational B-Splines. (3) S
Projective geometry, NURBs-based modeling, basic theory of conics and rational Bezier curves, rational B-splines, surfaces, rational surfaces, stereographic maps, quadrics, IGES data specification. Prerequisites: CSE 470, 477.

CSE 593 Applied Project. (1–12) N

Page Last Updated:
ASU Disclaimer

Visits to this page: page counter