Course Listing
[100 levels] [200 levels] [300 levels] [400 levels] [500 levels]COMPUTER SCIENCE AND ENGINEERING
100 Introduction to Computer
Science I. (3)
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.
120 Digital Design Fundamentals. (3)
Number systems, conversion methods, binary and complement
arithmetic, boolean and switching algebra, circuit minimization.
ROMs, PLAs, flipflops, synchronous sequential circuits, and
register transfer design. Lecture, lab. Cross-listed with EEE
120. Prerequisite: Computer Literacy.
180 Computer Literacy. (3)
Introduction to general problem-solving approaches using widely
available software tools such as database packages, word
processors, spreadsheets, and report generators. May be taken for
credit on either IBM PC or Macintosh, but not both. Non-majors
only. General Studies : N3.
181 Applied Problem Solving with
Visual BASIC. (3)
Introduction to systematic definition of problems, solution
formulation, and method validation. Computer solution using Visual BASIC
required for projects. Lecture, lab. Non-majors only.
Prerequisite: MAT 117. General Studies: N3.
183 Applied Problem Solving with
FORTRAN. (3)
A human-oriented, systems approach to problem definition,
formulation, and solution using FORTRAN. Computer solution
required for projects. Non-majors only. Prerequisite: MAT 170.
General Studies: N3.
185
Internet and the World Wide Web. (3)
Fundamental Internet concepts. World Wide Web browsing,
searching, publishing, advanced Internet productivity tools.
200 Concepts of Computer Science. (3)
Overview of algorithms, architecture, languages, computer
systems, theory. Problem solving by programming with a high-level
language (Java or another) N3. Prerequisites: One year of
high-school programming with Pascal, C++ or Java; or CSE 100 or
CSE 110
210 Object-Oriented Design and Data
Structures(3)
Object Oriented Design, Static and Dynamic Data Structures
(Strings, Stacks, Queues, Binary Trees), Recursion, Searching and
Sorting, Professional Responsibility. Prerequisite : CSE 200.
General Studies : N3.
225 Assembly Language Programming
(Motorola). (4)
Assembly language programming, register level computer
organization, data structure and addressing modes, assemblers,
and linkers. Motorola-based assignments. Cross-listed with EEE
225. Prerequisite: CSE/EEE 120, and CSE 100 or CSE 200. General
Studies : N3.
226 Assembly Language Programming
(Intel). (4)
Assembly language programming, register level computer
organization, data structure and addressing modes, assemblers,
and linkers. Intel-based assignments. Cross listed with EEE 226.
Prerequisite: CSE/EEE 120, and CSE 100 or CSE 200. General
Studies : N3.
240 Introduction to Programming
Languages. (3)
Introduction to the procedural (Ada), applicative (LISP) and
declarative (Prolog) languages. Prerequisites: CSE 210.
310 Data Structures and Algorithms.
(3)
Advanced data structures and algorithms, including stacks,
queues, trees (B, B+, AVL), and graphs. Searching for graphs,
hashing and external sorting. Prerequiste: CSE 210, MAT 243.
330 Computer Organization and
Architecture. (3)
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 CSE/EEE 226.
340 Principles of Programming
Languages. (3)
Introduction to language design and implementation. Parallel,
machine dependent and declarative language features; type theory;
specification, recognition, translation, run-time management.
Prerequisites: CSE 240, CSE 310, CSE/EEE 225 or 226.
355 Introduction to Theoretical
Computer Science. (3)
Introduction to formal language theory and automata, Turing
machines, decidability/undecidability, recursive function theory,
and introduction to complexity theory. Prerequisite: CSE 310.
360 Introduction to Software
Engineering. (3)
Software life cycle models; Project management, team development,
environments and methodologies; software architectures; quality
assurance and standards; legal, ethical issues. Prerequisite: CSE
240 and CSE 210.
408
Multimedia Information Systems. (3)
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.
412 Database Management. (3)
Introduction to DBMS concepts. Data models and languages.
Relational database theory. Database security/ integrity and
concurrency. Prerequisite: CSE 310.
420 Computer Architecture I. (3)
Computer architecture. Performance versus cost trade-offs.
Instruction set design. Basic processor implementation and
pipelining. Prerequisite: CSE 330.
421 Microprocessor System Design I.
(4)
Assembly-language programming and logical hardware design of
systems using 8-bit microprocessors and micro-controllers.
Fundamental concepts of digital system design. Reliability and
social, legal implications. Lecture, lab. Prerequisite: CSE/EEE
225.
422 Microprocessor System Design
II. (4)
Design of microcomputer systems using contemporary logic and
microcomputer system components. Requires assembly language
programming. Prerequisite: CSE 421.
423 Microcomputer System Hardware. (3)
Information and techniques presented in CSE 422 are used to
develop the hardware design of a microprocessor,
multiprogramming, microprocessor-based system. Prerequisite: CSE
422. General Studies: L2.
428 Computer-Aided Processes. (3)
Hardware and software considerations for computerized
manufacturing systems. Specific concentration on automatic
inspection, numerical control, robotics, and integrated
manufacturing systems. Prerequisite: CSE 330.
430 Operating Systems. (3)
Operating system structure and services, processor scheduling,
concurrent processes, synchronization techniques, memory
management, virtual memory, input/output, storage management,
file systems. Prerequisites: CSE 330, 340.
434
Computer Networks. (3)
Physical layer basics; network protocol algorithms; error
handling; flow control; multihop routing; network reliability,
timing, security; data compression; cryptography fundamentals.
Prerequisite: CSE 330
438 Systems Programming. (3)
Design and implementtion of systems programs, including text
editors, file utilities, monitors, assemblers, relocating linking
loaders, I/O handlers, schedulers, etc. Prerequisite: CSE 421 or
instructor approval. General Studies: L2
440 Compiler Construction I. (3)
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.
450 Design and Analysis of
Algorithms. (3)
Design and analysis of computer algorithms using analytical and
empirical methods; complexity measures, design methodologies, and
survey of important algorithms. Prerequisite: CSE 310.
457 Theory of Formal Languages. (3)
Theory of grammar, methods of syntactic analysis and
specification, types of artificial languages, relationship
between formal languages, and automata. Cross-listed as MAT 401.
Prerequisite: CSE 355.
459 Logic for Computing Scientist
I. (3)
Propositional logic, syntax and semantics, proof theory vs. 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.
461 Software Engineering Project 1.
(3)
First of 2-course software design sequence. Development planning,
management; process modeling; incremental and team development
using CASE tools. Prerequisite: CSE 360.
462 Software Engineering Project 2.
(3)
Second of 2-course software design sequence. Process, product
assessment and improvement; incremental and team development
using CASE tools. Prerequisite: CSE 461.
470 Computer Graphics. (3)
Display devices, data structures, transformation, interactive
graphics, 3-dimensional graphics, and hidden line problem.
Prerequisites: CSE 310; MAT 342.
471 Introduction to Artificial
Intelligence. (3)
State space search, heuristic search, games, knowledge
representation techniques, expert systems, and automated
reasoning. Prerequisite: CSE 240, 310.
473 Nonprocedural Programming
Languages. (3)
Functional and logic programming using languages like Lucid and
Prolog. Typical applications would be a Screen Editor and an
Expert System. Prerequisite: CSE 355.
476 Introduction to Natural
Language Processing. (3)
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.
477 Introduction to Computer-Aided
Geometric Design. (3)
Introduction to parametric curves and surfaces. Bezier and
B-spline interpolation, and approximation techniques.
Prerequisites: CSE 210, CSE 470; MAT 342.
507
Virtual Reality Systems. (3)
Computer generated 3-D environments, spatial presence of virtual
objects, technologies of immersion, tracking systems, simulation
of reality. Prerequisites: CSE 408 or CSE 508 or CSE 470 or
instructor approval.
510 Advanced Database Management. (3)
Advanced data modeling, deductive databases, object-oriented
databases, distributed and multidatabase systems; emerging
database technologies. Prerequisite: CSE 412
512
Distributed Databases. (3)
Fragmentation design. Query optimization. Distributed joins.
Concurrency control. Distributed deadlock detection.
Prerequisite: CSE 510.
513 Deductive Databases. (3)
Logic as a data model. Query optimization emphasizing the
top-down and bottom-up evaluation of declarative rules.
Prerequisite: CSE 510.
514 Object-Oriented Database
Systems. (3)
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.
515
Information Storage and Retrieval. (3)
Course number changed to CSE 510.
516 Digital Testing and
Reliability. (3)
Fault modeling, test generation, and simulation for combinational
and sequential circuits; memory testing, self-checking logic,
fault-tolerant logic, and reliability analysis. Prerequisite: CSE
423 or EEE 425 or consent of instructor.
517 Hardware Design Languages. (3)
Introduction to hardware design languages using VHDL. Modeling
concepts for specification, simulation, synthesis.. Prerequisite:
CSE 423 or EEE 425 or consent of instructor.
518 Synthesis with Hardware Design
Languages. (3)
Modeling VLSI design in hardware design languages for synthesis.
Transformation of language-based designs to physical layout.
Application of synthesis tools. Prerequisite: CSE 517.
520
Computer Architecture II. (3)
Computer architecture description languages, computer arithmetic,
memory-hierarchy design, parallel, vector, and multiprocessors,
and input/output.. Prerequisites: CSE 420, 430.
521
Microprocessor Applications. (4)
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.
526
Parallel Processing. (3)
Real and apparent concurrency. Hardware organization of
multiprocessors, multiple computer systems, scientific attached
processors, and other parallel systems. Prerequisite: CSE 330 or
423.
530
Operating System Case Study. (3)
Study of the design and implementation of a timeshared
multiprogramming operating system, with emphasis on the UNIX
operating system. Prerequisites: CSE 430; knowledge of C
Language.
531
Distributed Operating Systems. (3)
Interprocess communications, concurrency control, file system,
language constructs, architecture, and network considerations in
distributed operating and multiprocessor systems. Case studies.
Prerequisite: CSE 530.
532
Advanced Operating System Internals. (3)
Memory, processor, process and communication management, and
concurrency control in the Windows NT multiprocessor and
distributed operating system kernel and servers. Prerequisite:
CSE 530 and either CSE 531 or CSE 536.
534
Advanced Computer Networks (3)
Advanced network protocols and infrastructure, applications of
high-performance networks to distributed systems,
high-performance computing and multimedia domains, special
features of networks: real-time, security, reliability.
Prerequisite: CSE 434.
535
Performance Evaluation. (3)
Topics in computer system measurement and evaluation, including
hardware/software monitors, workload characterization, program
behavior, adaptive scheduling, simulation models, and measurement
interpretation. Prerequisite: CSE 430.
536
Theory of Operating Systems. (3)
Formal methods of control of concurrent processes, process
scheduling, memory, and auxiliary storage management. Network
operating systems. Operating system design. Prerequisite: CSE
430.
540
Compiler Construction II. (3)
Formal parsing strategies, optimization techniques, code
generation, extensibility and transportability considerations,
and recent developments. Prerequisite: CSE 440
545
Programming Language Design. (3)
Language constructs, extensibility and abstractions, and runtime
support. Language design process. Prerequisite: CSE 440.
550 Combinatorial Algorithms and
Intractability. (3)
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.
555
Automata Theory. (3)
Finite state machines, pushdown automara, linear bounded
automata. Turing machines, register machines, rams and rasps;
relationships to computability and formal languages.
Prerequisite: CSE 355.
556 Expert Systems. (3)
Knowledge acquisition and representation, rule-based systems,
frame-based system, validation of knowledge bases, inexact
reasoning, and expert database systems.Prerequisite CSE 471.
560
Software Engineering. (3)
Software engineering foundations, formal representations in the
software process; use of formalisms in creating a measured and
structured working environment. Prerequisite: CSE 360.
562 Parallel and Distributed
Software Engineering. (3)
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.
563 Software Requirements and
Specification. (3)
Examination of the definitional stage of software development;
analysis of specification representations and techniques
emphasizing important application issues. Prerequisite: CSE 560.
564 Software Design. (3)
Examination of software design issues and techniques. Includes a
survey of design representations and a comparison of design
methods. Prerequisite: CSE 560.
565
Software Verification, Validation and Testing. (3)
Test planning; requirements-based and code-based testing
techniques; tools; reliability models; statistical testing.
Prerequisite: CSE 560.
566
Software Project, Process and Quality Management. (3)
Project Management, risk management, configuration management,
quality management, simulated project management experience.
Prerequisite: CSE 560.
570 Advanced Computer Graphics I. (3)
Hidden surface algorithms, lighting models, and shading
techniques. User interface design. Animation techniques. Fractals
and stochastic models. Raster algorithms. Prerequisite: CSE 470.
571 Artificial Intelligence. (3)
Definitions of intelligence, computer problem solving, game
playing, pattern recognition, theorem proving, and semantic
information processing; evolutionary systems; heuristic
programming. Prerequisite: CSE 471.
572
Pattern Recognition. (3)
Pattern classification by distance functions and likelihood
functions, deterministic and statistical approaches to trainable
pattern classifiers, and syntactic pattern recognition.
Prerequisite: ECE 383 or STP 326.
573
Advanced Computer Graphics II. (3)
Modeling of natural phenomena: terrain clouds, fire, water, and
trees. Particle systems, deformation of solids, antialiasing ,
and volume visualization. Lecture, lab. Prerequisite: CSE 470.
574
Planning and Learning Methds in AI. (3)
Reasoning about time and action, plan synthesis and execution,
improving planning performance, applications to manufacturing
intelligent agents. Prerequisite: CSE 471 or equivalent.
575
Decision Making Strategies in AI. (3)
Automatic knowledge acquisition, automatic analysis/synthesis of
strategies, distributed planning/problem solving, causal
modeling, predictive human-machine environments. Prerequisite:
CSE 471 or equivalent.
576
Topics in Natural Language Processing. (3)
Comparative parsing strategies, scoping and reference problems,
non-first-order logical semantic representations, and discourse
structure. Prerequisite: CSE 476 or instructor approval.
577 Advanced Computer-Aided
Geometric Design I. (3)
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.
578 Advanced Computer-Aided
Geometric Design II. (3)
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
579
NURBS: Non-Uniform Rational B-splines. (3)
Projective geometry, NURMs-based modeling, basic theory of conics
and rational Bezier curves, rational B-splines, surfaces,
rational surfaces, stereographica maps, quadrics, IGES data
specification. Prerequisites: CSE 470 and 477 or instructor
approval
Omnibus Courses: See General Catalog for omnibus courses that may be offered.
Last
Modification: by cse.webmaster@asu.edu
ASU Disclaimer