Skip Navigation

Computer Science & Engineering

Notice: Undefined index: COURSE_LEVEL in /var/httpd/htdocs/ugrad/resources/course_info/course_description.php on line 62 CSCE101   Fundamentals of Computing   (3 cr) Lect 3
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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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:
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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.
View Course Specification

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. 
View Course Specification

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.
View Course Specification

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:
View Course Specification

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.
View Course Specification

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.

View Course Specification

CSCE897   Masters Project   (1-6 cr)
Prereq: Permission of adviser
Description:
View Course Specification

CSCE899   Masters Thesis   6-10
Prereq: Admission to masters degree program and permission of major adviser
Description:
View Course Specification

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

View Course Specification

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. Readings  in the current literature.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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).

View Course Specification

CSCE935   Mathematical Theory of Finite Automata    3
Description:

Introductory course in automata theory in which the behavior and structure of automata discussed.

View Course Specification

CSCE942   Numerical Analysis III   3
Prereq: CSCE/MATH 840 or 841 or 847 or permission
Description:

Advanced topics in numerical analysis

View Course Specification

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.

View Course Specification

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.

View Course Specification

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. Readings from current software engineering literature discussed and evaluated. Students will participate in a group project which investigates specific software engineering research topics.

View Course Specification

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.

View Course Specification

CSCE966   Software Architecture and Frameworks    3
Prereq: CSCE 866 or permission
Description:

Architectural aspects of software development including design patterns, frameworks, standardization of architectures and components, and development environments. Methodologies for creating reusable solutions for common problems in a variety of application areas. Experience in the development and use pattern catalogs and design standards.

View Course Specification

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.

View Course Specification

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.
View Course Specification

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.

View Course Specification

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

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.

View Course Specification

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.
View Course Specification

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.

View Course Specification

CSCE999.    Doctoral Dissertation   1-24, max 55
Description:

Admission to doctoral degree program and permission of supervisory committee chair.

View Course Specification