Skip Navigation

University of Nebraska–Lincoln

Computer Science & Engineering

Course Descriptions

CSCE101   Fundamentals of Computing   (3 cr) Lect 3
Description:  Fundamentals of Computing (3 cr) Lec 3. Will not count towards the requirements for a major or minor in computer science and computer engineering. Introduction to the breadth of computer science. Topics include hardware, software, networks, theory, and social issues. This is a course in the science of computation, suitable for non-majors and prospective majors.
View Course Specificaion

CSCE101L.    Fundamentals of Computing Laboratory   (1 cr) Lab 3
Prereq: CSCE 101 or parallel.
Description: A variety of computer-oriented exercises using many software tools are presented which supplement and coordinate with CSCE 101.     Data representation of numbers, images, and sound waves; basic logic gates; computer architecture and machine languages; operating systems, elementary programming concepts, spreadsheets, database software, basic networking concepts including Internet and network protocols.  Emphasis on learning by experiment, with a goal of developing problem solving skills. A component is study of a programming language - choice of which may vary by course section. May not be used to satisfy CSE major or minor requirements.

View Course Specificaion

CSCE105   Introduction to Problem Solving with Computers   3 cr Lec 3, lab 1
Prereq: 4 years high school mathematics; keyboarding.
Description: Credit in CSCE 105 will not count toward the major or minor in computer science or computer engineering. Problem solving with a computer and programming fundamentals using a popular high-level language; mathematics topics. Logic and functions that apply to computer science; elementary programming constructs, type, and algorithmic techniques.
View Course Specificaion

CSCE150   Introduction to Computer Programming   (3) Lec 3, lab 1
Prereq: Prereq: MATH 103 or parallel
Description:Introduction to computers and problem-solving with computers including problem analysis and specification, algorithms, programming in a high-level language, and data representation and processing.
View Course Specificaion

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 Specificaion

CSCE155   Introduction to Computer Science I   (4 cr) Lec 3, Lab 2.
Prereq: CSCE105 and MATH103 (or appropriate scores on placement exams).
Description:Introduction to problem-solving with computers including problem analysis and specification, algorithm development, program design, and implementation in a high-level programming language. Laboratory assignments develop mastery of a high-level programming language and good programming and experience in modern software development practices. [ES]155H. Introduction to Computer Science I (4 cr) Lec 3, Lab 2. Prereq: CSCE105 and MATH103 (or appropriate scores on placement exams). Open to students in the University Honors Program and to others by permission. An honors course covering the same topics as CSCE155 but in greater depth.
View Course Specificaion

CSCE155H   Honors: Introduction to Computer Science I   (4cr) Lec 3; lab 1
Prereq: Good Standing in Honors Progam or by invitation; CSCE 105; Math 103 or equivalent or appropriate scores on Math Placement Exam.
Description: Honors course covering same topics as CSCE 155, but in greater depth.
View Course Specificaion

CSCE156   Introduction to Computer Science II   (4 cr) Lec 3, lab 1.
Prereq: CSCE 155; MATH 106 or equivalent or appropriate scores on Math Placement Exam.
Description: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, language translation and virtual machines, declarations and types, and abstract mechanisms; using, implementing, and introduction to analysis of basic data structures. Linked-lists, stacks, and queues; searching and sorting; databases, table design, SQL queries, and use in applications. ES] 156H. Honors: Introduction to Computer Science II (4 cr) Lec 3, lab 1. Prereq: Good standing in the University Honors Program or by invitation; CSCE 155 and MATH 106 (or appropriate scores on placement exams). Honors course covering same topics as CSCE 156 but in greater depth.
View Course Specificaion

CSCE156H   Honors: Introduction to Computer Science I   (4 cr) Lec 3, lab 1
Prereq: Good Standing in UNL Honors Program
Description:Introduction to problem solving with computers including problem analysis and specification, algorithm development, and program design and implementation. JAVA and HTML in a Windows platform.
View Course Specificaion

CSCE183H, JDEP183H   Computer Problem Solving Essentials   (4 cr) Lec 4.
Prereq: Admission to the JD Edwards Program, CSCE105 and MATH103 (or appropriate scores on placement exams).
Description: First course in the JD Edwards Program core. Introduction to problem solving with computers including problem analysis and specification, algorithm development, and program design and implementation. Programming laboratory activities. Emphasis on JAVA in a Windows platform.
View Course Specificaion

