Arizona State UniversityWebsiteAcademic Catalog
School of Computing and Augmented IntelligenceDepartment Website
Majors
Courses
source 1CSE 100: Principles of Programming with C++ (3) intro
Principles of problem solving using C++, algorithm design, structured programming, fundamental algorithms and techniques, and computer systems concepts. Social and ethical responsibility.
CPI 101: Introduction to Informatics (3) intro
Concepts, tools, techniques, and applications of informatics. Includes overview of programming, data management, visualization, modeling, and social implications.
CSE 101: Introduction to Computer Science and Programming for Non-Computer Science Majors (3) intro
Introduces students to the fundamental concepts of computer science (CS) and programming. Computers are a ubiquitous part of our lives every day. A foundational knowledge of how computers operate, what they are capable of and how we can leverage these capabilities confers powerful advantages for anyone who uses computers in their lives and careers. Delivers the knowledge and skill necessary to realize these advantages. Also provides a solid foundation on which students can continue to build by taking more advanced CS courses or self-study using many freely available resources.
CSE 110: Principles of Programming (3) intro
Concepts of problem solving using an object-oriented programming language, algorithm design, structured programming, fundamental algorithms and techniques.
CPI 111: Game Development I (3) graphics
Introduces video game design, art theory, and concepts as they apply to video game development. Basic art principles used in game development. Covers the fundamental video game art principles of 2-D and 3-D composition, color theory, modeling, and lighting techniques. Demonstrates practical application of these art fundamentals in establishing style guides, concept art, storyboards, and in-game assets. Also includes game design, game production, asset production, and game programming. Hands-on experience by creating 2-D game prototypes belonging to different video game genres and evaluating the techniques.
CSE 120: Digital Design Fundamentals (3) intro
Number systems, conversion methods, binary and complement arithmetic, Boolean algebra, circuit minimization, ROMs, PLAs, flipflops, synchronous sequential circuits.
CSE 180: Computer Literacy (3)
Students gain fluency in integrating technology to efficiently and effectively solve problems using computational thinking.
CSE 194: Special Topics (14) special
Covers topics of immediate or special interest to a faculty member and students.
CPI 200: Mathematical Foundations of Informatics (3) math
Practical introduction to the mathematics necessary for studies in informatics. Topics include discrete math, analytic geometry, calculus and linear algebra.
CSE 205: Object-Oriented Programming and Data Structures (3) intro
Problem solving by programming with an object-oriented programming language. Introduces data structures. Overview of computer science topics.
CPI 211: Game Development II (3) graphics
Introduces the basics of 3D game development by using a game engine. Focuses on the pipeline of 3D game development including environment and contents creation, scripting to control components, and graphics user interfaces development. Develops several 3D games for multi platforms.
CPI 220: Applied Data Structures and Algorithms (3) algs
Thorough grounding in applied knowledge and skills related to algorithms and data structures used in the development of software designed to solve complex problems. Overview of computational and critical thinking skills that can be called upon to analyze and solve complex problems in multiple domains.
CSE 220: Programming for Computer Engineering (3) intro
Introduction to C/C++, systems programming, and concurrency.
CPI 221: Advanced Object-Oriented Principles Using Java (3) intro
Advanced object-oriented programming using the Java language. Design concepts and problem solving.
CSE 225: Introduction to Modern Computing Systems (3) intro
An overview of modern computing systems emphasizing the understanding of computer components, client-server architectures, cloud computing and intelligent systems.
CSE 230: Computer Organization and Assembly Language Programming (3) sys
Register-level computer organization. Instruction set architecture. Assembly language. Processor organization and design. Memory organization. IO programming. Exception/interrupt handling.
CSE 240: Introduction to Programming Languages (3) pls
Introduces the procedural, object-oriented, functional and declarative languages.
CSE 259: Logic in Computer Science (3) math
Logic has been called the calculus of computer science. The argument is that logic plays a fundamental role in computer science, similar to that played by calculus in physical sciences and other engineering disciplines. Indeed, logic plays an important role in computer architecture (Boolean logic, digital gates, hardware verification); software engineering (specification, verification); programming languages (semantics, type theory, logic programming); databases (relational algebra, database query language); artificial intelligence (automated theorem proving, knowledge representation); algorithms and theory of computation (complexity, computability, expressiveness). This course is a mathematically solid introduction to propositional logic, first order logic, logic programming, and their applications in computer science.
CSE 294: Special Topics (14) special
Covers topics of immediate or special interest to a faculty member and students.
CSE 301: Computing Ethics (1) impact
Ethics for computing majors: history of computing, intellectual property, privacy, ethical frameworks, professional ethical responsibilities and risks of computer-based systems.
CSE 302: Circuits for Computer Engineers (3) sys
Covers circuit theory and practical applications to elementary circuit analysis concepts. Digital systems need to be electrically analyzed to determine whether they will perform to a specific speed or face signal integrity problems. Focuses on analyzing electrical circuits with the basis on digital system performance limitations. Shows that simple symbolic analytical models can lead to great design insight, through SPICE simulations which are a part of the lab component for this course.
CPI 310: Web-Based Information Management Systems (3) sys
Relational database design, entity-relationship modeling, relational algebra, SQL, database access through Web, Web data management, introduction to XML, fundamentals of Web application development, Web server architectures, lecture, in-class lab activities.
CSE 310: Data Structures and Algorithms (3) algs
Advanced data structures and algorithms, including stacks, queues, trees (B, B+, AVL), and graphs. Searching for graphs, hashing, external sorting.
CPI 311: Game Engine Development (3) graphics
State-of-the-art techniques for computer game design and programming with an emphasis on 3-D graphics and interaction. Focuses on a practical, example-driven approach to learning the unique art of 3-D game development. Topics include graphics game engines, textures, shader programming, artificial intelligence, physics, modeling, sound effects, and techniques for user interfaces.
CSE 320: Design and Synthesis of Digital Hardware (3) sys
Design and synthesis of digital hardware with hardware description language, computer-aided design tools, and programmable devices.
CPI 321: Fundamentals of Game Art (3) graphics
Introduces art theory and concepts as they apply to video game development. Covers 2-D and 3-D composition, color theory, modeling, and lighting techniques. Demonstrates practical application of these art fundamentals in establishing style guides, concept art, storyboards, and in-game assets.
CSE 325: Embedded Microprocessor Systems (3) sys
System-level programming and analysis of embedded microprocessors systems. Fundamental concepts of digital system design for embedded system applications.
CSE 330: Operating Systems (3) sys
Operating system structure and services, processor scheduling, concurrent processes, synchronization techniques, memory management, virtual memory, input/output, storage management, and file systems.
CSE 335: Principles of Mobile Application Development (3) sys
Covers topics pertaining to fundamental concepts of mobile application development principles including design patterns; data persistence; interfacing with services and devices; location and incorporation of existing frameworks; user interface and experience; context awareness; utilization of built-in tools for software profiling, testing, and version control; and security/privacy issues.
CSE 340: Principles of Programming Languages (3) pls
Formal syntactic and semantic descriptions, compilation and implementation issues, and theoretical foundations for several programming paradigms.
CPI 350: Evaluation of Informatics Systems (3) humans
Methods for evaluation of informatics systems, including design of computational and human experiments, ethnography, and analytic techniques.
CSE 355: Introduction to Theoretical Computer Science (3) theory
Introduces formal language theory and automata, Turing machines, decidability/undecidability, recursive function theory, and complexity theory.
CPI 360: Decision Making and Problem Solving (3) impactsys
Practical use of database systems, computer graphics, and modeling to inform decision making.
CSE 360: Introduction to Software Engineering (3) softeng
Software life cycle models; project management, team development environments and methodologies; software architectures; quality assurance and standards; legal, ethical issues.
CSE 365: Information Assurance (3) impact
Concepts of information assurance (IA); basic IA techniques, policies, risk management, administration, legal and ethics issues.
CSE 394: Special Topics (14) special
Covers topics of immediate or special interest to a faculty member and students.
CSE 408: Multimedia Information Systems (3) sys
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.
CSE 412: Database Management (3) sys
Introduces DBMS concepts. Data models and languages. Relational database theory. Database security/integrity and concurrency.
CSE 414: Advanced Database Concepts (3) sys
Object-oriented data modeling, advanced relational features, JDBC and Web access to databases, XML and databases, object-oriented databases, and object-relational databases.
CSE 420: Computer Architecture I (3) sys
Computer architecture. Performance versus cost tradeoffs. Instruction set design. Basic processor implementation and pipelining.
CSE 423: Systems Capstone Project I (3) capstone
Development process: specification, design, implementation, evaluation and testing with economic, social and safety considerations. Technical communication and team skills enrichment.
CSE 424: Systems Capstone Project II (3) capstone
Continuation of capstone project started in CSE 423.
CSE 434: Computer Networks (3) sys
Network architecture and protocols, principles of network applications, socket programming, flow and congestion control, switching and routing, link-layer technologies, traffic capture and analysis, security.
CSE 438: Embedded Systems Programming (3) sys
Development of embedded system software, I/O handlers, and multiple threaded programs. Scheduling algorithms. Embedded software structures. Real-time operating system.
CSE 440: Compiler Construction I (3) pls
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.
CSE 445: Distributed Software Development (3) sys
Distributed system architectures and design, service-oriented computing, and frameworks for development of distributed applications and software components.
CSE 446: Software Integration and Engineering (3) softeng
Software development using architecture design, composition, workflow, services, data resources, data representations, data management, and development tools.
CSE 450: Design and Analysis of Algorithms (3) algs
Design and analysis of computer algorithms using analytical and empirical methods; complexity measures, design methodologies and survey of important algorithms.
CSE 460: Software Analysis and Design (3) softeng
Object-oriented and structured analysis and design; software architecture and design patterns; component-based development; software safety and reliability.
CSE 463: Introduction to Human Computer Interaction (3) humans
Design, evaluate, and implement interactive software intended for human use.
CSE 464: Software Quality Assurance and Testing (3) softeng
Software quality assurance (SQA), software quality metrics, software configuration management, software verification and validation, reviews, inspections, understanding software testing process, functional testing, structural testing, model-based testing, integration, system, and regression testing techniques, software life cycle models and software testing, testing distributed software, bug management, and use of testing tools.
CSE 466: Computer Systems Security (3) sys
Countermeasures to attacks to computer systems from miscreants (or hackers) and basic topics of cryptography and network security.
CSE 467: Data and Information Security (3) sys
Basic concepts of security and privacy, data and database security, access controls, trust models, watermarking, and private information retrieval.
CSE 468: Computer Network Security (3) sys
Practical network security exposure and hands-on experience about basic security concepts, case studies and useful tools.
CSE 469: Computer and Network Forensics (3) sys
Identification, extraction, documentation, interpretation, and preservation of computer media for evidentiary purposes, file system forensics, and network forensics.
CSE 470: Computer Graphics (3) graphics
Introduces basic concepts of interactive computer graphics, realistic rendering, and 3-D viewing.
CSE 471: Introduction to Artificial Intelligence (3) ai
State space search, heuristic search, games, knowledge representation techniques, expert systems and automated reasoning.
CSE 472: Social Media Mining (3) ai
Network measures, social network analysis, network models, random graphs, small-world model, power laws, data mining, influence and homophily, information diffusion, epidemics, behavioral analysis, recommendation in social media, community detection.
CSE 474: Mobile Robotics (3) ai
Aims to make accessible to undergraduate students a principled and mathematically sound approach to the design of algorithms for robots. Students acquire the mathematical foundations that are required for the implementation and analysis of algorithms for robotic applications through homework problems and a final project. Among course goals is the development of the vocabulary and mathematical background so that the students can follow the current research and development trends in the robotics industry.
CSE 475: Foundations of Machine Learning (3) ai
Machine learning techniques: supervised learning, unsupervised learning, and neural networks and deep learning.
CSE 476: Introduction to Natural Language Processing (3) ai
Principles of computational linguistics, formal syntax, and semantics, as applied to the design of software with natural (human) language I/O.
CSE 477: Introduction to Computer-Aided Geometric Design (3) graphics
Introduces basic concepts of 3-D computer geometry, including curves, surfaces, meshes.
CSE 478: Foundations of Data Visualization (3) graphics
Techniques and algorithms for creating effective visualizations based on principles from graphic design, visual art, perceptual psychology and cognitive science to enhance the understanding of complex data.
CSE 484: Internship (112) special
Structured practical experience following a contract or plan, supervised by faculty and practitioners.
CSE 485: Computer Science Capstone Project I (3) capstone
First course in capstone sequence for computer science and informatics majors emphasizing development process, technical skills, teamwork and communication.
CSE 486: Computer Science Capstone Project II (3) capstone
Second course in capstone sequence for computer science and informatics majors continuing the development process, technical skills, teamwork and communication.
CSE 492: Honors Directed Study (16) special
Independent study in which a student, under the supervision of a faculty member, conducts research or creative work that is expected to lead to an undergraduate honors thesis or creative project.
CSE 493: Honors Thesis (16) capstone
Supervised research or creative activity focused on preparation and completion of an undergraduate honors thesis or creative project.
MAT 210: Brief Calculus (3) math
Differential and integral calculus of elementary functions with applications.
STP 226: Elements of Statistics (3) math
Basic concepts and methods of statistics, including descriptive statistics, significance tests, estimation, sampling, and correlation.
STP 231: Statistics for Life Science (3) math
Concepts and methods of statistics; display and summary of data, interval estimation, hypothesis testing, correlation, regression. Applications to biological sciences.
MAT 242: Elementary Linear Algebra (2) math
Introduces matrices, systems of linear equations, determinants, vector spaces, linear transformations, and eigenvalues. Emphasizes development of computational skills.
MAT 243: Discrete Mathematical Structures (3) math
Logic, sets, functions, elementary number theory and combinatorics, recursive algorithms, and mathematical reasoning, including induction. Emphasizes connections to computer science.
MAT 265: Calculus for Engineers I (3) math
Limits and continuity, differential calculus of functions of one variable, introduction to integration.
MAT 266: Calculus for Engineers II (3) math
Methods of integration, applications of calculus, elements of analytic geometry, improper integrals, Taylor series.
MAT 267: Calculus for Engineers III (3) math
Vector-valued functions of several variables, partial derivatives, multiple integration.
MAT 343: Applied Linear Algebra (3) math
Solving linear systems, matrices, determinants, vector spaces, bases, linear transformations, eigenvectors, norms, inner products, decompositions, applications. Problem solving using MATLAB.
STP 420: Introductory Applied Statistics (3) math
Introductory probability, descriptive statistics, sampling distributions, parameter estimation, tests of hypotheses, chi-square tests, regression analysis, analysis of variance, and nonparametric tests.
EEE 120: Digital Design Fundamentals (3) engr
Number systems, conversion methods, binary and complement arithmetic, Boolean algebra, circuit minimization, ROMs, PLAs, flipflops, synchronous sequential circuits.
ASU 101-CAI: The ASU Experience (1)
Students will learn about ASU's mission as the New American University, the importance and benefits of an entrepreneurial approach to problem solving, solutions to sustainability challenges, and the importance of social embeddedness. Additionally, through various course discussions and assignments, students will examine the concept of academic integrity and its potential impact on their future, gain awareness of the value of engaging in research activities, and learn about taking an interdisciplinary perspective.
FSE 100: Introduction to Engineering (2) engr
Introduces the engineering design process; working in engineering teams; the profession of engineering; engineering models, written and oral technical communication skills.
GIS 270: Statistics for Geography and Planning (3)
Descriptive and inferential statistical methods for analysis of data in geographical sciences and urban planning.
IEE 305: Information Systems Engineering (3) sys
Overview of computer and information systems applications. Topics include client/server; distributed computing; networks; process modeling; e-commerce; enterprise applications; Internet.
IEE 380: Probability and Statistics for Engineering Problem Solving (3) math
Applications-oriented course with computer-based experience using statistical software for formulating and solving engineering problems.