Computer Science and Engineering (CSCE)
Prerequisites: Placement in to MATH 101 or higher
This course does not count towards a major or minor in Computer Science or a major in Computer Engineering or a major in Software Engineering.
Description: Introduction to the use of data-centric and information technologies-and issues and challenges-in today's applications in sciences, engineering, the humanities, and the arts. Exposure to computational thinking and programming, statistical thinking and research design, data analysis and database techniques, and visualization and creative thinking.
A course in the science of computation suitable for prospective CSCE majors and for non-CSCE majors who desire a deeper understanding of computers and the work of computer scientists. This course may be used to satisfy a technical elective for Computer Science and Computer Engineering majors if taken at UNL prior to CSCE 155, CSCE 156, CSCE 310 and CSCE 361, or for Software Engineering majors, if taken at UNL prior to SOFT 160, SOFT 161, SOFT 260 and SOFT 261.
Description: Introduction to problem solving with computers. Problem analysis and specification, algorithm development, program design, and implementation in a high-level programming environment. Hardware, software, software engineering, networks, and impacts of computing on society.
Prerequisites: CSCE 101 or parallel.
This course does not count towards a major or minor in Computer Science or a major in Computer Engineering or a major in Software Engineering.
Description: A variety of computer oriented exercises using many software tools is presented which supplement and are coordinated with the topics taught in CSCE 101. 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.
Prerequisites: Placement in to MATH 101 or higher
This course does not count towards a major or minor in Computer Science or a major in Computer Engineering or a major in Software Engineering. First course in a sequence for the minor in Software Development.
Description: Introduction to coding in the context of current web development technologies (JavaScript, HTML, CSS). Basic coding skills and an introduction to computing with an emphasis on processing data: data formatting and structure, data manipulation, data presentation and the basics of an interactive program.
Prerequisites: MATH 102 or a Math Placement Test score for MATH 103 or higher. Credit toward the degree may be earned in only one of: CSCE 155, CSCE 155A, CSCE 155E/ECEN 155E, CSCE 155H, CSCE 155N, or CSCE 155T.
Credit may be earned in only one CSCE 155 course. Recommended for students majoring in computer science or computer engineering.
Description: Introduction to problem solving with computers. Topics include problem solving methods, software development principles, computer programming, and computing in society.
Prerequisites: MATH 102 or a Math Placement Test score for MATH 103 or higher. Credit toward the degree may be earned in only one of: CSCE 155, CSCE 155A, CSCE 155E/ECEN 155E, CSCE 155H, CSCE 155N, or CSCE 155T.
Credit may be earned in only one CSCE 155 course. Recommended for students interested in systems engineering, such as operating systems, mobile computing, and embedded devices.
Description: Introduction to problem solving with computers. Topics include problem solving methods, software development principles, computer programming, and computing in society
Prerequisites: Good standing in UNL Honors Program; MATH 102 or a Math Placement Test score for MATH 103 or higher. Credit toward the degree may be earned in only one of: CSCE 155, CSCE 155A, CSCE 155E/ECEN 155E, CSCE 155H, CSCE 155N, or CSCE 155T.
Covers the same topics as CSCE 155A, but in greater depth.
Description: Introduction to problem solving with computers. Topics include problem solving methods, software development principles, computer programming, and computing in society.
Prerequisites: MATH 102 or a Math Placement Test score for MATH 103 or higher. Credit toward the degree may be earned in only one of: CSCE 155, CSCE 155A, CSCE 155E/ECEN 155E, CSCE 155H, CSCE 155N, or CSCE 155T.
Recommended for students interested in numerical and graphical applications in engineering and science, such as applied physics, working with time-sequence data, and matrix applications.
Description: Introduction to problem solving with computers. Topics include problem solving methods, software development principles, computer programming, and computing in society.
Credit may be earned in only one CSCE 155 course. Recommended for students interested in data and information processing, such as library and database applications, online commerce, and bioinformatics.
Description: Introduction to computers and problem-solving with computers. Topics include problem solving methods, software development principles, computer programming, and computing in society.
Prerequisites: A grade of "P" or "C" or better in CSCE 155A, CSCE 155E, CSCE 155H, CSCE 155N, or CSCE 155T; coreq: MATH 106.
Laboratories supplement the lecture material and give an opportunity to practice concepts.
Description: Data structures, including linked lists, stacks, queues, and trees; algorithms, including searching, sorting, and recursion; programming language topics, including object-oriented programming; pointers, references, and memory management; design and implementation of a multilayer application with SQL database.
Prerequisites: Good standing UNL Honors Program. A grade of "P" or "C" or better in CSCE 155A, CSCE 155E, CSCE 155H, CSCE 155N, or CSCE 155T; Coreq: MATH 106.
Covers the same topics as CSCE 156, but in greater depth. Laboratories supplement the lecture material and give an opportunity to practice concepts.
Description: Data structures, including linked lists, stacks, queues, and trees; algorithms, including searching, sorting, and recursion; programming language topics, including object-oriented programming; pointers, references, and memory management; design and implementation of a multilayer application with SQL database.
Prerequisites: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management.
Description: Introduction to innovation processes for interdisciplinary and team-oriented problem solving of software engineering, business development, and industrial design problems.
Project-based introduction to the computer engineering field.
Description: Introduction to basic concepts and skills needed in computer engineering. Practical application of basic computing concepts through an introduction to programming an embedded system.
Prerequisites: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management.
Description: Introduction to problem solving with computers. Problem analysis and specification, algorithm development, program design, and implementation. JAVA in a Windows platform.
Prerequisites: Good standing in the University Honors Program; admission to the Jeffrey S. Raikes School of Computer Science and Management; and CSCE/RAIK 183H.
Description: Problem solving with computers. Problem analysis and specification, data structures, relational databases, algorithm development, and program design and implementation. Discrete mathematics topics, propositional and predicate logic, sets, relations, functions, and proof techniques. Software Development Principles.
Prerequisites: Permission.
Will not count towards a major or minor in computer science and computer engineering. Topics will vary.
Description: Aspects of computers and computing at the freshman level for non-computer science and computer engineering majors and/or minors.
Prerequisites: Permission.
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
Prerequisites: Freshmen standing; permission of the instructor.
Description: Independent study of computer science topics performed under the guidance of a member of the faculty in the Department of Computer Science and Engineering.
Prerequisites: CSCE 120
This course does not count towards a major or minor in Computer Science or a major in Computer Engineering or a major in Software Engineering. Second course in a sequence for the minor in Software Development.
Description: Practical experience on building larger scale applications and familiarity with the tools, environments (e.g., Android or IoS), and requirements to develop software for current smart-mobile devices such as phones and tablets.
Laboratories supplement the lecture material and give an opportunity to practice concepts.
Description: Introduction to organization and structure of computer systems. Boolean logic, digital arithmetic, processor organization, machine language programming, input/output, memory organization, system support software, communication, and ethics.
Description: Introduction to organization, structure, and applications of computer systems. Boolean Logic, Digital Arithmetic, Processor Organization, C Programming, Machine Language Programming, Input/Output, Memory Organization and Management, Building Embedded System Application.
Prerequisites: A grade of 'P' or 'C' or better in CSCE 155A, CSCE 155E, CSCE 155H, CSCE 155N, CSCE 155T, SOFT 160, SOFT 160H or RAIK 183H; and MATH 106.
Theoretical concepts with programming assignments.
Description: Survey of elementary discrete mathematics. Elementary graph and tree theories, set theory, relations and functions, propositional and predicate logic, methods of proof, induction, recurrence relations, principles of counting, elementary combinatorics, and asymptotic notations.
Prerequisites: A grade of 'P' or 'C' or better in CSCE 155A, CSCE 155E, CSCE 155H, CSCE 155N, CSCE 155T, SOFT 160, SOFT 160H or RAIK 183H; and MATH 106.
Theoretical concepts with programming assignments. Covers the same topics as CSCE 235, but in greater depth.
Description: Survey of elementary discrete mathematics. Elementary graph and tree theories, set theory, relations and functions, propositional and predicate logic, methods of proof, induction, recurrence relations, principles of counting, elementary combinatorics, and asymptotic notations.
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.
Prerequisites: Permission.
Will not count towards a major or minor in computer science and computer engineering. Topics vary.
Description: Aspects of computers and computing for non-computer science and computer engineering majors and/or minors.
Prerequisites: Permission.
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
Prerequisites: Sophomore standing; permission of the instructor.
Description: Independent study of computer science topics performed under the guidance of a member of the faculty in the Department of Computer Science and Engineering.
Prerequisites: Grades of "Pass" or "C" or better in CSCE 156/156H or SOFT 161 and CSCE 235/235H. Credit toward the degree may be earned in only one of CSCE 310 or CSCE 311
Theoretical concepts with programming assignments.
Description: A review of algorithm analysis, asymptotic notation, and solving recurrence relations. Advanced data structures and their associated algorithms, heaps, priority queues, hash tables, trees, binary search trees, and graphs. Algorithmic techniques, divide and conquer, transform and conquer, space-time trade-offs, greedy algorithms, dynamic programming, randomization, and distributed algorithms. Introduction to computability and NP-completeness.
Prerequisites: Grade of "Pass" or "C" or better in CSCE 155A, CSCE 155E, CSCE 155H, CSCE 155N, CSCE 155T, CSCE 320, or SOFT 160. Credit toward the degree may be earned in only one of CSCE 310 or CSCE 311
Description: An introduction to algorithms and data structures for informatics. Foundational coverage of algorithms includes both problems (such as indexing, searching, sorting, and pattern matching) and methods (such as greedy, divide-and-conquer, and dynamic programming). Foundational coverage of data structures includes lists, tables, relational databases, regular expressions, trees, graphs, and multidimensional arrays. The topics will be studied in the context of informatics applications.
This course does not count towards a major or minor in Computer Science or a major in Computer Engineering or a major in Software Engineering. Third course in a sequence for the minor in Software Development.
Description: Practical experience on how to model data through existing techniques including object-oriented and relational models. These models can then be used at the center of systems to promote efficient and effective data processing and analysis.
Prerequisites: A grade of "P" or "C" or better in CSCE 156, CSCE 156H, CSCE 311, SOFT 161, SOFT 161H, or RAIK 184H.
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.
Prerequisites: Good Standing in UNL Honors Program or by invitation; A grade of "P" or "C" or better in CSCE 156, CSCE 156H, CSCE 311, SOFT 161, SOFT 161H, or RAIK 184H.
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.
Description: Combinational and sequential logic circuits. MSI chips, programmable logic devices (PAL, ROM, PLA) used to design combinational and sequential circuits. CAD tools. LSI and PLD components and their use. Hardware design experience.
Description: Introduction to designing, interfacing, configuring, and programming embedded systems. Configure simple embedded microprocessor systems, control peripherals, write device drivers in a high-level language, set up embedded and real-time operating systems, and develop applications for embedded systems.
Prerequisites: A grade of "P" or "C" or better in CSCE 230 or CSCE 231 and CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: An introduction to management of computing resources, including CPUs, shared memory, I/O devices, address spaces, and threads of execution, with a focus on implementation.
Requires familiarity with a high-level programming language .
Description: Introduction to designing, developing and producing virtual reality and immersive experiences. Work in interdisciplinary teams to produce a virtual reality/immersive project, game or storytelling experience.
Prerequisites: A grade of "P" or "C" or higher in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H, or RAIK 283H
Description: Introduction to web application security risks and associated mitigation strategies, along with cloud-based resource management, and security basics on cloud application hosting.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Requires participation in a group design and implementation of a software project.
Description: 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.
Prerequisites: Good Standing in UNL Honors Program or by invitation; A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Requires participation in a group design and implementation of a software project.
Description: 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.
Prerequisites: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S.Raikes School of Computer Science and Management; and RAIK 270H
Description: Introduction to approaches using data for prediction and learning. Exploration of data for linear and nonlinear data modeling, machine learning, and supportive methods from statistics and numerical methods.
Prerequisites: A grade of "P" or "C" or better in CSCE 156, CSCE 156H, SOFT 161, SOFT 161H, RAIK 184H or CSCE 311.
STAT 380 or ECEN 305 recommended. Meeting ACE 1 and ACE 2 requirements prior to taking this course recommended.
Description: 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 as input and output devices, dialogue techniques, and information presentation, task analysis, prototyping and the iterative design cycle, user interface implementation, interface evaluation.
Prerequisites: Good standing in the University Honors Program; A grade of "P" or "C" or better in CSCE 156, CSCE 156H, SOFT 161, SOFT 161H, RAIK 184H or CSCE 311.
STAT 380/RAIK 270H or ECEN 305 recommended. Meeting ACE 1 and ACE 2 requirements prior to taking this course recommended.
Description: 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 as input and output devices, dialogue techniques, and information presentation, task analysis, prototyping and the iterative design cycle, user interface implementation, interface evaluation.
Prerequisites: Grade of "Pass" or "C" in CSCE 311.
Description: Studies in data science practice and professional development. Data science topics include data-centric and model-driven approaches; information and knowledge structures, organization, and access; searching and mining; and visualization. Professional development involves instruction in career development, entrepreneurship, professional ethics, and professional communications.
Prerequisites: Permission.
Description: Aspects of computers and computing for non-computer science and computer engineering majors and/or minors. Topics vary.
Prerequisites: Permission.
Description: Aspects of computers and computing for computer science and computer engineering majors and minors. Topics vary.
Prerequisites: Junior standing; permission of the instructor.
Description: Independent study of computer science topics performed under the guidance of a member of the faculty in the Department of Computer Science and Engineering.
Prerequisites: Permission.
Description: Independent practice and research leading to a thesis.
Prerequisites: Permission.
Description: Independent practice and research leading to a thesis.
Prerequisites: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; RAIK 284H/SOFT 261H or equivalent.
First semester in the Jeffrey S. Raikes School of Computer Science and Management design studio
Description: Application of Raikes School core content in a team oriented, project management setting. Complete projects in consultation with private and public sector clients.
Prerequisites: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; BSAD/CSCE/SOFT/RAIK 401H.
Second semester in the Jeffrey S. Raikes School of Computer Science and Management design studio
Description: Application of Raikes School core content in a team oriented, project management setting. Complete projects in consultation with private and public sector clients.
Prerequisites: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; BSAD/CSCE/SOFT/RAIK 402H.
Third semester of Jeffrey S. Raikes School of Computer Science and Management design studio sequence.
Description: Application of Jeffrey S. Raikes School of Computer Science and Management core content in a team oriented, project management setting. Complete projects in consultation with private and public sector clients.
Prerequisites: 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/SOFT/RAIK 403H.
Fourth semester in the Jeffrey S. Raikes School of Computer Science and Management design studio sequence.
Description: Application of Raikes School core content in a team oriented, project management setting. Complete projects in consultation with private and public sector clients.
Prerequisites: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; RAIK 284H/SOFT 261H or equivalent.
First semester of Jeffrey S. Raikes School of Computer Science and Management research studio experience. Students work individually with a sponsoring faculty member from the area of their research and Raikes School faculty.
Description: Application of research principles to solve complex problems through the delivery of innovative, cutting-edge solutions and to gain an understanding of the roles involved.
Prerequisites: RAIK 405H
Second semester of Jeffrey S. Raikes School of Computer Science and Management research studio experience. Students work individually with a sponsoring faculty member from the area of their research and Raikes School faculty.
Description: Application of research principles to solve complex problems through the delivery of innovative, cutting-edge solutions and to gain an understanding of the roles involved.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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. Practical experience with a working experimental information retrieval system.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Concepts of relational and object-oriented data modeling through the process of data model development including conceptual, logical and physical modeling. Techniques for identifying and creating relationships between discrete data members, reasoning about how data modeling and analysis are incorporated in system design and development, and specification paradigms for data models. Common tools and technologies for engineering systems and frameworks for integrating data. Design and analysis of algorithms and techniques for identification and exploration of data relationships, such as Bayesian probability and statistics, clustering, map-reduce, and web-based visualization.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; MATH 314.
Description: Fundamentals and implementations of data visualization techniques. Programming skills and practices in interactive visualization applications. Visualization foundations, human perception for information processing, and visualization techniques for different data types, such as scalar-field data, vector-field data, geospatial data, multivariate data, graph/network data, and text/document data. Advanced visualization algorithms and topics as time permits.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Involves practical experience with a working database system.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 235 and CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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.
This course is a prerequisite for: CSCE 921
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: 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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; STAT 380, ECEN 305 or RAIK 270H.
Description: Deals with the foundations of information theory, as well as the more practical aspects of information coding. Information measures are first introduced, and then applied to the analysis of the theoretical performance achievable in data compression and propagation over noisy channels.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; Coreq: STAT 380, ECEN 305 or RAIK 270H.
Description: 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 processors 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.
Prerequisites: A grade of "P" or "C" or better in CSCE 230 or CSCE 231 and CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Overview of the hardware and software acceleration techniques, including basics of deep learning, deep learning frameworks, hardware accelerators, co-optimization of algorithms and hardware, training and inference, support for state-of-the-art deep learning networks.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H, or RAIK 283H.
Designed for CSCE and non-CSCE students who have an interest in building or programming clusters to enhance their computationally-intense research.
Description: Build and program clusters. Cluster construction, cluster administration, cluster programming, and grid computing.
Description: Embedded hardware design techniques; transceiver design and low-power communication techniques; sensors and distributed sampling techniques; embedded software design and embedded operating systems; driver development; embedded debugging techniques;hardware and software architectures of embedded systems; and design, development, and implementation of embedded applications.
Prerequisites: CSCE 230 or CSCE 231; SOFT 260, CSCE 310, CSCE 310H, CSCE 311 or equivalent; senior or graduate standing or instructor permission.
Description: Theoretical and practical insight into the Internet of Things (IoT). Basics of IoT, including devices and sensors, connectivity, cloud processing and storage, analytics and machine learning, security, business models as well as advanced topics such as localization, synchronization, connected vehicles, and applications of IoT. Includes a group project that provides hands-on interaction with IoT.
Prerequisites: A grade of "P" or "C" or better in CSCE 231, CSCE 336 or ECEN 220 and CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H
Description: Fundamental theory and algorithms for real world robot systems. Design and build a robot platform and implement algorithms in C++ or other high level languages. Topics include: open and closed loop control, reactive control, localization, navigation, path planning, obstacle avoidance, dynamics, kinematics, manipulation and grasping, sensing, robot vision processing, and data fusion.
Prerequisites: CSCE 155A, CSCE 155E, CSCE 155H, CSCE 155N, CSCE 155T, or SOFT 160; MATH 107. Credit toward the degree may be earned in only one of the following: CSCE440/MATH 440 and MECH 480
Credit toward the degree may be earned in only one of the following: CSCE/MATH 440/840 and MECH 480/880.
Description: Principles of numerical computing and error analysis covering numerical error, root finding, systems of equations, interpolation, numerical differentiation and integration, and differential equations. Modeling real-world engineering problems on digital computers. Effects of floating point arithmetic.
This course is a prerequisite for: CSCE 942
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Labs will be conducted on academic cloud and compute environments as well as public clouds.
Description: Covers the cybersecurity threat landscape and the mitigation strategies for Big Data, Cloud environments and Cryptocurrencies. Discusses emerging technologies and frameworks such as End-to-end encryption, Blockchains, Smart Contracts, OpenID Connect and OAuth2.0 as promising solutions to ensure data confidentiality and privacy.
Description: Create and evaluate new and existing human computer interfaces in the context of software engineering. Interdisciplinary applications of eye tracking in various areas of software engineering, biometrics, and psychology among others will be presented. Learn how to design, conduct, and analyze a technically sound eye tracking empirical study for software engineering problems in a group setting.
Prerequisites: A grade of "P" or "C" or better in CSCE 230 or CSCE 231 and CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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.
Prerequisites: A grade of "P" or "C+" or higher in CSCE 156, CSCE 156H, CSCE 220, CSCE 311, RAIK 184H, SOFT 161, or SOFT 161H. Good standing in the University Honors Program.
Enrolled students are expected to have advanced communication skills and a high commitment to conscientiousness. Students who are not in the University Honors Program but nonetheless meet these requirements may request permission of the instructor to enroll. Meeting ACE1 and ACE2 requirements prior to taking this course is recommended.
Description: Introduction to the areas of user interfaces and user experience through reading and hands-on experiences. Areas covered include the psychology and physiology of design, the process of interface design, cultural values and accessibility, designing for beauty and delight, and dynamic evaluation strategies.
Prerequisites: A grade of "P" or "C" or better in CSCE 156, CSCE 156H, SOFT 161, SOFT 161H, RAIK 184H or CSCE 311.
Meeting ACE1 and ACE2 requirements prior to taking this course is recommended. Non-CSCE majors may discuss qualifications with the instructor.
Description: Introduction to the area of human-robot interaction through the reading and discussion of current peer-reviewed articles on topic to include teleoperation, social robotics, and open questions with field-based or aerial robotic systems. Areas covered include: research methods, experimental design, and identification of problems/open questions.
Prerequisites: CSCE 451/851.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H, or RAIK 283H.
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 multiprocessor machines; principles and practice in programming an existing parallel machine.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Introduction to basic concepts of system administration. 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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; STAT 380, ECEN 305 or RAIK 270H.
Completing CSCE 462/862 and CSCE 465/865 prior to taking this course is recommended. Exceptions can be granted on a per-student basis by the instructor.
Description: Overview of nanoscale communication options. Focus on bio-inspired communication through molecule exchange and biochemical reactions. Different techniques to realize nanomachines will be surveyed in the course, with particular attention to the tools provided by synthetic biology for the programming of biological cooperative systems.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; STAT 380, ECEN 305 or RAIK 270H.
Completing CSCE/MATH 440/840, MATH 439/839, and CSCE 471/871 prior to taking this course is recommended. Exceptions can be granted on a per-student basis by the instructor. Meeting ACE 1 and ACE 2 requirements prior to taking this course is recommended. Non-CSCE majors may discuss qualifications with the instructor.
Description: Introduction to the field of synthetic biology, and its interdisciplinary foundational concepts. Presents the technologies at the basis of synthetic biology, together with the engineering concepts that underlie the design, modeling, and realization of genetically engineered systems. Surveys examples of cutting edge applications.
Prerequisites: A grade of "P" or "C" or better in CSCE 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 284H.
Description: Advanced or emerging techniques in software engineering. Topics include but not limited to design methodology, software dependability, and advanced software development environments.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; STAT 380, ECEN 305 or RAIK 270H.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Concepts and principles of data and network security. Focuses on practical aspects and application of crypto systems in security protocols for networks such as the Internet. Topics include: applications of cryptography and cryptosystems for digital signatures, authentication, network security protocols for wired and wireless networks, cyberattacks and countermeasures, and security in modern computing platforms.
Prerequisites: A grade of "Pass" or C or better in CSCE 156, SOFT 161, RAIK 184H or CSCE 311 or equivalent programming experience.
A grade of "Pass" or C or better in CSCE 156, SOFT 161, RAIK 184H or CSCE 311 or equivalent programming experience.
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.
Description: Discussion of theoretical and practical insight to wireless communications and wireless networking, current practices, and future trends. Wireless network architectures, mobility management, radio propagation, modulation, power control, antennas, channel access, pricing, and standards.
This course is a prerequisite for: CSCE 954
Prerequisites: A grade of "P" or "C" or better in CSCE 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 284H.
Letter grade only.
Description: Introduction to the concepts, principles, and state-of-the-art methods in software design and architecture. Topics include application of software engineering process models and management approaches for the design and architecture of large-scale software systems, trade-offs of designing for qualities such as performance, security, and dependability, and techniques and tools for analyzing and evaluating software architectures.
Prerequisites: A grade of "P" or "C" or better in CSCE 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 284H.
Letter grade only.
Description: In-depth coverage of problems related to software quality, and approaches for addressing them. Topics include testing techniques, dynamic and static program analysis techniques, and other approaches for verifying software qualities. Tool support for performing testing, verification, and analysis will also be studied.
Prerequisites: A grade of "P" or "C" or better in CSCE 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 284.
Letter grade only.
Description: In-depth coverage of processes, methods and techniques for determining, or deciding, what a proposed software system should do. Topics include the requirements engineering process, identification of stakeholders, requirements elicitation techniques, methods for informal and formal requirements documentation, techniques for analyzing requirements models for consistency and completeness, and traceability of requirements across system development and evolution. Tool support for modeling functional and non-functional requirements to support elicitation and analysis will be studied.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; MATH 314
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Introduction to computational methods for tackling challenges in biological data analysis and modeling and understanding complex systems at the molecular and cellular level. The main topics include bio-sequence analysis, motif finding, structure prediction, phylogenic inference, regulation network modeling, and high-throughput omics data analysis.
This course is a prerequisite for: CSCE 971
Prerequisites: A grade of "Pass" or C or better in CSCE 156, SOFT 161, RAIK 184H or CSCE 311 or equivalent programming experience.
A grade of "Pass" or C or better in CSCE 156, SOFT 161, RAIK 184H or CSCE 311 or equivalent programming experience.
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.
A grade of "Pass" or C or better in CSCE 156, SOFT 161, RAIK 184H or CSCE 311 or equivalent programming experience.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; STAT 380, ECEN 305 or RAIK 270H.
Requires the completion of a project involving the application of data mining techniques to real-world problems.
Description: 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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: 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 swarms), and Robocup technologies and real-time coalition formation.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
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.
This course is a prerequisite for: CSCE 976
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H; MATH 314.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Introduction to the fundamentals and current trends in machine learning. Possible applications for game playing, text categorization, speech recognition, automatic system control, date mining, computational biology, and robotics. Theoretical and empirical analyses of decision trees, artificial neural networks, Bayesian classifiers, genetic algorithms, instance-based classifiers and reinforcement learning.
Prerequisites: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H.
Description: Fundamentals and current trends in deep learning. Backpropagation, activation functions, loss functions, choosing an optimizer, and regularization. Common architectures such as convolutional, autoencoders, and recurrent. Applications such as image analysis, text analysis, sequence analysis, and reinforcement learning.
Prerequisites: CSCE 311
Description: 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 data science.
Prerequisites: A grade of "Pass" or "C" or better in SOFT 261, SOFT 261H, CSCE 361, or CSCE 361H. JGEN 200.
Description: 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.
Prerequisites: A grade of "Pass" or "C" or better in SOFT 261, SOFT 261H, CSCE 361, or CSCE 361H. JGEN 200.
Description: 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.
This course is a prerequisite for: CSCE 487H
Prerequisites: CSCE 486
Should be taken in the immediate next term after CSCE 486.
Description: A substantial computer science project requiring design, planning and scheduling, teamwork, written and oral communications, and the integration and application of technical and analytical aspects of computer science and software engineering.
Description: A substantial computer science project requiring design, planning and scheduling, teamwork, written and oral communications, and the integration and application of technical and analytical aspects of computer science and software engineering.
This course is a prerequisite for: SOFT 403H
Prerequisites: CSCE 336; A grade of "Pass" or "C" or better in CSCE 361 or CSCE 361H; formal admission to the College of Engineering; prereq or coreq: JGEN 300.
Description: Preparation for the senior design project. 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.
Prerequisites: CSCE 336; A grade of "Pass" or "C" or better in CSCE 361 or CSCE 361H; formal admission to the College of Engineering; prereq or coreq: JGEN 300.
Description: Preparation for the senior design project. 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.
This course is a prerequisite for: CSCE 489H
Prerequisites: CSCE 488 (taken exactly one semester previous).
Description: A substantial computer engineering project requiring hardware-software co-design, planning and scheduling, teamwork, written and oral communications, and the integration and application of technical and analytical aspects of computer science and computer engineering.
Description: A substantial computer engineering project requiring hardware-software co-design, planning and scheduling, teamwork, written and oral communications, and the integration and application of technical and analytical aspects of computer science and computer engineering.
Prerequisites: Permission.
Description: Topics vary
Description: Innovative team projects executed under the guidance of members of the faculty of the Department of Computer Science and Managing Director of the CSCE Innovation Lab. Students will work in teams and collaborate with CSE research faculty, supervising MS students, and sponsors that include private sectors and UNL faculty to design and develop real-world systems.
Prerequisites: CSCE 311
Does not apply toward any requirements for the Computer Science or Computer Engineering degree. Required for the Informatics minor.
Description: Innovative team projects executed under the guidance of members of the faculty of the Department of Computer Science and Managing Director of the CSCE Innovation Lab. Work in teams and collaboration with CSE research faculty and sponsors that include private sectors and UNL faculty to design and develop real-world systems to solve interdisciplinary problems.
Prerequisites: Permission.
Requires a detailed project proposal and final report.
Description: Experiential learning in conjunction with an approved industrial or government agency under the joint supervision of an outside sponsor and a faculty advisor.
Prerequisites: Senior or graduate standing.
Description: Independent project executed under the guidance of a member of the faculty of the School of Computing. Solution and documentation of a computer problem demanding a thorough knowledge of either the numerical or nonnumerical aspects of computer science.