CSCE184H, JDEP184H   Software Development Essentials   (4 cr) Lec 4
Prereq: Good standing in the University Honors Program; admission to the JD Edwards Program; and CSCE/JDEP 183H.
Description:Second course in the JD Edwards Program core.  Problem solving with computers, problem analysis and specification, data structures, relational databases, algorithm development, and program design and implementation. Discrete mathematics topics including propositional and predicate logic, sets, relations, functions, and proof techniques. C++, SQL, Windows, Standard Template Library and Software Development Principles.
View Course Specificaion

CSCE190   Special Topics in Computer Science   (1-3 Cr. Max 6) (Not Currently Offered)
Prereq: Permission
Description: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 Specificaion

CSCE196   Special Topics in Computer Science   1-3 cr, max 6 (Not Currently Offered)
Prereq: Permission
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
View Course Specificaion

CSCE230   Computer Organization   (3 cr)
Prereq: CSCE 150 or 155, or detailed knowledge of a high-level programming language Introduction to the organization and structure of computer systems.
Description:Topics include: Boolean Logic, Digital Arithmetic, Processor Organization, Machine Language Programming, Input/Output, Memory Organization, System Support Software, and Communication.
View Course Specificaion

CSCE230H   Honors: Computer Organization   (3cr)
Prereq: Good Standing in UNL Honors Program
Description: Honors course covering same topics as CSCE 230 but in greater depth.
View Course Specificaion

CSCE230L   Computer Organization Laboratory   (1cr) Lab 2
Prereq: CSCE 150 or 155. Parallel CSCE 230
Description: Computer-aided tools to provide practical practice and reinforcement of concepts and techniques learned in CSCE 230. Assembler programming and arithmetic and logic function design. 
View Course Specificaion

CSCE235   Introduction to Discrete Structures   
Description: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 Specificaion

CSCE251   Unix Programming   (1 cr)
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 Specificaion

CSCE251K   C Programming   (1 cr)
Prereq: Familiarity with one high-level programming language
Description: Introduction to the C programming language.
View Course Specificaion

CSCE252D   FORTRAN Programming   (1 cr)
Prereq: Prereq: Familiarity with one high-level programming language.
Description:Principles and practice of FORTRAN programming. Credit cannot be given for both CSCE 252D and any of CSCE 150, or ENGM 112, or ELEC 121.
View Course Specificaion

CSCE283H, JDEP283H   Data Structures and Algorithms   (3 cr) Lec 3, rct 2.
Prereq: Admission to the JD Edwards Program and CSCE/JDEP 184H; Coreq: BSAD/JDEP 281H Third course in the JD Edwards Program core.
Description:Advanced data structures and algorithms that solve common problems and standard approaches to solving new problems. Analysis and comparison of algorithms including asymptotic notation and proofs of correctness. Discrete mathematics including induction, principles of counting, and combinatorics as foundation for analysis.
View Course Specificaion

CSCE284H, JDEP284H   Foundations of Computer Systems   (4 cr) Lec 4, rct 1.
Prereq: Admission to the JD Edwards Program and CSCE/JDEP 183H.
Description:Fourth course in the JD Edwards Program 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 Specificaion

CSCE290   Special Topics in Computer Science   1-3 cr, max 6
Prereq: Permission
Description:Aspects of computers and computing for non-computer science and computer engineering majors and/or minors.  Topics vary.
View Course Specificaion

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 Specificaion

CSCE301H, JDEP301H   JDE Design Studio I   (3 cr) Lec 3, Studio 10.
Prereq: Admission to the JD Edwards Program and BSAD/JDEP 282H and CSCE/JDEP 284H.
Description:First Semester of JD Edwards Program, Design Studio sequence. Application of JD Edwards core content in a team-oriented, project management setting. Students complete projects in consultation with private and public sector clients.
View Course Specificaion

CSCE302H, JDEP302H   JDE Design Studio II   (3 cr) Lec 3, Studio 10.
Prereq: Admission to the JD Edwards Program and CSCE/JDEP 301H.
Description:Second Semester of JD Edwards Program, Design Studio sequence. Application of JD Edwards core content in a team-oriented, project management setting. Students complete projects in consultation with private and public sector clients.
View Course Specificaion

CSCE310   Data Structures and Algorithms   (3 cr) Lec 3, rct 1.
Prereq: CSCE 156/156H and 235.
Description:Theoretical concepts with programming assignments. Review of algorithm analysis, asymptotic notation, and solving recurrence relations. Review of basic data structures (linked-lists, stacks, queues) with emphasis on analysis. More 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 Specificaion

CSCE322   Programming Language Concepts    (3 cr)
Prereq: CSCE 156 and 230 List-processing, string-processing, and other types of high-level programming languages.
Description: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 Specificaion

