
100 Level | 200 Level | 300 Level | 400 Level | 500 Level
ASU General Catalog | ASU Graduate Catalog
100 Principles of Programming with C++. (3)
Principles of problem solving using C++, algorithm design, structured
programming, fundamental algorithms and techniques, and computer
systems concepts. Social and ethical responsibility. Lecture, lab.
Prerequisite: MAT 170. General Studies: CS.
101 Introduction to Engineering Design. (2)
Introduces engineering design, teaming, engineering profession;
computer models and programming; communication skills; design of
electrical and computer-based systems. Lecture, lab. Cross-listed as
EEE 101. Credit is allowed for only CSE 101 or EEE 101. Fee.
Prerequisites: high school algebra, computing, and physics courses
(or their equivalents).
General Studies: CS
110 Principles of Programming with Java. (3)
Concepts of problem solving using Java, algorithm design, structured
programming, fundamental algorithms and techniques, and computer
systems concepts. Social and ethical responsibility. Lecture, lab.
Prerequisite: MAT 170.
General Studies: CS
120 Digital Design Fundamentals. (3)
Number systems, conversion methods, binary and complement
arithmetic, Boolean algebra, circuit minimization, ROMs, PLAs,
flipflops, synchronous sequential circuits. Lecture, lab. Fee. CSE 120/EEE 120 Crosslisted.
Prerequisite: computer literacy.
180 Computer Literacy. (3)
Introduces 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: CS
182 Applied Problem Solving with C#.Net. (3)
Introduces object oriented programming, problem solving,
fundamental algorithms and techniques, computer systems concepts,
and implementation of programs using Visual C#.Net platform.
205 Concepts of Computer Science and Data Structures. (3)
Problem solving by programming with an object-oriented
programming language. Introduction to data structures. Overview of
computer science topics. Fee. Prerequisite: CSE 100 or 110 or
instructor approval.
General Studies: CS
220 Programming for Computer Engineering. (3)
Introduces procedure programming languages (C/C++) and hardware
descriptive language (VHDL). Fee. Prerequisites: CSE 120 (or EEE
120), 205
230 Computer Organization and Assembly Language Programming. (3)
Register-level computer organization. Instruction set architecture.
Assembly language. Processor organization and design. Memory
organization. IO programming, Exception/interrupt handling. Crosslisted
as EEE 230. Credit is allowed for only CSE 230 or EEE 230.
Fee. Prerequisites: CSE 100 (or 110), 120 (or EEE 120).
240 Introduction to Programming Languages. (3)
Introduces the procedural (C/C++), applicative (LISP/Scheme), and
declarative (Prolog) languages. Lecture, lab. Prerequisite: CSE 205.
301 Computing Ethics. (1)
Ethics for computing majors: history of computing, intellectual property, privacy, ethical frameworks, professional ethical responsibilities, and risks of computer-based systems. Prerequisite: CSE 220 or
240.
310 Data Structures and Algorithms. (3)
Advanced data structures and algorithms, including stacks, queues,
trees (B, B+, AVL), and graphs. Searching for graphs, hashing,
external sorting. Fee. Lecture, lab. Prerequisites: CSE 220 (or 240);
MAT 243.
320 Design and Synthesis of Digital Hardware. (3)
Design and synthesis of digital hardware with hardware description
language, computer-aided design tools, and programmable devices.
Fee. Prerequisites: CSE 220, 230 (or EEE 230).
325 Embedded Microprocessor Systems. (3)
System-level programming and analysis of embedded
microprocessors systems. Fundamental concepts of digital system
design for embedded system applications. Fee. Prerequisites: CSE
220, 230 (or EEE 230).
340 Principles of Programming Languages. (3)
Formal syntactic and semantic descriptions, compilation and
implementation issues, and theoretical foundations for several
programming paradigms. Prerequisites: CSE 230, 310.
355 Introduction to Theoretical Computer Science. (3)
Introduces formal language theory and automata, Turing machines,
decidability/undecidability, recursive function theory, and 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. Fee. Prerequisite:
CSE 220
408/598 Multimedia Information Systems. (3)
Design, use, and applications of multimedia systems. Introduces
acquisition, compression, storage, retrieval, and presentation of data
from different media such as images, text, voice, and alphanumeric.
Prerequisite: CSE 310.
412/598 Database Management. (3)
Introduces DBMS concepts. Data models and languages. Relational
database theory. Database security/integrity and concurrency. Fee.
Prerequisite: CSE 310.
414 Advanced Database Concepts. (3)
Object-oriented data modeling, advanced relational features, JDBC
and Web access to databases, XML and databases, object-oriented
databases, and object-relational databases. Prerequisite: CSE 412.
420 Computer Architecture I. (3)
Computer architecture. Performance versus cost tradeoffs. Instruction
set design. Basic processor implementation and pipelining.
Prerequisite: CSE 230.
423 Systems Capstone Project I (3)
Development process: specification, design, implementation,
evaluation, and testing with economic, social, and safety
considerations. Technical communication and team skills enrichment.
Fee. Prerequisites: CSE 320, 325, 360.
General Studies: L
424 Systems Capstone Project II. (3)
Continuation of capstone project started in CSE 423. Fee.
Prerequisite: CSE 423.
General Studies: L
430 Operating Systems. (3)
Operating system structure and services, processor scheduling,
concurrent processes, synchronization techniques, memory
management, virtual memory, input/output, storage management, and
file systems. Fee. Prerequisites: CSE 230 (or EEE 230), 310.
432 Operating System Internals. (3)
IPC, exception and interrupt processing, memory and thread
management, user-level device drivers, and OS servers in a modern
microkernel-based OS. Fee. Prerequisite: CSE 430.
434 Computer Networks. (3)
Distributed computing paradigms and technologies, distributed system architectures and design patterns, frameworks for development of distributed software components. Prerequisite: CSE
230 or EEE 230.
438 Embedded Systems Programming. (3)
Design and implementation of systems programs, including text editors,
file utilities, monitors, assemblers, relocating linking loaders, I/O
handlers, and schedulers. Prerequisite: CSE 325 or instructor approval.
General Studies: L
440/598 Compiler Construction I. (3)
Introduces 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.
445/598 Distributed Software Development. (3)
Distributed system architectures and design, service-oriented computing, and frameworks for development of distributed applications and software components. Fee. Lecture,
projects. Prerequisite: CSE 360.
450/598 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/598 Theory of Formal Languages. (3)
Theory of grammar, methods of syntactic analysis and specification,
types of artificial languages, relationship between formal languages,
and automata. Prerequisite: CSE 355.
459/598 Logic for Computer Scientists I (3)
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.
460/598 Software Analysis and Design. (3)
Object-oriented and structured analysis and design; software
architecture and design patterns; component-based development;
software safety and reliability. Fee. Prerequisite: CSE 360.
461 Software Engineering Project I (3)
First of two-courses software team-development sequence. Planning, management, design and implementation using object-oriented technology.
462 Software Engineering Project I (3)
Second of two-course software team-development sequence. Software evolution, maintenance, reengineering, reverse engineering, component-based development, and outsourcing.
463 Introduction to Human Computer Interaction. (3)
Design, evaluate, and implement interactive software intended for
human use. Prerequisite: CSE 310.
465 Introduction to Information Assurance. (3)
Concepts of information assurance (IA); basic IA techniques, policies,
risk management, administration, legal and ethics issues.
Prerequisite: CIS 300 or CSE 360 or IEE 305.
466/598 Computer Systems Security (3)
Countermeasures to attacks to computer systems from miscreants (or hackers) and basic topics of cryptography and network security. Prerequisites: CSE 310, CSE 355
467 Data and Information Security (3)
Basic concepts of security and privacy, data and database security, access controls, trust models, watermarking; and private information retrieval. Prerequisites: CSE 310
468: Computer Network Security (3)
The course will cover network foundation and applied cryptography foundation, case studies of attack techniques and corresponding countermeasures, network tools and secure network applications.
470 Computer Graphics. (3)
Introduces basic concepts of interactive computer graphics, realistic
rendering, and 3-D viewing. Fee. Prerequisites: both CSE 310 and
MAT 343 or only instructor approval.
471/598 Introduction to Artificial Intelligence. (3)
State space search, heuristic search, games, knowledge
representation techniques, expert systems, and automated reasoning.
Fee. Prerequisites: CSE 240, 310.
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/598 Introduction to Computer-Aided Geometric Design. (3)
Introduces basic concepts of 3-D computer geometry, including
curves, surfaces, meshes. Prerequisites: both CSE 470 and MAT 343
or only instructor approval.
484 Internship. (1–12)
485 Computer Science Capstone Project I. (3)
First course in capstone sequence for computer science majors
emphasizing development process, technical skills, teamwork, and
communication. Fee. Prerequisites: CSE 310, 340, 360.
General Studies: L
486 Computer Science Capstone Project II. (3)
Second course in capstone sequence for computer science majors
continuing the development process, technical skills, teamwork, and
communication. Fee. Prerequisite: CSE 485.
General Studies: L
492 Honors Directed Study. (1–6)
493 Honors Thesis. (1–6)
494 Advanced Database Concepts. (3)
Advanced data modeling, object-oriented databases and object-relational databases. Web access to databases. Professionalism and ethics in information access. Prerequisite: CSE 412.
494 Service-Oriented Computing (3)
494/598 Cognitive Systems and Intelligent Agents. (3)
494/598 Computer Network Security. (3)
494/598 Human Robot Interaction (3)
494/598 Introduction to High Performance Computing. (3)
494/598 Numerical Linear Algebra Data Exploration. (3)
494/598 Real-Time Embedded Systems. (3)
494/598 Research Methods in Computer Science. (3)
494/598 Social Computing and Web Analytics (3)
494/598 System-Level Hardware-Software Co-Design. (3)
499 Individualized Instruction (1-3)
509 Digital Video Processing. (3)
510 Database Management System Implementation. (3)
512 Distributed Database Systems. (3)
514 Object-Oriented Database Systems. (3)
515 Multimedia and Web Databases. (3)
520 Computer Architecture II. (3)
531 Distributed and Multiprocessor Operating Systems. (3)
534 Advanced Computer Networks. (3)
536 Advanced Operating Systems. (3)
540 Compiler Construction II. (3)
543: Information Assurance and Security (3)
548 Advanced Computer Network Security. (3)
550 Combinatorial Algorithms and Intractability. (3)
555 Theory of Computation. (3)
561 Modeling & Simulation Theory and Application. (3)
563 Software Requirements and Specification. (3)
565 Software Verification, Validation, and Testing. (3)
566 Software Projet, Process and Quality Management. (3)
570 Advanced Computer Graphics I. (3)
571 Artificial Intelligence. (3)
572 Data Mining. (3)
573 Advanced Computer Graphics II. (3)
574 Planning and Learning Methods in AI. (3)
576 Topics in Natural Language Processing. (3)
577 Advanced Computer-Aided Geometric Design I. (3)
578 Advanced Computer-Aided Geometric Design II. (3)
579 NURBS: Nonuniform Rational B-Splines. (3)
580 Practicum. (1- 12)
584 Internship - Embedded Systems. (3)
584 Internship - CPT. (3)
590 Reading and Conference. (1-12)
591 Multimedia Computing, Communication and Interaction (3)
591 Ad Hoc Networking & Computing (3)
591 Compilers for Embedded Systems (3)
591 Interaction Testing and Software Testing (3)
591 OS Internals – Embedded Linux. (3)
591 Theory Network Communication. (3)
591 Real-Time Embedded Systems (3)
591 Randomized Approximate Algorithms. (3)
591 Optimization Algorithms with Engineering Applications (3)
591 SW Engineering Principals and Concepts. (3)
591 Emerging Programming Models in High Performance Computing (3)
591 Programming for Multi-core Processors. (3)
591 Text analysis with application to biology and archaelogy. (3)
593 Applied Project. (1 - 12)
595 Continuing Registration. (1)
598 Cognitive Systems and Intelligent Agents. (3)
598 Compiler Construction. (3)
598 Computer Architecture I (3)
598 Computer Network Security (3)
598 Computer Systems Security (3)
598 Data and Information Security (3)
598 Design and Analysis of Algorithms. (3)
598 Dist. Software Development. (3)
598 Human Robot Interaction (3)
598 Information Retrieval, Mining. (3)
598 Introduction to Algorithms/Arch-High Performance Computing. (3)
598 Introduction to Artificial Intelligence. (3)
598 Introduction to Computer Aided Geometric Design. (3)
598 Introduction to High Performance Computing. (3)
598 Logic for Computer Scientists (3)
598 Multimedia Information Systems. (3)
598 Numerical Linear Algebra Data Exploration. (3)
598 Operating System Internals. (3)
598 Real-Time Embedded Systems. (3)
598 Research Methods in Computer Science. (3)
598 Social Computing and Web Analytics (3)
598 Software Analysis and Design. (3)
598 Software Enterprise Principles. (3)
598 System-Level Hardware-Software Co-Design. (3)
598 Testing of Digital Systems. (3)
599 Thesis. (3)
790 Reading and Conference. (1 - 12)
792 Research. (1 -12)
795 Continuing Registration. (1)
799 Dissertation. (1 - 12)