Courses
CSCE A101 Introduction to Computer Science 3 Credits
Provides a broad overview of computer science and programming. Topics include introduction to programming, algorithmic problem solving and basic concepts in hardware. Demonstrates the role computation can play in solving useful problems as well as present programming concepts that enable students to write simple programs.
Special Note: This course is intended for students with little or no programming experience.
Prerequisites: ALEKS Overall Test 1 with a score of 055 or ALEKS Overall Test 2 with a score of 055 or ALEKS Overall Test 3 with a score of 055 or ALEKS Overall Test 4 with a score of 055 or ALEKS Overall Test 5 with a score of 055 or MATH A055 with a minimum grade of C or MATH A060 with a minimum grade of C or MATH A105 with a minimum grade of C or concurrent enrollment or MATH A151 with a minimum grade of C or concurrent enrollment or MATH A152 with a minimum grade of C or concurrent enrollment or MATH A155 with a minimum grade of C or concurrent enrollment or MATH A221 with a minimum grade of C or concurrent enrollment or MATH A251 with a minimum grade of C or concurrent enrollment or MATH A251F with a minimum grade of C or concurrent enrollment or MATH A252 with a minimum grade of C or concurrent enrollment or MATH A252F with a minimum grade of C or concurrent enrollment or MATH A253 with a minimum grade of C or concurrent enrollment.
CSCE A115 Introduction to Data Science 3 Credits
Introduces foundational knowledge in data science, focusing on skills and concepts that will prepare students for further studies in artificial intelligence (AI) and machine learning (ML). Emphasizes practical data analysis, statistical concepts, and an understanding of algorithms preparing students to tackle real-world data science problems.
Prerequisites: MATH A055 with a minimum grade of C or MATH A060 with a minimum grade of C or MATH A105 with a minimum grade of C or concurrent enrollment or MATH A151 with a minimum grade of C or concurrent enrollment or MATH A152 with a minimum grade of C or concurrent enrollment or MATH A155 with a minimum grade of C or concurrent enrollment or MATH A251 with a minimum grade of C or concurrent enrollment or MATH A251F with a minimum grade of C or concurrent enrollment or MATH A252 with a minimum grade of C or concurrent enrollment or MATH A252F with a minimum grade of C or concurrent enrollment or MATH A253 with a minimum grade of C or concurrent enrollment.
CSCE A201 Computer Programming I 4 Credits
Introduces fundamental computer programming techniques and problem solving. Covers basic syntax; sequential, branching, and iterative execution; arrays, functions, structures, pointers, and dynamic memory allocation/deallocation.
Special Note: Students must register concurrently for lab section.
Prerequisites: (CSCE A101 with a minimum grade of C or ES A261 with a minimum grade of C) and (MATH A105 with a minimum grade of C or MATH A151 with a minimum grade of C or concurrent enrollment or MATH A152 with a minimum grade of C or concurrent enrollment or MATH A155 with a minimum grade of C or concurrent enrollment or MATH A221 with a minimum grade of C or concurrent enrollment or MATH A251 with a minimum grade of C or concurrent enrollment or MATH A251F with a minimum grade of C or concurrent enrollment or MATH A252 with a minimum grade of C or concurrent enrollment or MATH A252F with a minimum grade of C or concurrent enrollment or MATH A253 with a minimum grade of C or concurrent enrollment).
Corequisites: CSCE A201L.
CSCE A211 Computer Programming II 4 Credits
Covers object-oriented programming concepts including real-world applications built using objects, classes, inheritance, hierarchies, polymorphism, recursion, unit testing, generics, linked lists, vectors, iterators, event processing and exception handling.
Registration Restrictions: Students must concurrently register for lab section.
Prerequisites: CSCE A201 with a minimum grade of C.
Corequisites: CSCE A211L.
CSCE A222 Object-Oriented Programming I 3 Credits
In-depth coverage of object-oriented programming in the Java programming language. Topics include inheritance, abstraction, interfaces, references, polymorphism, dynamic binding, class hierarchies, container classes, random access file input/output (I/O), serializability, graphical applications, event handling, Unified Modeling Language (UML) and object-oriented design.
Prerequisites: CSCE A201 with a minimum grade of C.
CSCE A241 Computer Hardware Concepts 4 Credits
Analysis and design of electronic devices used as building blocks for construction of simple combinational and sequential digital systems. Presents formats for data storage, number systems and alphanumeric codes, and methods of implementing logical and arithmetic operations within computers. Relates hardware components' capabilities and limitations to design requirements for computer processing, memory and control functions.
Registration Restrictions: Students must register concurrently for lab section.
Crosslisted With: EE A241
Prerequisites: CSCE A201 with a minimum grade of C or CSE A205 with a minimum grade of C.
Corequisites: CSCE A241L.
CSCE A248 Computer Organization and Assembly Language Programming 3 Credits
Covers organization and operation of a computer's processor, including registers, memory, input/output (I/O) and control. Assembly language programming with emphasis placed on hardware/software interface and computer design.
Prerequisites: CSCE A241 with a minimum grade of C or EE A241 with a minimum grade of C.
CSCE A302 Design Patterns in Java 3 Credits
Introduces Java as a modern object-oriented and portable programming language. Illustrates Java's capabilities with design patterns as solutions to recurring problems in developing object-oriented software. Includes a detailed examination of significant design patterns and selected programming projects in a current object-oriented language. Introduces modern, parallel computing techniques, such as threading.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science, Bachelor of Science in Computer Systems Engineering, or Bachelor of Science in Electrical Engineering
Prerequisites: CSCE A211 with a minimum grade of C.
CSCE A305 Android Programming 3 Credits
Covers Android development concepts and programming. Topics include development environments, design issues, interface and input/output (I/O), code development, and publication.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A222 with a minimum grade of C.
CSCE A311 Data Structures and Algorithms 3 Credits
Representation and organization of digital information in the form of effective and efficient data structures, manipulation of data structures in a procedural fashion, and the analysis and evaluation of various algorithms. The following topics will be covered: Abstract Data Types (ADT), arrays, tables, linked lists, stacks, queues, trees, sorting, searching, graphs, hashing, spanning trees, disjoint sets, parallel algorithms, and heaps.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science, Bachelor of Science in Computer Systems Engineering, or Bachelor of Science in Electrical Engineering; or instructor approval
Prerequisites: CSCE A211 with a minimum grade of C.
CSCE A321 Operating Systems 3 Credits
An introductory course on operating systems. Topics covered include all aspects of resource management and abstraction required to support application programs including: basic security, processes and threads, processor scheduling, synchronization, memory management, virtual memory, virtual machines, device drivers and Input/Output (I/O), and file systems.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A248 with a minimum grade of C and CSCE A311 with a minimum grade of C.
CSCE A331 Programming Language Concepts 3 Credits
Study of the theoretical foundations needed to design and implement modern programming languages, including syntax, type systems, semantics, and memory structures. Comparison of several programming languages in different paradigms such as procedural, functional, logic, and scripting languages. Programming assignments will be given in each language studied.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A248 with a minimum grade of C and CSCE A311 with a minimum grade of C.
CSCE A342 Digital Circuits Design 3 Credits
Digital system design using integrated circuits and field-programmable gate arrays (FPGAs). Design and discussion of data path and control units, finite state machines, and timing analysis. Digital circuit simulation and electronic schematic creation.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A241 with a minimum grade of C or EE A241 with a minimum grade of C.
CSCE A351 Automata, Algorithms and Complexity 3 Credits
Study of the theory of computing and algorithm analysis and design. Topics include context-free grammars and parsing, finite automata and regular languages, pushdown automata and context-free grammars, deterministic and nondeterministic Turing machines, decidability and computability. In the algorithm domain, the course provides and introduction to analysis and complexity of algorithms, searching/sorting algorithms, mathematical algorithms, and graph theoretic algorithms. Introduction to complexity theory.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science or the Bachelor of Science in Computer Systems Engineering or the Bachelor of Science in Electrical Engineering or instructor approval
Prerequisites: CSCE A311 with a minimum grade of C and (MATH A261 with a minimum grade of C or (MATH A265 with a minimum grade of C and MATH A306 with a minimum grade of C)).
CSCE A360 Database Systems 3 Credits
Application of data modeling, relational database concepts and design, normalization theory, and structured query language. Study of underlying data structures and implementations of data processing architectures.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A211 with a minimum grade of C or CSCE A222 with a minimum grade of C.
CSCE A365 Computer Networks 3 Credits
Introduces network architectures, layered protocols, Internet protocols and network service interfaces. Emphasis is on design and implementation of networking hardware, including routers, bridges, switches, hubs and repeaters. Covers local networks, addressing, routing, flow control, queuing, routing protocols and packet loss.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science or the Bachelor of Science in Computer Systems Engineering or the Bachelor of Science in Electrical Engineering or instructor approval
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A375 Fundamentals of Cryptocurrency Technologies 3 Credits
Introduces cryptographic primitives, data structures, and mining incentives underlying many cryptocurrencies. Topics include: cryptographic hash functions, Merkle trees, Poisson processes, Markov chains, Bloom filters, selfish mining, double spend attacks, and scaling issues. Security and privacy aspects of cryptocurrencies covered as well.
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A381 Computer Graphics 3 Credits
Creation of computer-generated images on programmable 3-D graphics hardware. Color, lighting, textures, hidden surfaces, 3-D geometric transformations, curve and surface representations, 2-D and 3-D user interfaces, and the visual modeling of physical phenomena.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science or the Bachelor of Science in Computer Systems Engineering or the Bachelor of Science in Electrical Engineering, or instructor approval
Prerequisites: CSCE A311 with a minimum grade of C and (MATH A252 with a minimum grade of C or MATH A252F with a minimum grade of C).
CSCE A395 Internship in Computing 3 Credits
Application of computer science or computer engineering skills in a professional work setting.
Special Note: May be taken up to three times, but only 3 credits may be applied toward CS or CSE major requirements.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A211 with a minimum grade of C.
CSCE A401 Software Engineering 3 Credits
Extends the ideas of software design and development from the introductory programming sequence to encompass the problems encountered in large-scale programs. Topics include software lifecycle models for developing large systems, advanced issues in object-oriented programming, design patterns, software development tools, project management principles and principles of interface design.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A405 Artificial Intelligence 3 Credits
Introduces the basic concepts of artificial intelligence (AI). Topics include intelligent agents; heuristics, local and adversarial search; first-order logic and knowledge of representation and machine learning.
Special Note: Not available for credit to students who have completed CSCE A605.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
May Be Stacked With: CSCE A605
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A412 Evolutionary Computing 3 Credits
Introduces students to subjects in the broad field of evolutionary computing, including genetic algorithms, evolution strategies, evolutionary programming and genetic programming. Emphasis will be on the design, implementation, testing, debugging and verification of correct programs.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Special Note: Not available for credit to students who have completed CSCE A612.
May Be Stacked With: CSCE A612
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A415 Machine Learning 3 Credits
In-depth survey of basic and advanced concepts of machine learning. Topics include linear discrimination; supervised, unsupervised and semi-supervised learning; multilayer perceptrons; maximum-margin methods; Monte Carlo methods; and reinforcement learning.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Special Note: Not available for credit to students who have completed CSCE A615.
May Be Stacked With: CSCE A615
Prerequisites: CSCE A311 with a minimum grade of C and (STAT A253 with a minimum grade of C or STAT A307 with a minimum grade of C).
CSCE A448 Computer Architecture 3 Credits
A quantitative approach to computer architecture and parallelism, which addresses both the software and hardware aspects of parallelism in modern computing systems. Specific emphasis will be placed on instruction-level, thread-level, data-level, task-level and request-level parallelism, and developing parallel application code in assembler and high-level languages for systems such as graphics processing units (GPUs).
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A248 with a minimum grade of C.
CSCE A462 Data Mining 3 Credits
Survey and application of techniques for classification, clustering and association rule mining. Covers rule-based, tree-based, statistical and regression approaches.
Special Note: Not available for credit to students who have completed CSCE A662.
May Be Stacked With: CSCE A662
Prerequisites: CSCE A360 with a minimum grade of C.
CSCE A465 Computer and Network Security 3 Credits
Analyzes computer software and network vulnerabilities, as well as security mechanisms to detect and defend against system attacks, such as authentication, access control and cryptography. Includes vulnerabilities introduced in programming, web development, network protocol design, operating systems and databases. Legal and ethical issues concerning privacy, intellectual property and computer crime will be discussed in the context of case studies.
Special Note: Not available for credit to students who have completed CSCE A665.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science, Bachelor of Science in Computer Systems Engineering, or Bachelor of Science in Electrical Engineering; or instructor approval
May Be Stacked With: CSCE A665
Prerequisites: CSCE A365 with a minimum grade of C and (ES A302 with a minimum grade of C or STAT A253 with a minimum grade of C or STAT A307 with a minimum grade of C).
CSCE A470 Computer Science and Engineering Capstone Project 3 Credits
Application of computer science and computer engineering concepts, principles and practices to develop a research, applied software development, or computer engineering project. The student will analyze, design, document, implement and deliver a presentation and written report of a research project or software/hardware system of moderate complexity under the supervision of the instructor and/or other faculty. Includes a discussion of ethical, professional and contemporary issues in technology and the impact of computing technology in a global and societal context.
Registration Restrictions: Senior standing, completion of GER Tier 1 (basic college-level skills) courses, admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
Prerequisites: CSCE A365 with a minimum grade of C and (WRTG A211 with a minimum grade of C or WRTG A212 with a minimum grade of C or WRTG A213 with a minimum grade of C or WRTG A214 with a minimum grade of C or WRTG A2W with a minimum grade of C) and ((CSCE A351 with a minimum grade of C and CSCE A401 with a minimum grade of C) or (CSCE A311 with a minimum grade of C and CSCE A342 with a minimum grade of C and CSCE A448 with a minimum grade of C)) and PHIL A305 with a minimum grade of C or concurrent enrollment.
Attributes: UAA Integrative Capstone GER.
CSCE A485 Computer and Machine Vision 3 Credits
Covers how computers perceive the visual world of humans. Includes image processing, segmentation, boundary detection, as well as identifying, reconstructing, and modeling objects from images and videos.
Special Note: Not available for credit to students who have completed CSCE A685.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science, the Bachelor of Science in Computer Systems Engineering, the Bachelor of Science in Electrical Engineering, or instructor approval
May Be Stacked With: CSCE A685
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A490 Selected Topics in Computer Science and Computer Systems Engineering 3 Credits
Advanced topics in computer science or computer systems engineering not taught in other CSCE course offerings.
Special Note: May be repeated for credit with change of subtitle. Not available for credit to students who have completed CSCE A690 with same subtitle.
Registration Restrictions: Admission to the Bachelor of Science in Computer Science, Bachelor of Science in Computer Systems Engineering, Bachelor of Science in Electrical Engineering, or instructor approval
May Be Stacked With: CSCE A690
CSCE A495 Computing Internship Project 3 Credits
Application of computer science or computer engineering skills in a professional work setting. The student will analyze, design, develop and document a realistic computing project of moderate complexity under the supervision of a qualified professional who has agreed in advance to undertake this role.
Registration Restrictions: Admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval.
Special Note: May be taken up to three times, but only 3 credits may be applied toward CS or CSE major requirements.
Prerequisites: CSCE A311 with a minimum grade of C.
CSCE A498 Individual Research 1-3 Credits
Students will engage in an independent research project under the supervision of a faculty member. The result will be a paper or presentation prepared to publication standards.
Special Note: May be repeated up to a maximum of 6 credits.
Registration Restrictions: Upper-division standing, admission to BS Computer Science, BS Computer Systems Engineering, or BS Electrical Engineering, or instructor approval
CSCE A601 Advanced Software Engineering 3 Credits
Coverage of current methodologies used to develop large software systems. Topics include requirements, specification, design, implementation, testing, project management, formal methods, maintenance and evolution. Seminar discussion of classic and current research articles in software engineering.
Registration Restrictions: Graduate standing
CSCE A603 Fundamentals of Data Science and Engineering 3 Credits
Covers concepts and practical skills in the field of data science. Emphasizes the essential knowledge and hands-on expertise required to work with data, including data collection, cleaning, visualization, and analysis. Cultivates problem-solving abilities in the context of data-centric applications.
Registration Restrictions: Graduate standing or instructor approval
Crosslisted With: EE AA603 and GIS A603
CSCE A605 Advanced Artificial Intelligence 3 Credits
Analysis, design and implementation of intelligent systems utilizing heuristics, local and adversarial search, first-order logic, knowledge representation techniques, and machine learning algorithms. Students will review published artificial intelligence research, write a research paper, and present research findings in a public forum.
Special Note: Not available for credit to students who have completed CSCE A405.
Registration Restrictions: Graduate standing
May Be Stacked With: CSCE A405
CSCE A612 Advanced Evolutionary Computing 3 Credits
Broad coverage of the field of evolutionary computing, including genetic algorithms, evolution strategies, evolutionary programming and genetic programming. Emphasis will be on the design, implementation, testing, debugging and verification of correct programs. Graduate students will be required to complete a literature review of recent research in evolutionary computation, write the results of that review in a research summary paper and complete a presentation of these findings in a public forum.
Special Note: Not available for credit to students who have completed CSCE A412.
Registration Restrictions: Graduate standing
May Be Stacked With: CSCE A412
CSCE A615 Advanced Machine Learning 3 Credits
Topics include linear discrimination; supervised, unsupervised and semi-supervised learning; multilayer perceptron; maximum-margin methods; Monte Carlo simulation; and reinforcement learning. Students are required to implement a research project that applies machine learning technique(s) to a unique and original data set, or to develop a technique that combines or modifies one or more machine learning algorithms.
Special Note: Not available for credit to students who have completed CSCE A415.
Registration Restrictions: Graduate standing
May Be Stacked With: CSCE A415
CSCE A662 Advanced Data Mining 3 Credits
Surveys and describes application of techniques for classification, clustering and association rule mining. Covers rule-based, tree-based, statistical and regression approaches. Requires a project involving an existing data set, including integration, formatting, conceptualization, hypothesis testing, analysis, evaluation and presentation of results.
Special Note: Not available for credit to students who have completed CSCE A462.
Registration Restrictions: Graduate standing
May Be Stacked With: CSCE A462
CSCE A665 Advanced Computer and Network Security 3 Credits
Analyzes computer software, network vulnerabilities and security mechanisms to detect and defend against system attacks. Discusses legal and ethical issues concerning privacy, intellectual property and computer crime. Students will be required to complete a research paper in computer and network security and complete a presentation of the research paper in a public forum.
Special Note: Not available for credit to students who have completed CSCE A465.
Registration Restrictions: Graduate standing
May Be Stacked With: CSCE A465
CSCE A671 Research Methods in Computer Science and Engineering 3 Credits
Covers skills and research methods utilized in computer science and engineering research, including empirical and theoretical research. Discusses the steps in conducting a literature review, writing research proposals and papers, writing a thesis, hypothesis testing, delivering a research presentation, and ethical conduct.
Registration Restrictions: Graduate standing
CSCE A685 Advanced Computer and Machine Vision 3 Credits
Covers how computers perceive the visual world of humans. Includes image processing, segmentation, boundary detection, as well as identifying, reconstructing, and modeling objects from images and videos.
Special Note: Not available for credit to students who have completed CSCE A485.
Registration Restrictions: Graduate standing
May Be Stacked With: CSCE A485
CSCE A690 Selected Topics in Computer Science and Computer Systems Engineering 3 Credits
Examines advanced topics in computer science and computer science engineering. A research summary paper and research presentation is required.
Special Note: May be repeated once with change of subtitle. Not available for credit to students who have completed CSCE A490 with same subtitle.
Registration Restrictions: Graduate standing or instructor approval
May Be Stacked With: CSCE A490
CSCE A695 Professional Internship 3 Credits
Applies data science and/or data engineering skills in a professional work setting. Arranges assignments and projects with cooperating organizations and agencies.
Registration Restrictions: Graduate standing and instructor approval
Crosslisted With: EE A695 and GIS A695
CSCE A698 Individual Research 3 Credits
Students will engage in independent research projects under the supervision of a faculty member. The result will be a research paper prepared to publication standards with the goal of submission for publication in a refereed journal or conference.
Special Note: May be repeated for a maximum of 6 credits.
Registration Restrictions: Graduate standing and instructor permission
CSCE A698A Project 3 Credits
Arranges a project among the advisor, graduate advisory committee and student to solve a practical computer science or computer engineering problem.
Special Note: May be repeated once for credit.
Registration Restrictions: Graduate standing or instructor approval
CSCE A699 Thesis 1-6 Credits
Independent research conducted under the supervision of a thesis committee. Students must investigate a state-of-the-art computer engineering or computer science research topic, write a detailed proposal, identify a thesis advisor, obtain the advisor's approval to conduct the proposed research, complete the research and write a thesis that is approved by the committee.
Special Note: A maximum of 6 credits may be applied toward degree requirements for the MS in Computer Engineering and Computer Science.
Registration Restrictions: Admission to the MS in Computer Engineering and Computer Science program and permission of thesis advisor.