CSCE340, CSCE840   Numerical Analysis I   (3 cr) Lect 3.
Prereq: CSCE 150 or 155 and Math 208.
Description:Credit cannot be given for both Computer Science 340 and Engineering Mechanics 480. Algorithm formulation for the practical solution of problems such as interpolation, roots of equations, differentiation and integration. Includes analysis of effects of finite precision.
View Course Specificaion

CSCE351   Operating Systems Kernels   (3 cr)
Prereq: CSCE 230, CSCE 310.
Description: Design and implementation of operating system kernels, process context switching, I/O hardware/software, DMA, I/O polling and multiplexing, interrupt handlers, device drivers/hardware interface, system calls. Substantial programming is a normal part of this course with students implementing or extending an instructional operating system kernel.
View Course Specificaion

CSCE361   Software Engineering    (3 cr).
Prereq: CSCE 310 or permission of instructor.
Description: Study of techniques used in the disciplined development of large software projects. Topics will include software requirements analysis and specifications, program design, coding and integration, testing, and software maintenance. A selection of other topics will be included such as software estimation techniques, design tools, and complexity metrics. Students will participate in group design and implementation of a software project.
View Course Specificaion

CSCE378   Human-Computer Interaction    (3 cr)
Prereq: CSCE 156.
Description: Study of the knowledge and techniques useful in the design of computing systems for human use. Topics will include models of HCI, human information processing characteristics important in HCI, computer system features, such as input and output devices, dialogue techniques, and information presentation, task analysis, prototyping and the iterative design cycle, user interface implementation, interface evaluation.>
View Course Specificaion

CSCE383H, JDEP383H   Fundamentals of Software Engineering   ( 3 cr)
Prereq: Admission to the JD Edwards Program and CSCE/JDEP 284H.
Description:Fifth course in the JD Edwards Program core. Emphasis on proper principles and methods for engineering software. Topics include requirements, design, implementation, management and software evolution.
View Course Specificaion

CSCE384H, JDEP 384H   Honors: Applied Numerical Analysis   3 cr Lec 3
Prereq: Good Standing in University Honors Program
Description: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 Specificaion

CSCE390   Special Topics in Computer Science   1-3 cr, max 6
Prereq: Permission
Description:Aspects of computers and computing for non-computer science and computer engineering majors and/or minors.  Topics vary
View Course Specificaion

CSCE401H, JDEP401H   JDE Design Studio III   (3 cr) Lec 3, Studio 10.
Prereq: Admission to the JD Edwards Program and CSCE/JDEP 302H.
Description:Third Semester of JD Edwards Program, Design Studio sequence. Application of JD Edwards core content in a team-oriented, project management setting. Students complete projects in consultation with private and public sector clients.
View Course Specificaion

CSCE402H, JDEP402H   JDE Design Studio IV   (3 cr) Lec 3, Studio 10.
Prereq: Admission to the JD Edwards Program and CSCE/JDEP 401H.
Description:Fourth Semester of JD Edwards Program, Design Studio sequence. Application of JD Edwards core content in a team-oriented, project management setting. Students complete projects in consultation with private and public sector clients.
View Course Specificaion

CSCE410, CSCE810   Information Retrieval Systems   (3 Cr.) Lect.
Prereq: CSCE 310 or instructor 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 Specificaion

CSCE413, CSCE813   Database Systems   (3 cr)
Prereq: CSCE 310.
Description: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; S. Hands-on experience with a working database system.
View Course Specificaion

CSCE421, CSCE821   Foundations of Constraint Processing   (3 Cr.) Lect.
Prereq: CSCE 310 and 476/876 or instructor permission.
Description:Constraint processing has emerged as a powerful formalism for articulating and solving many industrial problems such as design, scheduling, and resource allocation. This course reviews the foundations of constraint satisfaction and the basic mechanisms for solving constraint satisfaction and optimization problems (e.g., search, backtracking, and consistency-checking algorithms). A special emphasis is made on new directions in the field, such as strategies for decomposition and for symmetry identification.
View Course Specificaion

CSCE423, CSCE823   Design and Analysis of Algorithms   (3 cr)
Prereq: CSCE 310 Mathematical preliminaries.
Description: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 Specificaion

CSCE424, CSCE 824   Introduction to Computational Complexity    (3 Cr.) Lect.
Prereq: CSCE 235 and 310 or instructor permission.
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 Specificaion

CSCE425, CSCE825   Compiler Construction   
Description: 425/825. Compiler Construction (3 cr) Prereq: CSCE 310, 322. 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 Specificaion

