Description: [ES] Intended for non-CSCE majors who desire a deeper understanding of computers and the work of computer scientists. CSCE 101 is a course in the science of computation and is suitable for non-CSCE majors and prospective CSCE majors.
Introduction to the breadth of computer science. Hardware, software, networks, theory, and social issues.
CSCE101L Fundamentals of Computing Laboratory (1 cr) Lab 3
Prereq: CSCE 101 or parallel.
Description: [ES] Will not count towards the requirements for a major or minor in computer science and computer engineering. A variety of computer oriented exercises using many software tools is presented which supplement and are coordinated with the topics taught in CSCE101. Students are exposed to programming, operating systems, simulation software, spreadsheets, database software, the Internet, etc. Applications software introduced in the context of tools to explore the computer science topics and as alternatives to traditional programming languages. Emphasis on learning by experiment, with a goal of developing problem solving skills. A major component is the study of a programming language-the choice of which may vary by course section.
CSCE150A Introduction to Problem Solving with Computers 3 cr Lec 3
Prereq: 4 years high school mathematics
Description: [ES] CSCE150A is designed to develop skills in programming and problem solving to prepare for CSCE155. CSCE150A, CSCE150E, and CSCE150M do not count toward the requirements for the major in computer science and computer engineering. Credit toward the degree may be earned in only one of: CSCE150A or CSCE150E or CSCE150M or CSCE252A
Problem solving with a computer and programming fundamentals using a popular high-level language. Logic and functions that apply to computer science; elementary programming constructs, type, and algorithmic techniques.
CSCE150E Introduction to Computer Programming (3 cr) Lec 3, lab 1
Prereq: 4 years high school mathematics
Description: [ES] CSCE150E is designed for computer applications in the sciences and engineering. CSCE150A, CSCE150E, and CSCE150M do not count toward the requirements for the major in computer science and computer engineering. Credit towards the degree may be earned in only one of: CSCE150A or CSCE150E or CSCE150M or CSCE252A.
Introduction to computers and problem-solving with computers for applications in the sciences and engineering. Problem analysis and specification, algorithms, programming in a high-level language, and data representation and processing.
CSCE150M Multimedia Approah to Computing (3cr) Lec 3
Prereq: Four years high school mathematics.
Description: [ES] CSCE150M is designed to develop skills in programming, problem solving, and multimedia applications. CSCE150A, CSCE150E, and CSCE150M do not count toward the requirements for the major in computer science or the major in computer engineering. Credit towards the degree may be earned in only one of: CSCE150A or CSCE150E or CSCE150M or CSCE252A.
Computer-based problem solving and programming fundamentals using a popular high-level programming language and the creation and manipulation of media including audio, video, and images. Algorithims, data structures, control structures, information encoding, and object-oriented programming.
CSCE151 Multimedia Approach to Computing 3 cr (Not Currently Offered)
Prereq: 4 years high school mathematics.
Description: Intended to develop skills in programming and problem solving to prepare students for CSCE 155. Computer based problem solving and programming fundamentals using a popular high-level programming language and the creation and manipulation of media including audio, video and images. Computer Science topics including algorithms, data structures, mathematics, information encoding and object-oriented programming.
CSCE155 Computer Science I (4 cr) Lec 3, Lab 2.
Prereq: Appropriate score on the CSE Placement Exam or a grade of
Description: (ACE 3) [ES] Prereq: CSCE105 and MATH103 (or appropriate scores on placement exams).
Introduction to problem-solving with computers. Object-oriented problem analysis and specification, algorithm development, program design, implementation, testing, and debugging. Event-driven programming, inheritance, polymorphism, data abstraction, encapsulation, documentation, recursion, exception handling, and graphical user interface design.
CSCE155H Honors: Computer Science I (4cr) Lec 3; lab 2
Prereq: Good Standing in Honors Progam or by invitation; appropriate score on the CSE Placement Exam or a grade of
Description: (ACE 3) [ES] Prereq: Good standing in the University Honors Program or by invitation; appropriate score on the CSE Placement Exam or a grade of "Pass" or "C" or better in CSCE150A or 150E or 150M; MATH103. CSCE155H covers the same topics as CSCE155, but in greater depth.
For course description, see CSCE155.
CSCE156 Computer Science II (4 cr) Lec 3, lab 2.
Prereq: Appropriate score on the CSE Placement Exam or a grade of
Description: (ACE 3) [ES] Prereq: Appropriate score on the CSE Placement Exam or a grade of "P" or "C" or better in CSCE155 or 155H; MATH106 or equivalent. Laboratories supplement the lecture material and give an opportunity to practice concepts. Different programming languages, the use of data structures, implementation of a three-tier application. Basic programming language paradigms, memory management, pointers and references, declarations and types, and abstract mechanisms; using, implementing, and introduction to analysis of basic data structures. Linked-lists, stacks, queues, and trees; searching and sorting; databases, table design, SQL queries, and use in applications.
CSCE156H Honors: Computer Science II (4 cr) Lec 3, lab 2.
Prereq: Good standing in the University Honors Program or by invitation; appropriate score on the CSE Placement Exam or a grade of
Description: CSCE156H covers the same topics as CSCE156, but in greater depth. Laboratories supplement the lecture material and give an opportunity to practice concepts.
For course description, see CSCE156.
CSCE183H, RAIK183H Honors: Coputer Problem Solving Essentials (4 cr) Lec 3, rct 1.
Prereq: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management.
Description: (ACE 3) [ES] CSCE/RAIK183 is the first course in the Jeffrey S. Raikes School of Computer Science and Management core. CSCE/RAIK183 has programming laboratory activities.
Introduction to problem solving with computers. Problem analysis and specification, algorithim development, program design, and implementation. JAVA in a Windows platform.
CSCE184H, RAIK184H Honors: Software Development Essentials (4 cr) Lec 4
Prereq: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management; and CSCE/RAIK183H
Description: [ES] CSCE/RAIK184H is the second course in the Jeffrey S. Raikes School of Computer Science and Management core.
Problem solving with computers. Problem analysis and specification, data structures, relational databases, algorithim development, and program design and implementation. Discrete mathematics topics, propositional and predicate logic, sets, relations, functions, and proof techniques. C++, SQL, Windows, Stand Template Library, and Software Development Principles.
CSCE190 Special Topics in Computer Science (1-3 Cr. Max 6)
Prereq: Permission
Description: CSCE190 will not count towards a major or minor in computer science and computer engineering.
Aspects of computers and computing at the freshman level for non-computer science and computer engineering majors and/or minors. Topics will vary.
CSCE196 Special Topics in Computer Science 1-3 cr, max 6
Prereq: Permission
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
CSCE230 Computer Organization (3 cr) Lec 3, rct1.
Prereq: Grade of
Description: [ES] [IS] Introduction to the organization and structure of computer systems. Topics include: Boolean Logic, Digital Arithmetic, Processor Organization, Machine Language Programming, Input/Output, Memory Organization, System Support Software, and Communication.
CSCE230H Honors: Computer Organization (3 cr) Lec 4
Prereq: Good Standing in UNL Honors Program or by invitation; grade of "P" or "C" or better in CSCE101 or 105 or 150 or 155 or 155H, or detailed knowledge of a high-level programming language; parallel CSCE230L
Description: [ES][IS] CSCE230H covers the same topics as CSCE230, but in greater depth. For course description, see CSCE230.
CSCE230L Computer Organization Laboratory (1cr) Lab 2
Prereq: Grade of "P" or "C" or better in CSCE101 or 105 or 150 or 155 or 155H, or detailed knowledge of a high-level programming language; parallel CSCE230/230H
Description: [ES] CSCE230L includes a project designing and implementing a processor.
Computer-aided tools to provide practice and reinforcement of concepts and techniques learned in CSCE230 or 230H. Assembler programming and arithmetic and logic function design.
CSCE235 Introduction to Discrete Structures (3 cr) Lec 3, rct 1.
Prereq: Grade of "P" or "C" or better in CSCE155/155H; MATH106/108H or equivalent.
Description: [ES] Theoretical concepts with programming assignments.
Survey of elementary discrete mathematics. Elementary graph and tree theories, set theory including relations and functions, propositional and predicate logic, methods of proof, induction, recurrence relations, principles of counting, elementary combinatorics, and asymptotic notations. Homework will emphasize theoretical concepts and will be augmented with programming assignments.
CSCE251 Unix Programming (1 cr) Lec 1, Lab 1
Prereq: Familiarity with at least one high level programming language.
Description: Introduction to the Unix operating system. Unix file system. Unix tools and utilities. Shell programming.
CSCE251K C Programming (1 cr) Lec 1
Prereq: Familiarity with one high-level programming language
Description: Required of computer science and engineering majors who do not know C, but who have knowledge of another high-level language. Introduction to the C programming language.
CSCE252A FORTRAN Programming (1 cr) Lec 1
Prereq: Prereq: Familiarity with one high-level programming language.
Description: Credit towards the degree may be earned in only one of: CSCE150A or CSCE150E or CSCE150M or CSCE252A.
Principles and practice of FORTRAN programming.
CSCE283H, RAIK283H Data Structures and Algorithms (3 cr) Lec 3, rct 2.
Prereq: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management; and CSCE/RAIK184H
Description: CSCE/RAIK283H is the third course in the Jeffrey S. Raikes School of Computer Science and Management core.
Advanced data structures and algorithms that solve common problems and standard approaches to solving new problems. Analysis and comparison of algorithms, asymptotic notation and proofs of correctness. Discrete mathematics. Induction and principles of counting and combinatorics as foundation for analysis.
CSCE284H, RAIK284H Honors: Foundations of Computer Systems (4 cr) Lec 4, rct 1.
Prereq: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management; and CSCE/RAIK283H.
Description: Fourth course in the Jeffrey S. Raikes School of Computer Science and Management core.
Introduction to fundamental organization and structure of computer systems. Topics include Boolean logic, data representation, processor organization, input/output, memory organization, system support software and communication.
CSCE290 Special Topics in Computer Science 1-3 cr, max 6
Prereq: Permission
Description: CSCE290 will not count towards a major or minor in computer science and engineering.
Aspects of computers and computing for non-computer science and computer engineering majors and/or minors. Topics vary.
CSCE296 Special Topics in Computer Science 1-3 cr, max 6
Prereq: Permission
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
CSCE301H, BSAD301H, RAIK301H Honors: RAIK Design Studio I (3 cr) Lec 3, lab.
Prereq: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; BSAD/RAIK282H; and CSCE/RAIK284.
Description: First semester of Jeffrey S. Raikes School of Computer Science and Management design studio sequence.
For course description, see RAIK301H
CSCE302H, BSAD302H, RAIK302H Honors: RAIK Design Studio II (3 cr) Lec 3, lab
Prereq: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; and BSAD/CSCE/RAIK301H
Description: Second semester in the Jeffrey S. Raikes School of Computer Science and Management design studio sequence.
For course description, see 302H.
CSCE310 Data Structures and Algorithms (3 cr) Lec 3, rct 1.
Prereq: Grade of
Description: [IS] Theoretical concepts with programming assignments.
Algorithm analysis, asymptotic notation, and solving recurrence relations. Basic data structures (linked-lists, stacks, queues). Advanced data structures and their associated algorithms, heaps, priority queues, hash tables, trees, binary search trees, and graphs. Advanced sorting algorithms, and algorithmic techniques, randomization, divide and conquer, greedy algorithms, dynamic programming, and distributed algorithms. Introduction to computability and NP-completeness.
CSCE322 Programming Language Concepts (3 cr) Lec 3
Prereq: Grade of "Pass" or "C" or better in CSCE156/156H and 230.
Description: List-processing, string-processing, and other types of high-level programming languages. Fundamental concepts of data types, control structures, operations, and programming environments of various programming languages. Analysis, formal specification, and comparison of language features.
CSCE340, CSCE840 Numerical Analysis I (3 cr) Lec 3.
Prereq: Grade of "Pass" or "C" or better in CSCE150E or 155/155H; MATH208/208H.
Description:Credit toward the degree may be earned in only one of the following: CSCE/MATH340/840 and ENGM480/880.
Algorithm formulation for the practical solution of problems, interpolation, roots of equations, differentiation, and integration. Effects of finite precision.
CSCE351 Operating Systems Kernels (3 cr) Lec 2, lab 2
Prereq: Grade of "Pass" or "C" or better in CSCE150E or 155/155H; MATH208/208H.
Description: Lab content reinforces concepts through practice.
Design and implementation of operating system kernels. Bootstrapping and system initialization, process context switching, I/O hardware and software, DMA, I/O polling, interrupt handlers, device drivers, clock management. Substantial programming implementing or extending an instructional operating system kernel.
CSCE361 Software Engineering (3 cr) Lec 3
Prereq: Grade of "Pass" or "C" or better in CSCE310.
Description: [IS] CSCE361 requires participation in a group design and implementation of a software project.
Techniques used in the disciplined development of large software projects. Software requirements analysis and specifications, program design, coding and integration testing, and software maintenance. Software estimation techniques, design tools, and complexity metrics.
CSCE378 Human-Computer Interaction (3 cr)
Prereq: CSCE 156. STAT380 recommended.
Description: [IS] Knowledge and techniques useful in the design of computing systems for human use. Includes models of HCI, human information processing characteristics important in HCI, computer system features, such an input and output devices, dialogue techniques, and information presentation, task analysis, prototyping and the iterative design cycle, user interface implementation, interface evaluation.
CSCE378H Honors: Human-Computer Interaction (3 cr) Lec 3 (Not Currently Offered)
Prereq: CSCE310 or CSCE283H. Good standing in the University Honors Program or by instructor permission.
Description: Honors: Human-Computer Interaction (3 cr) Lec 3. Prereq: CSCE310 or CSCE283H. Good standing in the University Honors Program or by Instructor permission. CSCE378H covers the same topics as CSCE378, but in greater depth or with topical emphasis. For course description, see CSCE378.
CSCE383H, RAIK383H Honors: Fundamentals of Software Engineering ( 3 cr) Lec 3
Prereq: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management; CSCE/RAIK284H.
Description: Fifth course in the Jeffrey S. Raikes School of Computer Science and Management core.
Proper principles and methods of engineering software. Requirements, design, implementation, management and software evolution.
CSCE384H, RAIK384H Honors: Applied Numerical Analysis (3 cr) Lec 3
Prereq: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management; and CSCE/RAIK284H; parallel BSAD/RAIK382H
Description:Sixth course in the Jeffrey S. Raikes School of Computer Science and Management core.
Application of established numerical analysis techniques to selected business and finance problems, finite difference applied to standard options or stochastic processes in modeling financial markets.
CSCE390 Special Topics in Computer Science 1-3 cr, max 6
Prereq: Permission
Description:CSCE390 will not count towards a major or minor in computer science and computer engineering.
Aspects of computers and computing for non-computer science and computer engineering majors and/or minors. Topics vary.
CSCE396 Special Topics in Computer Science 1-3 cr, max 6
Prereq: Permission
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
CSCE399H Honors Thesis (3 cr)
Prereq: Open to students in the honors program and to candidates for degrees with distinction, with high distinction, and with highest distinction.
Description:
CSCE401H, BSAD401H, RAIK401H Honors: RAIK Design Studio III (3 cr) Lec 3, lab.
Prereq: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; and BSAD/CSCE/RAIK302H.
Description:Third semester in the Jeffrey S. Raikes School of Computer Science and Management design studio sequence.
For course description, see RAIK402H.
CSCE402H, BSAD402H, RAIK402H Honors: RAIK Design Studio IV (3 cr) Lec 3, lab.
Prereq: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; and BSAD/CSCE/RAIK401H
Description:Fourth semester in the Jeffrey S. Raikes School of Computer Science and Management design studio sequence.
For course description, see RAIK402H.
CSCE410, CSCE810 Information Retrieval Systems (3 Cr.) Lec 3.
Prereq: CSCE235, 310, or permission
Description: Outline of the general information retrieval problem, functional overview of information retrieval. Deterministic models of information retrieval systems; conventional Boolean, fuzzy set theory, p-norm, and vector space models. Probabilistic models. Text analysis and automatic indexing. Automatic query formulation. System-user adaptation and learning mechanisms. Intelligent information retrieval. Retrieval evaluation. Review of new theories and future directions. Hands-on experience with a working experimental information retrieval system.
CSCE413, CSCE813 Database Systems (3 cr) Lec 3.
Prereq: CSCE 310.
Description: CSCE413/813 involves practical experience with a working database system.
Data and storage models for database systems; entity/relationship, relational, and constraint models; relational databases; relational algebra and calculus; structured query language; logical database design: normalization, integrity; distributed data storage; concurrency; security issues. Spatial databases and geographic information systems.
CSCE421, CSCE821 Foundations of Constraint Processing (3 cr) Lec 3.
Prereq: CSCE310 and 476.876
Description:Constraint processing for articulating and solving industrial problems such as design, scheduling, and resource allocation. The foundations of constraint satisfaction, its basic mechanisms (e.g., search, backtracking, and consistency-checking algorithms), and constraint programming languages. New directions in the field, such as strategies for decomposition and for symmetry identification.
CSCE423, CSCE823 Design and Analysis of Algorithms (3 cr)
Prereq: CSCE 310
Description:[IS] Mathematical preliminaries. Strategies for algorithm design, including divide-and-conquer, greedy, dynamic programming and backtracking. Mathematical analysis of algorithms. Introduction to NP-Completeness theory, including the classes P and NP, polynomial transformations and NP-complete problems.
CSCE424, CSCE 824 Computational Complexity Theory (3 cr)
Prereq: CSCE 235 and 310
Description: Turing machine model of computation: deterministic, nondeterministic, alternating, probabilistic. Complexity classes: Time and space bounded, deterministic, nondeterministic, probabilistic. Reductions and completeness. Complexity of counting problems. Non-uniformity. Lower bounds. Interactive proofs.
CSCE425, CSCE825 Compiler Construction (3 cr) Lec 3.
Prereq: CSCE310
Description:Review of program language structures, translation, loading, execution, and storage allocation. Compilation of simple expressions and statements. Organization of a compiler including compile-time and run-time symbol tables, lexical scan, syntax scan, object code generation, error diagnostics, object code optimization techniques, and overall design.
CSCE428, CSCE828 Automata, Computation and Formal Languages (3 cr) Lec 3.
Prereq: CSCE 310
Description: Introduction to the classical theory of computer science. Finite state automata and regular languages, minimization of automata. Context free languages and pushdown automata, Turing machines and other models of computation, undecidable problems, introduction to computational complexity.
CSCE430, CSCE 830 Computer Architecture (3 cr) Lec 3.
Prereq: CSCE230 and 310; parallel STAT/MATH380 or ELEC305.
Description: Credit not applicable toward graduate degree in computer science. Addresses the architecture of single-processor (Von Neumann or SISD) computer systems. Evolution, design, implementation, and evaluation of state-of-the-art systems. Memory Systems, including interleaving, hierarchies, virtual memory and cache implementations; Communications and I/O, including bus architectures, arbitration, I/O processor and DMA channels; and Central Processor Architectures, including RISC and Stack machines, high-speed arithmetic, fetch/execute overlap, and parallelism in a single-processor system.
CSCE432, CSCE832 High Performance Processor Architecture (3 cr) Lec 3
Prereq: CSCE430; MATH314; MATH/STAT380 or ELEC410.
Description:CSCE432 assumes knowledge of computer architecture, pipelining, memory hierarchy, instruction level parallelism, and compiler principles.
High performance computing at the processor level. The underlying principles and micro-architectures of contemporary high-performance processors and systems. State-of-the-art architectural approaches to exploiting instruction level parallelism for performance enhancements. Case studies of actual systems highlight real-world trade-offs and theories.
CSCE434, CSCE834 VLSI Design (3 cr) Lec 3
Prereq: CSCE335 or permission.
Description: Introduction to VLSI design using metal-oxide semiconductor (MOS) devices primarily aimed at computer science majors with little or no background in the physics or circuitry of such devices. Includes design of nMOS and CMOS logic, data-path, control unit, and highly concurrent systems as well as topics in design automation.
CSCE435, CSCE835 Cluster and Grid Computing (3 cr) Lec 3.
Prereq: CSCE 310 or equivalent programming experience
Description: CSCE435/835 is designed for CSCE and non-CSCE students who have an interest in building or programming clusters to enhance their computationally-intense research.
Build and program clusters. Cluster construction, cluster administration, cluster programming, and grid computing.
CSCE437, CSCE837 File and Storage Systems (3 cr) Lec 3
Prereq: CSCE351 or 451/851; CSCE430/830.
Description: CSCE437/837 requires the designing and implementation of a real-life file and storage system.
System-level and device-level topics in the design, implementation, and use of file and storage systems. Components and organization of storage systems, disk drive hardware and firmware, multi-disk systems, RAIDs, local distributed and P2P file systems, and low-power designs.
CSCE441, CSCE841, MATH 441, MATH841 Approximation of Functions (3 cr) Lec 3
Prereq: A programming language, MATH221 and 314.
Description: Polynomial interpolation, uniform approximation, orthogonal polynomials, least-first-power approximation, polynomial and spline interpolation, approximation and interpolation by rational functions.
CSCE447, CSCE847 Numerical Analysis II (3 cr) Lec 3.
Prereq: CSCE 340, Math 221 and 314
Description: Numerical matrix methods and numerical solutions of ordinary differential equations
CSCE451, CSCE 851 Operating Systems Principles (3 cr) Lec 3
Prereq: CSCE 230 and CSCE 310.
Description: Credit will not count towards a graduate degree in computer science and computer engineering.
Organization and structure of operating systems. Control, communication, and synchronization of concurrent processes. Processor and job scheduling. Memory organization and management including paging, segmentation, and virtual memory. Resource management. Deadlock avoidance, detection, recovery. File system concepts and structure. Protection and security. Substantial programming.
CSCE455,CSCE855 Distributed Operating Systems (3 cr) Lec 3
Prereq: CSCE451/851
Description: CSCE455/855 requires a substantial programming project in distributed systems.
Organization and structure of distributed operating systems. Control, communication, and synchronization of concurrent processes in the context of distributed systems. Processor allocation and scheduling. Deadlock avoidance, detection, recovery in distributed systems. Fault tolerance. Distributed file system concepts and structure.
CSCE456, CSCE856 Parallel Algorithms and Programming (3 cr)
Prereq: CSCE 310 or equivalent programming experience.
Description: Introduction to the fundamentals of parallel computation and applied algorithm design. Methods and models of modern parallel computation; general techniques for designing efficient parallel algorithms for distributed and shared memory multi-processor machines; principles and practice in programming an existing parallel machine.
CSCE457, CSCE857 Systems Administration (3 cr) Lec 3
Prereq: CSCE310 or equivalent programming experience.
Description: Introduction to basic concepts of system administration. Topics covered include operating systems and networking overview. User and resource management. Networking, systems and internet related security. System services and common applications, web services, database services, and mail servers. Basic scripting in shell, Perl® and Expect®. Systems administration on UNIX® platform.
CSCE462,CSCE862 Communication Networks (3 cr) Lec 3
Prereq: CSCE 230 and 310; STAT/MATH380 or STAT880.
Description:Introduction to the architecture of communication networks and the rudiments of performance modeling. Circuit switching, packet switching, hybrid switching, protocols, local and metro area networks, wide area networks and the Internet, elements of performance modeling, and network programming. Network security, asynchronous transfer mode (ATM), optical, wireless, cellular, and satellite networks, and their performance studies.
CSCE463, CSCE863 Introduction to Coding Theory (3 cr)
Prereq: CSCE 310, Math 314/814, Math 380 or equivalent.
Description: An introduction to the theory of Error Correcting Codes. The topics to be covered include the binary symmetric channel, probability of error, finite fields, linear codes, dual codes, parity check and generator matrices, standard array, maximum likelihood decoding, sphere packing bound, Plotkin and other bounds, Hamming codes, Perfect Codes, Cyclic codes, BCH codes, Reed-Solomon codes, Reed-Muller codes.
CSCE464, CSCE864 Internet Systems and Programming (3 cr) Lec 3
Prereq: CSCE310
Description:Paradigms, systems, and languages for Internet applications. Client-side and server-side programming, object-based and event-based distributed programming, and multi-tier applications. Coverage of specific technologies varies.
CSCE465, CSCE865 (865 T) Introduction to Mathematical Logic I 3 cr (Not Currently Offered)
Description: Semantical and syntactical developments of propositional logic, discussion of several propositional calculi, applications to Boolean algebra and related topics, semantics and syntax of first-order predicate logic including Godel's completeness theorem, the compactness theorem.
CSCE466, CSCE866 Software Design Methodologies 3 cr Lec 3 (Not Currently Offered)
Prereq: CSCE 310 or permission
Description: Analysis and design for software systems development, including problem analysis, requirements specification, usability, software system models, maintenance and enhancement. Understanding of methodologies and skills in the practice of design, including design and integration within existing systems. Design of both functional and structural aspects of software that is of sufficient size and complexity as to require the efforts of several people for many months.
CSCE467, CSCE867 Software Quality (3 cr) Lec 3
Prereq: CSCE310 or permission
Description: Initial and ongoing software analysis, including metrics, requirements, correctness, performance, testing and validation. Frameworks and methods for software quality. Benchmarks and testing, processes for quality assurance, performance and quality models, software quality tools, testable designs and automated testing.
CSCE470, CSCE870 Computer Graphics (3 cr) Lec 3
Prereq: CSCE310 and MATH314/814
Description:Display and recording devices; incremental plotters; point, vector, and character generation; grey scale displays, digitizers and scanners, digital image storage; interactive and passive graphics; pattern recognition; data structures and graphics software; the mathematics of three dimensions; homogeneous coordinates; projections and the hidden-line problem.
CSCE471, CSCE871 Introduction to Bioinformatics (3 cr) Lec 3
Prereq: CSCE310; STAT/MATH380 or STAT880
Description:Fundamentals and trends in bioinformatics. Scoring matrices and pairwise sequence alignments via dynamic programming. BLAST, and other heuristics. Multiple sequence alignments. Applications of machine learning methods such as hidden Markov models and support vector machines to biological problems such as family modeling and phylogeny.
CSCE472, CSCE872 Digital Image Processing (3 cr) Lec 3
Prereq: CSCE156 or permission.
Description: Digital imaging systems, digital image processing, and low-level computer vision. Data structures, algorithms, and system analysis and modeling. Digital image formation and presentation, image statistics and descriptions, operations and transforms, and system simulation. Applications include system design, restoration and enhancement, reconstruction and geometric manipulation, compression, and low-level analysis for computer vision.
CSCE473, CSCE873 Computer Vision (3 cr) Lec 3
Prereq: CSCE156 or permission.
Description:High-level processing for image understanding and high-level vision. Data structures, algorithms, and modeling. Low-level representation, basic pattern-recognition and image-analysis techniques, segmentation, color, texture and motion analysis, and representation of 2-D and 3-D shape. Applications for content-based image retrieval, digital libraries, and interpretation of satellite imagery.
CSCE474, CSCE874 Introduction to Data Mining (3 cr) Lec 3
Prereq: CSCE310; STAT/MATH380 or STAT880.
Description:CSCE474/874 requires the completion of a project involving the application of data mining techniques to real-world problems.
Data mining and knowledge discovery methods and their application to real-world problems. Algorithmic and systems issues. Statistical foundations, association discovery, classification, prediction, clustering, spatial data mining and advanced techniques.
CSCE475, CSCE875 Multiagent Systems (3 cr) Lec 3
Prereq: CSCE310
Description: [IS] Distributed problem solving and planning, search algorithms for agents, distributed rational decision making, learning multiagent systems, computational organization theory, formal methods in Distributed Artificial Intelligence, multiagent negotiations, emergent behaviors (such as ants and worms), and Robocup technologies, and real-time coalition formation.
CSCE476, CSCE876 Introduction to Artificial Intelligence (3 cr) Lec 3
Prereq: CSCE310
Description:Introduction to basic principles, techniques, and tools now being used in the area of machine intelligence. Languages for AI programming introduced with emphasis on LISP. Lecture topics include problem solving, search, game playing, knowledge representation, expert systems, and applications.
CSCE476H Honors: Introduction to Artificial Intelligence (3 cr) Lec 3 (Not Currently Offered)
Prereq: CSCE310 or CSCE283H. Good standing in the University Honors Program or by permission.
Description: Honors: Introduction to Artificial Intelligence (3 cr) Lec 3. CSCE476H covers the same topics as CSCE476, but in greater depth or with topical emphasis. For course description, see CSCE476.
CSCE477, CSCE877 Cryptography and Computer Security (3 cr) Lec 3
Prereq: CSCE 310, Math 314/814 or equivalent
Description: Introductory course on cryptography and computer security. Topics: classical cryptography (substitution, Vigenere, Hill and permutation ciphers, and the one-time pad); Block ciphers and stream ciphers; The Data Encryption Standard; Public-key cryptography, including RSA and El-Gamal systems; Signature schemes, including the Digital Signature Standard; Key exchange, key management and identification protocols.
CSCE478, CSCE 878 Introduction to Machine Learning (3 cr) Lec 3
Prereq: CSCE 310. STAT 380 recommended.
Description: Introduction to the fundamentals and current trends in machine learning. Possible applications for game playing, text categorization, speech recognition, automatic system control, data mining, computational biology, and robotics. Theoretical and empirical analyses of decision trees, artificial neural networks, Bayesian classifiers, genetic algorithms, and instance-based classifiers and reinforcement learning.
CSCE479, CSCE879 Introduction to Neural Networks (3 cr) Lec 3
Description: Introduction to the concepts, design and application of connection-based computing begins by simulating neural networks, focusing on competing alternative network architectures, including sparse distributed memories, Hopfield networks, and the multilayered feed-forward systems. Construction and improvement of algorithms used for training of neural networks addressed to reduce training time and improve generalization. Algorithms for training and synthesizing effective networks are implemented in high level language programs running on conventional computers. Emphasis on methods for synthesizing and simplifying network architectures for improved generalization. Application areas include: pattern recognition, computer vision, robotics, medical diagnosis, weather and economic forecasting.
CSCE486 Computer Science Professional Development (1 cr) Lec 1
Prereq: CSCE361
Description: CSCE486 must be taken exactly one semester before CSCE487. Preparation for the senior design project. Professional practice through familiarity with current tools, resources, and technologies. Professional standards, practices, and ethics, and the oral and written report styles used specifically in the field of computer science.
CSCE487 Computer Science Design Project (3 cr) Lec 3
Prereq: Senior standing; CSCE361 and 486.
Description: (ACE 10) [IS] CSCE487 uses the team approach to undertake a substantial, broadly-definted project requiring aggregation of the technical and analytical skills learned in other CSCE courses.
CSCE488 Computer Engineering Professional Development (2 cr) Lec 2
Prereq: JGEN200; ELEC362 and 476, or parallel; CSCE430/830 or parallel; formal admission to College of Engineering.
Description:CSCE488 is a preparation course for the computer engineering Senior Design Project (CSCE489). CSCE488 and 489 are a sequence of courses that are to be taken in consecutive terms.
Professional practice through familiarity and practice with current tools, resources, and technologies; professional standards, practices, and ethics; and oral and written report styles used in the computer engineering field.
CSCE489 Computer Engineering Senior Design Project
Prereq: ELEC 362 and 476; CSCE 430 and 488 (488 must be taken first and in the term previous to registering for CSCE 489. Permission must be obtained to take the courses out of sequence.)
Description: (ACE 10) [IS] Students are organized into teams to undertake a substantial design project proposed and supervised by the instructor. All teams are given a broadly defined design problem containing aspects of both software and hardware design. Projects are of sufficient complexity as to require team members to partition and coordinate their efforts for successful completion. Written technical reports and oral presentations are essential parts of this course.
CSCE490, CSCE 890 Special Topics in Computer Science 1-3 cr, max 6
Prereq: Permission
Description: CSCE 490/890 will not count towards a major or minor in computer science and computer engineering.
Aspects of computers and computing for non-computer science and computer engineering majors and/or minors. Topics vary.
CSCE491 Internship in Computing Practice (1-3 cr, max 6)
Prereq: CSCE310 and permission
Description: CSCE491 requires a detailed project proposal and final report. Experiential learning in conjunction with an approved industrial or governmental agency under the joint supervision of an outside sponsor and a faculty advisor.
CSCE496, CSCE896 Special Topics in Computer Science (1-3 cr per sem, max 6)
Prereq: Senior or graduate standing
Description:Aspects of computers and computing not covered elsewhere in the curriculum presented as the need arises.
CSCE496H Honors: Special Topics in Computer Science (3 cr)
Prereq: Good standing in the University Honors Program or by invitation, specific course prerequisites will vary depending on the topic.
Description:
CSCE498, CSCE898 Computer Problems 3 cr
Prereq: Senior or graduate standing
Description: Independent project executed under the guidance of a member of the faculty of the Department of Computer Science. Solution and documentation of a computer problem demanding a thorough knowledge of either the numerical or nonnumerical aspects of computer science.
CSCE891 Internship in Computer Practice 1 (Not Currently Offered)
Description:
A detailed project proposal must be prepared by the student and approved by the department prior to the start of the project. A final report must be submitted. Experiential learning in conjunction with an approved industrial or governmental agency under the joint supervision of an outside sponsor and a faculty member.
CSCE897 Masters Project (1-6 cr)
Prereq: Permission of adviser
Description:
CSCE899 Masters Thesis 6-10
Prereq: Admission to masters degree program and permission of major adviser
Description:
CSCE910 Information Organization and Retrieval 3
Prereq: CSCE810
Description:
Aspects of natural language processing on digital computers. Analysis of information content by statistical, syntactic, and logical methods. Search and matching techniques. Automatic retrieval systems, question-answering systems. Evaluation of retrieval effectiveness
CSCE913 Advanced Topics in Database Systems 3
Prereq: CSCE 813
Description:
Database system topics, coverage varying from year to year. Examples: Normalization theory; statistical databases; distributed databases; failure recovery; implementation issues.
CSCE914 Constraint Database Systems 3
Prereq: CSCE 813 or 913 and permission
Description:
Introduction to constraint database systems. Constraint data model, constraint query languages, query optimization and evaluation, constraint data storage and applications. Assignments in both use and the implementation of systems.
CSCE920 Formal Languages 3
Prereq: CSCE 820 and 828 or permission
Description:
Definition of formal grammars; arithmetic expressions and precedence grammars, context-free and finite-state grammars. Algorithms for syntactic analysis; recognizers, backtracking, operator precedence techniques. Semantics of grammatical constructs; reductive grammars. Floyd productions, simple syntactical compilation. Relationship between formal languages and automata.
CSCE923 Development and Analysis of Efficient Algorithms 3
Prereq: CSCE 820 and 827
Description:
Analysis of performance of algorithms on random access machines and Turing machines, data structures for design of efficient algorithms, sorting algorithms, divide and conquer strategies, algorithms on graphs and their performance bounds, pattern matching algorithms, achievable lower bounds on complexity, NP complete problems.
CSCE924 Graph Algorithms 3
Prereq: CSCE 827, MATH 852, or permission
Description:
Review concepts related to analysis of algorithms and graph theory. Classical graph theoretic algorithms including Eulerian paths, Hamiltonian circuits, shortest paths, network flows and traveling salesman. Planar graph algorithms. Theory of alternating chains and algorithms for graph matching problems. Approximate and parallel algorithms. Applications of graph algorithms to engineering and physical sciences.
CSCE925 Scheduling Theory 3
Prereq: Permission
Description:
Scheduling theory with particular emphasis to its application in computer science. Polynomial-time algorithms, NP-hardness proofs and analysis of heuristics. Minimization of makespan and mean flow time. Real-Time scheduling.
CSCE930 Advanced Computer Architecture 3
Prereq: CSCE 830
Description:
Recent advances in computer architecture including the effects of VLSI and methods of improving performance. Parallelism, pipelining, vector and array processors, multiprocessors and distributed processors, and data-flow architectures.
CSCE932 Fault-Tolerance: Testing and Testable Design 3
Prereq: CSCE 834 or permission
Description:
Increasing density of microelectronic circuits makes them harder to test during production and field operation. Theory and techniques developed to solve this problem. Faults and fault modeling; algorithms for test generation and fault simulation; built-in-self-test methods and standards; design for testability; and self-checking circuits.
CSCE933 Fault-Tolerance: System Design and Analysis 3
Prereq: CSCE 830 or permission
Description:
Theory and practice of creating extremely dependable digital systems through on-line fault-tolerance. Emphasizes modular redundancy in hardware and software to permit detection, masking, and removal of faulty components. Case studies from aerospace, banking, and other disciplines. Fault classification, error detection and diagnosis, dependability metrics, Byzantine Agreement, design trade-offs, and system simulation and modeling (esp. Markov).
CSCE935 Mathematical Theory of Finite Automata 3
Description:
Introductory course in automata theory in which the behavior and structure of automata discussed.
CSCE942 Numerical Analysis III 3
Prereq: CSCE/MATH 840 or 841 or 847 or permission
Description:
Advanced topics in numerical analysis
CSCE952 Advanced Computer Networks 3
Prereq: CSCE 862
Description:
Advanced level course on the recent development in computer networks. Integrated Services Digital Networks (ISDN), Broadband-ISDN and Asynchronous Transfer Mode (ATM), Multimedia Source and Traffic Characteristics, Source Policing, Scheduling and Quality of Service, Wireless Communication, Tracking of Mobile Users, Performance Computer networks.
CSCE961 Coding Theory 3
Prereq: MATH 817 desirable
Description:
Channels, introduction to information theory, Shannon’s fundamental theorem, Linear codes, Hamming codes, Reed- Muller codes, cyclic codes, idempotents, BCH codes, Reed- Solomon codes, Quadratic residue codes, perfect single-error correcting codes, Sphere packings, the Golay codes, Lloyds theorem, nonexistence theorems, weight enumerators, the MacWilliams equation, association schemes, quasi-symmetric designs, polarities of designs, extension of graphs, self-orthogonal codes and designs.
CSCE962 Advanced Software Engineering 3
Prereq: CSCE 361
Description:
Recent advances in the field of software engineering. Software reuse, artificial intelligence approaches to software design, usability and requirements engineering, and design environments. Computer tools for the design of software products.
CSCE963 Software Process Engineering 3
Prereq: CSCE 361 or permission
Description:
Engineering of the software development process including software life-cycle, maturity models, process programming, and process management. Both theory and practice of engineering large, long-lived software systems. Process analysis, modeling, workflows, standards, process environments and tools, automation, and organizational context. Case studies illuminate the application of software process theory to engineering practice. Teams analyze and develop software management plans and tools.
CSCE966 Software Architecture and Frameworks 3
Prereq: CSCE 866 or permission
Description:
CSCE970 Pattern Recognition 3
Prereq: MATH 814, STAT 880, CSCE 810, or equivalent
Description:
Introduction to statistical decision theory, adaptive classifiers, supervised and nonsupervised training. Pattern recognition systems: transducers, feature extractors, decision units. Applications to optical character recognition, speech processing, remote sensing.
CSCE971 Advanced Bioinformatics 3
Prereq: CSCE 471/871
Description: Advanced algorithmic techniques for bioinformatics. Development and analysis of string matching, graph theoretic and dynamic programming techniques applied to systems and computational biology problems such s multiple sequence alignment, alignment of DNA and protein sequences, genome rearrangements, and phylogeny and haplotypes.
CSCE974 Genetic Algorithms 3
Prereq: CSCE 310 and 876 For students taking this course, no biological sciences background is needed. However, a knowledge of genetic principles may help student to improve current algorithms.
Description:
Introduction of the motivation and current implementations of advanced genetic algorithms. These algorithms are built on basic principles borrowed from biology. Illustrates how a novel, implicitly-parallel search is implemented to obtain solutions for combinatorically-difficult problems.
CSCE975 Computational Algebra 3
Prereq: MATH 817, CSCE 310, or permission
Description:
History of Symbolic and Algebraic Computation, Applications of Computer Algebra Systems to scientific problems. Survey of Symbolic Systems MACSYMA, CAYLEY, CAS, SOGOS, Computational Group Theory Algorithms and their complexity: Coset enumeration, bases and strong generators and the Schreier-Sims algorithm. Centralizer, normalizer algorithms, p-sylow calculus, conjugacy classes, and characters of groups, permutation group algorithms, characters of the symmetric group, maximal subgroups of a group. Transitive and primitive extensions and the Hecke Ring relations. Word problems, lattice dynamical problems, crystallography and other applications
CSCE976 Artificial Intelligence 3
Prereq: CSCE 876 or equivalent
Description:
For students with some sophistication and considerable interest in exploring methods of designing and using algorithms useful for finding adequate answers to combinatorically large problems that require largely symbolic rather than numeric computing. It will be assumed students are highly proficient in one or more high-level computer languages and either are or will be able to function in functional and descriptive languages such as LISP and PROLOG. Study, analyze and critique basic and current research papers and to engage in artificial intelligence projects and experiments either alone or in small groups. Artificial intelligence environments, tools and expert system building. Class participation will be encouraged for the review of the more recent AI literature.
CSCE977 Data Encryption 3
Prereq: Prereq: STAT 880, CSCE 235 or MATH 817 or permission
Description:
History of public cryptology; elements of statistics, combinatorics, number theory, group theory; symmetric and asymmetric cryptosystems, “trap door” functions; public key cryptosystems; RSA and knapsack; levels of cryptographic security; computational complexity of algorithms; National Bureau of Standards-DES (Data Encryption Standard); block and stream cyphers; cypher key management; protection of proprietary software and data.
CSCE978 Human Factors in Computer Systems 3
Prereq: Prereq: Permission
Description:
Human factors area of computer science which has to do with human-computer communication and how to facilitate it. Introduces the behavioral and linguistic background to human factors studies. Human factors in computer systems, including programming, languages and systems, text editing and word processing, command languages, menu-driven systems, natural language interfaces, direct manipulation systems, response times, and speech I/O. Readings from the human factors literature.
CSCE979 Advances in Neural Networks and Genetic Algorithms 3
Description:
Graduate level course requires reading, research, and programming selected to address the open problems of improving the speed and robustness of algorithms for learning in networks and other self-organizing systems. The state-of-the-art methods for supervised training of neural networks followed by the implementation and application of genetic algorithms. Evolution and self-organization of complex, adaptive, nonlinear systems for solving problems of pattern recognition, cognition, and control. Obtaining insight into the internal workings of neural networks. Current theories and experimental testing used for analysis and testing of connections and thresholds of trained neural networks. Reference materials include research reports, papers, and books on the theory and design of neural network based processors and problem solving systems.
CSCE990 Seminar 1-3, max 6
Prereq: Permission
Description:
To lead graduate students to the current frontiers of a particular area of computer science which is of topical interest.
CSCE990 Sensor Networks 3
Description:In this course, theoretical and practical insight to the wireless sensor networks, networking in these networks, and their applications will be given. Among the topics covered are: basics of sensor networks, including hardware and software considerations; networking in wireless sensor networks, including recent developments in application, transport, routing, link, and physical layers, as well as cross-layer design issues; and applications of sensor networks, including multimedia, underwater, and underground. The course will cover the recent developments in wireless sensor networks and include a group project that will provide hands-on interaction with a wireless sensor network testbed. You will have the chance to apply what you have learned in the course during the project.
CSCE996 Research Problems Other Than Thesis 1-6
Description:
Investigation of minor research problems to introduce graduate students to the methods of research in computer science by assigning a problem which is of research interest but within the capacity of a graduate student to complete within a semester.
CSCE999. Doctoral Dissertation 1-24, max 55
Description:
Admission to doctoral degree program and permission of supervisory committee chair.