CSCE428, CSCE828   Automata, Computation and Formal Languages   3 cr
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 Specificaion

CSCE430, CSCE 830   Computer Architecture   (3 cr)
Prereq: CSCE 230, 231, 310, and Math 380 or EE 410 as co-requisite.
Description:Credit not applicable toward graduate degree in computer science. Addresses the architecture of single-processor (Von Neumann or SISD) computer systems with a quantitative approach. Students will learn the advanced microprocessor design principles, implementation skills and evaluation methodologies on Pipelining, Fundamental computer design, Instruction level parallelism, Cache/Memory Hierarchy, Memory systems and I/O storage systems. Students will practice in design and implementation of a RISC pipeline microprocessor and an application system.
View Course Specificaion

CSCE432, CSCE832   High Performance Processor Architecture   (3 cr)
Prereq: CSCE 430, Math 314, and (Math 380 or EE 410) or permission.
Description: Addresses high performance computing in the context of a single processor, including the underlying principles and micro-architectures of contemporary high performance processors. Assumes basic knowledge of pipelined scalar processors, and covers the Vector, Superscalar, and Very Long Instruction Word (VLJW) architectural paradigms. Numerous case studies of actual systems highlight real-world design trade-offs and amplify the theoretical discussions.
View Course Specificaion

CSCE434, CSCE834   VLSI Design   (3 cr),
Prereq: EE 370 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 Specificaion

CSCE435, CSCE835   Cluster and Grid Computing   3
Prereq: CSCE 310 or equivalent programming experience
Description: Students will build and program their own cluster as four broad topics are covered: cluster construction, cluster administration, cluster programming, and grid computing. This course is designed to be appropriate for non-CSE students who have an interest in building or programming clusters to enhance their computationally-intensive research.
View Course Specificaion

CSCE437, CSCE837   File and Storage Systems   (3 cr)
Prereq: (CSCE 351 or 451) and 430, or permission from instructor.
Description: Addresses a wide spectrum of system-level and device-level topics in the design, implementation, and use of file and storage systems. Topics covered include components and organization of storage systems, disk drive hardware and firmware, multi-disk systems, RAIDs, local, distributed and P2P file systems, low-power design. Students will design and implement a real-life file and storage system.
View Course Specificaion

CSCE441, CSCE841, MATH 441, MATH841   Approximation of Functions   3 cr
Prereq: Math 221 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 Specificaion

CSCE447, CSCE847   Numerical Analysis II   3cr
Prereq: CSCE 340, Math 221 and 314
Description:Numerical matrix methods and numerical solutions of ordinary differential equations
View Course Specificaion

CSCE451, CSCE 851   Operating Systems Principles   (3 cr)
Prereq: CSCE 230, CSCE 310.
Description: 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 is a normal part of this course. Credit not applicable toward graduate degree in computer science.
View Course Specificaion

CSCE455,CSCE855   Distributed Operating Systems   (3 cr)
Prereq: CSCE 451.
Description: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. A substantial programming project in distributed systems is a normal part of this course.
View Course Specificaion

CSCE456, CSCE856   Parallel Algorithms and Programming   3 cr
Prereq: CSCE 310 or permission
Description: Introduction to the fundamentals of parallel computation and applied algorithm design. Models of parallel computation; general techniques for designing efficient parallel algorithms for fixed-connection processor networks like arrays, trees and hypercube-like networks; elementary algorithms for parallel random access machines; principles and practice in programming an existing parallel machine.
View Course Specificaion

CSCE457, CSCE857   Systems Administration   3
Prereq: CSCE 310 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 such as web services, database services, mail servers. Basic scripting in shell, Perl and Expect. The course will emphasize systems administration on a Unix platform.
View Course Specificaion

CSCE462,CSCE862   Communication Networks   (3 cr)
Prereq: CSCE 230 and 310 or permission of instructor. STAT 380 desirable
Description:This is an introductory level course on the architecture of communication networks, and the rudiments of performance modeling. The basic topics to be covered include 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. The advanced material to be discussed span network security, asynchronous transfer mode (ATM), optical, wireless, cellular and satellite networks, and their performance studies.
View Course Specificaion

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 Specificaion

CSCE464, CSCE864   Internet Systems and Programming   (3 cr)
Prereq: CSCE310 or permission.
Description:A survey of paradigms, systems, and languages for Internet applications, including client-side and server-side programming, object-based and event-based distributed programming, and multi-tier applications. Coverage of specific technologies will vary.
View Course Specificaion

CSCE465, CSCE865 (865 T)   Introduction to Mathematical Logic I   3 cr
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 Specificaion

CSCE466, CSCE866   Software Design Methodologies   3 cr Lec 3
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 Specificaion

CSCE467, CSCE867   Software Quality   (3 cr)
Prereq: CSCE 310 and CSCE 361 or permission of instructor.
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 Specificaion

CSCE470, CSCE870   Computer Graphics   (3 cr)
Prereq: CSCE 231, CSCE 251Y, CSGE 310, Math 314, or permission.
Description:Input and display devices; graphics programming; scan conversion; geometric objects and transformations; projections and viewing; clipping and hidden surface removal; shading; curves and surfaces and their rendering; visualization. The experiential part of the course is based on the use of OpenGl and/or other graphics software capabilities.
View Course Specificaion

CSCE471, CSCE871   Introduction to Bioinformatics   3
Prereq: CSCE 310; STAT 380/880 or permission
Description:Introduction to the fundamentals and current 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 Specificaion

CSCE472, CSCE872   Digital Image Processing   (3 cr).
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 Specificaion

CSCE473, CSCE873   Computer Vision   (3 cr).
Prereq: CSCE156 or permission.
Description:Study of high-level processing for image understanding and high-level vision. The course emphasizes data structures, algorithms, and modeling. Topics include 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 include content-based image retrieval, digital libraries, and interpretation of satellite imagery.
View Course Specificaion

CSCE474, CSCE874   Introduction to Data Mining   3
Prereq: CSCE310, STAT 380 or permission
Description:Study of data mining and knowledge discovery methods and their application to real-world problems.  Emphasis will be laid on the algorithmic and systems issues.  The topics covered include: statistical foundations, association discovery, classification, prediction, clustering, spatial data mining and advanced techniques. A project with application of data mining techniques in real-world problems is required. 
View Course Specificaion

CSCE475, CSCE875   Multiagent Systems   (3 Cr.) Lect.
Prereq: CSCE 310 or instructor permission.
Description:Distributed problem solving and planning, search algorithms for agents, distributed rational decision making, learning in multiagent systems, computational organization theory, formal methods in Distributed Artificial Intelligence, multiagent negotiations, emergent behaviors (such as ants and swarms), and Robocup technologies, and real-time coalition formation.
View Course Specificaion

CSCE476, CSCE876   Introduction to Artificial Intelligence   (3 cr).
Prereq: CSCE 310 An introduction to basic principles, techniques, and tools now being used in the area of machine intelligence.
Description:Languages for AI programming will be introduced with an emphasis on LISP. Lecture topics will include problem solving, search, constraint satisfaction, game playing, knowledge representation, formal reasoning, and applications.
View Course Specificaion

CSCE477, CSCE877   Cryptography and Computer Security   3 cr
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 Specificaion

CSCE478, CSCE 878   Introduction to Machine Learning   (3 cr)
Prereq: CSCE 310; STAT 380/880 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 Specificaion

CSCE479, CSCE879   Introduction to Neural Networks   (3 cr)
Description: Lec 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 Specificaion

CSCE488   Computer Engineering Professional Development   (1 cr)
Prereq: JGEN 200; ELEC 362, 476 and CSCE 430; Must be taken exactly one semester before CSCE-489.
Description: Prepares students for the Senior Design Project course and professional practice through familiarity and practice with current tools, resources, and technologies; professional standards, practices and ethics; and oral and written report styles used specifically in the computer engineering field.
View Course Specificaion

CSCE489   Computer Engineering Senior Design Project   
Description:489. ELEC 362 and 476; CSCE 430 and *488. CSCE *488 and *489 must be taken in sequence. CSCE *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. 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 Specificaion

CSCE490    Special Topics in Computer Science   1-3 cr, max 6
Prereq: Permission
Description:Aspects of computers and computing for non-computer science and computer engineering majors and/or minors.  Topics vary.
View Course Specificaion

CSCE496   Systems Administration    (3cr)
Prereq: CSE 310 and Senior or Graduate standing.
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 such as web services, database services, mail servers. Basic scripting in shell, Perl and Expect. The course will emphasize systems administration on a Unix platform.
View Course Specificaion

CSCE496, CSCE896   Special Topics in Computer Science   3 cr
Prereq: Good standing in the University Honors Program
Description:Program or by invitation; specific course prerequisites will vary depending on the topic.
View Course Specificaion

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 Specificaion

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 Specificaion

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 Specificaion

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 Specificaion

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


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:

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.


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.


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.