Description
Website: https://computing.unl.edu
Email: computing@unl.edu
The University of Nebraska–Lincoln School of Computing offers Nebraska’s only comprehensive program of higher education, research, and service outreach in computer science, computer engineering, and software engineering.
The School of Computing offers a unique and challenging baccalaureate degree program in software engineering, incorporating hands-on learning and an integrated computer science and software engineering core curriculum to prepare graduates for professional practice in a wide range of industries and for post-graduate education.
Software engineers work on multidisciplinary teams to identify and develop software solutions and to maintain software intensive systems of all sizes. The focus of this program is on the rigorous engineering practices necessary to build, maintain, and protect modern software intensive systems. Consistent with this focus, the software engineering baccalaureate program consists of a rigorous curriculum of science, math, computer science, and software engineering courses.
Students completing the major will have the ability to:
- Apply disciplined software engineering practices and principles to the design, architecture, development, analysis, testing, and maintenance of complex software systems to meet the desired needs of the stakeholders within realistic constraints.
- Identify, formulate, and solve engineering problems using computational resources.
- Contribute their expertise by effectively collaborating and communicating with other stakeholders in multidisciplinary teams.
- Adapt to rapid advances in computing and software engineering tools, technologies, principles, and practices.
Students will also have:
- The background and perspective for post-graduate education. Studies develop skills in the application of theory, experimentation, and lifelong learning/professional development.
- Insight into the world of practicing professionals for collaborations, mutual support, and representing the profession to government and society. Studies include teamwork, communication, and hands-on experience, plus students are provided with multiple opportunities for involvement in organizations such as ACM, UPE, and IEEE.
The School of Computing also offers a degree of bachelor of science in computer engineering and a bachelor of science in computer science. All students with a major in the School of Computing should see their advisor during the first semester to ensure they understand the requirements for each School of Computing undergraduate degree program. Majors should consult with their advisors each semester for registration advising.
Introductory Courses. Entering students take SOFT 160 Software Engineering I, the first course in the software engineering core series. The software engineering core courses (SOFT 160, SOFT 161 Software Engineering II, SOFT 260 Software Engineering III, SOFT 261 Software Engineering IV) provide an introduction to fundamental software engineering concepts and foundational computer science topics to prepare students for more advanced software engineering and computer science courses.
Graduate Programs. The School of Computing offers several graduate degree programs: master of science in computer science, master of science in computer science with a computer engineering specialization, master of science in computer science with a bioinformatics specialization, doctor of philosophy in computer science, doctor of philosophy in engineering with computer engineering specialization, doctor of philosophy in computer science with bioinformatics specialization, and joint doctor of philosophy in computer science and mathematics. See the Graduate Studies Catalog for details.
Major Department Admission
Students are expected to meet minimum college entrance requirements. After being admitted to the college, students desiring to pursue a degree in software engineering must go through the Professional Admission process, which is automatically performed for qualifying students at the end of the sophomore year. In order to be considered for Professional Admission to the software engineering program, students must receive at least a C+ in SOFT 260 Software Engineering III (RAIK 283H Honors: Software Engineering III), SOFT 261 Software Engineering IV (RAIK 284H Software Engineering IV), and CSCE 235 Introduction to Discrete Structures (RAIK 184H Honors: Software Development Essentials) and a GPA of at least 2.5 (semester and cumulative). If a student’s cumulative GPA drops below 2.4, the student may be placed on restricted status, may be removed from the College, and may not be able to graduate.
College Requirements
College Admission
College Entrance Requirements
Students must have high school credit for (one unit is equal to one high school year):
- Mathematics – 4 units: 2 of algebra, 1 of geometry, and 1 of precalculus and trigonometry
- English – 4 units
- Natural sciences – 3 units that must include 1 unit of physics and 1 unit of chemistry (chemistry requirement waived for students in construction management and computer science)
- Foreign language – 2 units of a single foreign language
- Social studies – 3 units
- Students having a composite ACT score of 28 or greater (or equivalent SAT score) will be admitted to the College of Engineering even if they lack any one of the following: trigonometry, chemistry, or physics.
- Students having an ACT score of 19 or less in English (or equivalent SAT score) must take ENGL 150 Writing and Inquiry or ENGL 151 Writing and Argument.
A total of 16 units is required for admission.
Students must have an ACT (enhanced) score of 24 or greater (or equivalent SAT). Students who lack entrance requirements may be admitted based on ACT scores, high school rank and credits, or may be admitted to pre-engineering status in the Exploratory and Pre-Professional Advising Center. Pre-engineering students are advised within the Exploratory and Pre-Professional Advising Center.
Students for whom English is not their language of nurture must meet the minimum English proficiency requirements of the University.
Students who lack entrance units may complete precollege training by Independent Study through the University of Nebraska–Lincoln Office of On-line and Distance Education, in summer courses, or as a part of their first or second semester course loads while in the Exploratory and Pre-Professional Advising Center or other Colleges at Nebraska.
Students should consult their advisor, their department chair, or Engineering Student Services if they have questions on current policies.
Other Admission Requirements
Students who transfer to the University of Nebraska–Lincoln from other accredited colleges or universities and wish to be admitted to the College of Engineering (COE) must meet COE freshman entrance requirements and have a minimum cumulative GPA of 2.5 and be calculus-ready. Students not meeting either of these requirements must enroll in the Explore Center or another University college until they meet COE admission requirements. Students transferring from UNO, UNL, or UNK to the College of Engineering must be in good academic standing with their institution.
The COE accepts courses for transfer for which a C or better grade was received. Although the University of Nebraska–Lincoln accepts D grades from the University of Nebraska at Kearney and at Omaha, not all majors in the COE accept such low grades. Students must conform to the requirements of their intended major and, in any case, are strongly encouraged to repeat courses with a grade of C- or less.
All transfer students must adopt the curricular requirements of the undergraduate catalog current at the time of transfer to the COE—not that in use when they entered the University of Nebraska–Lincoln. Upon admission to Nebraska, students wishing to pursue degree programs in the COE will be classified and subject to the policies defined in the subsequent section.
Students who were previously admitted to COE and are returning to the College of Engineering must demonstrate a cumulative GPA of 2.5 in order to be readmitted to COE.
College Degree Requirements
Grade Rules
Grade Appeals
In the event of a dispute involving any college policies or grades, the student should appeal to his/her instructor and appropriate department chair or school director (in that order). If a satisfactory solution is not achieved, the student may appeal his/her case through the College Academic Appeals Committee on his/her campus.
Catalog Rule
Students must fulfill the requirements stated in the catalog for the academic year in which they are first admitted at the University of Nebraska–Lincoln. In consultation with advisors, a student may choose to follow a subsequent catalog for any academic year in which they are admitted to and enrolled as a degree-seeking student at Nebraska in the College of Engineering. Students must complete all degree requirements from a single catalog year. The catalog which a student follows for degree requirements may not be more than 10 years old at the time of graduation.
Learning Outcomes
Graduates of the software engineering program will have:
- An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
- An ability to communicate effectively with a range of audiences.
- An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
- An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
- An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
The above student outcomes have been approved by the ABET Engineering Area Delegation for use beginning with the 2019-20 academic year, and have been adopted by the School of Computing faculty.
Major Requirements
The software engineering degree requires 123 hours of coursework, including a set of required core courses and technical elective courses in computer science and software engineering and a 2-year capstone (78 credit hours), and courses in mathematics (18 credit hours), science (12 credit hours), as well as other supporting courses (15 credit hours) as described below.
Computer Science and Software Engineering Core
Code | Title | Credit Hours |
---|---|---|
Computer Science | ||
CSCE 10 | Introduction to CSE | 0 |
CSCE 231 | Computer Systems Engineering | 4 |
CSCE 235 | Introduction to Discrete Structures | 3 |
or CSCE 235H | Honors: Introduction to Discrete Structures | |
CSCE 322 | Programming Language Concepts | 3 |
CSCE 378 | Human-Computer Interaction | 3 |
or CSCE 378H | Honors: Human-Computer Interaction | |
CSCE 411 | Data Modeling for Systems Development | 3 |
CSCE 423 | Design and Analysis of Algorithms | 3 |
CSCE 451 | Operating Systems Principles | 3 |
or CSCE 351 | Operating System Kernels | |
Software Engineering | ||
CSCE 495 | Internship in Computing Practice | 1 |
SOFT 160 | Software Engineering I | 4 |
SOFT 161 | Software Engineering II | 4 |
SOFT 260 | Software Engineering III 1 | 4 |
SOFT 261 | Software Engineering IV | 3 |
SOFT 360 | Software Engineering Mentoring and Leadership | 1 |
SOFT 461 / CSCE 461 | Advanced Topics in Software Engineering | 3 |
SOFT 466 / CSCE 466 | Software Design and Architecture | 3 |
SOFT 467 / CSCE 467 | Testing, Verification and Analysis | 3 |
SOFT 468 / CSCE 468 | Requirements Elicitation, Modeling and Analysis | 3 |
Total Credit Hours | 51 |
1 | Students may transfer into the software engineering program at the beginning of the second year (SOFT 260 or SOFT 260H) after completing the first-year computer science or computer engineering course sequence and the software engineering bridge course (SOFT 162). |
Or, for students in the J.S. Raikes School of Computer Science and Management:
Code | Title | Credit Hours |
---|---|---|
Computer Science | ||
RAIK 10 | Raikes School Freshman Seminar | 0 |
CSCE 231 | Computer Systems Engineering | 4 |
CSCE 322 | Programming Language Concepts | 3 |
CSCE 378 | Human-Computer Interaction | 3 |
or CSCE 378H | Honors: Human-Computer Interaction | |
CSCE 411 | Data Modeling for Systems Development | 3 |
CSCE 423 | Design and Analysis of Algorithms | 3 |
CSCE 451 | Operating Systems Principles | 3 |
or CSCE 351 | Operating System Kernels | |
Software Engineering | ||
CSCE 495 | Internship in Computing Practice | 1 |
RAIK 183H / CSCE 183H | Honors: Computer Problem Solving Essentials | 4 |
RAIK 163H | Honors: Innovation Processes and Software Engineering Fundamentals | 3 |
RAIK 184H / CSCE 184H | Honors: Software Development Essentials | 4 |
RAIK 186H | Honors: Foundations of Leadership II | 1 |
RAIK 283H / SOFT 260H | Honors: Software Engineering III | 4 |
RAIK 284H / SOFT 261H | Software Engineering IV | 3 |
SOFT 461 / CSCE 461 | Advanced Topics in Software Engineering | 3 |
SOFT 466 / CSCE 466 | Software Design and Architecture | 3 |
SOFT 467 / CSCE 467 | Testing, Verification and Analysis | 3 |
SOFT 468 / CSCE 468 | Requirements Elicitation, Modeling and Analysis | 3 |
Total Credit Hours | 51 |
Technical Electives
Code | Title | Credit Hours |
---|---|---|
Students must take at least 15 credit hours of SOFT or CSCE technical electives 1 2 | 15 | |
Total Credit Hours | 15 |
1 | Students must take at least 15 credit hours of SOFT or CSCE technical electives. Up to 3 hours of CSCE 495 Internship in Computing Practice can be used towards technical electives. Up to 3 hours of CSCE 498 can be used towards technical electives. At least 9 hours must be taken at the 400 level except SOFT and CSCE courses required by the software engineering major and except courses that have been designated as courses that will not count toward a major or minor in computer science or software engineering by the School of Computing. Included courses at the 300 level are: CSCE 335, CSCE 336, CSCE 392 , CSCE 399, CSCE 399H. In addition to the courses mentioned above, excluded CSCE designated courses are: CSCE 401H, CSCE 402H, CSCE 403H, CSCE 404H, CSCE 405H, CSCE 406H, CSCE 488, CSCE 489, CSCE 493. Honors versions of these courses are also not allowed to count towards technical elective credits. |
2 | CSCE 101 Fundamentals of Computer Science or ENGR 101 Introduction to Engineering may be used to satisfy a technical elective if taken at UNL prior to taking SOFT 160 Software Engineering I, SOFT 161 Software Engineering II, SOFT 260 Software Engineering III, and SOFT 261 Software Engineering IV. |
Focus Areas
Software engineering majors have the option to declare one or more focus areas from the areas listed below. To receive a focus area certificate from the School of Computing, students must meet all degree requirements and complete three courses (9 hours) with a grade of C or higher in each course within the desired focus area(s). To declare a focus area, contact your advisor. Focus areas available to software engineering majors include:
- Artificial Intelligence (AI): CSCE 421, CSCE 475, CSCE 476, CSCE 478, CSCE 479.
- Computer Architecture & High-Performance Computing: CSCE 411, CSCE 430, CSCE 435, CSCE 436, CSCE 456, CSCE 457.
- CyberSecurity: CSCE 438, CSCE 457, CSCE 462, CSCE 463, CSCE 477.
- Data Science and Informatics: CSCE 410, CSCE 411, CSCE 412, CSCE 413, CSCE 464, CSCE 470, CSCE 471, CSCE 472, CSCE 473, CSCE 474, CSCE 478, CSCE 479.
- Foundations of Computer Science: CSCE 421, CSCE 423, CSCE 424, CSCE 428, CSCE 440, CSCE 477.
- IoT, Robotics, and Embedded Systems: CSCE 436, CSCE 438, CSCE 439, CSCE 454, CSCE 459, CSCE 460, CSCE 473, CSCE 476.
- Networking: CSCE 438, CSCE 455, CSCE 456, CSCE 458, CSCE 459, CSCE 462, CSCE 463, CSCE 465.
- User-Centered Computing: CSCE 411, CSCE 412, CSCE 453H, CSCE 454, CSCE 470.
Capstone Experience1
Code | Title | Credit Hours |
---|---|---|
CSCE 486 | Computer Science Professional Development | 3 |
or CSCE 486H | Honors Computer Science Professional Development | |
CSCE 487 | Computer Science Senior Design Project | 3 |
or CSCE 487H | Honors Computer Science Senior Design Project | |
SOFT 403 | Software Engineering Capstone I | 3 |
or SOFT 403H | Honors: Software Engineering Capstone I | |
SOFT 404 | Software Engineering Capstone II | 3 |
or SOFT 404H | Honors: Software Engineering Capstone II | |
Credit Hours Subtotal: | 12 | |
Or, for students in the J.S. Raikes School of Computer Science and Management: | ||
RAIK 401H / BSAD 401H / CSCE 401H / SOFT 401H | Honors: RAIK Design Studio I | 3 |
RAIK 402H / BSAD 402H / CSCE 402H / SOFT 402H | Honors: RAIK Design Studio II | 3 |
RAIK 403H / BSAD 403H / CSCE 403H | Honors: RAIK Design Studio III | 3 |
or RAIK 405H / CSCE 405H | Honors: RAIK Research Studio I | |
RAIK 404H / BSAD 404H / CSCE 404H | Honors: RAIK Design Studio IV | 3 |
or RAIK 406H / CSCE 406H | Honors: RAIK Research Studio II | |
Credit Hours Subtotal: | 12 |
1 | Students must take Capstone Experience courses in strict sequence. |
Mathematics (minimum 18 hrs)
Code | Title | Credit Hours |
---|---|---|
MATH 106 | Calculus I | 5 |
MATH 107 | Calculus II | 4 |
MATH 314 | Linear Algebra | 3 |
STAT 380 | Statistics and Applications | 3 |
Select one of the following: | 3-4 | |
Calculus III | ||
Honors: Calculus III | ||
Principles of Operations Research | ||
Mathematical Biology | ||
Advanced Statistical Design | ||
Introduction to Survey Sampling | ||
Computational Biology | ||
Introduction to Regression Analysis | ||
Total Credit Hours | 18-19 |
Science (minimum 12 hrs)
Code | Title | Credit Hours |
---|---|---|
Must take at least 12 credit hours of science courses intended for science/engineering majors and must include at least one laboratory. The CSE department has identified the following five disciplines with their acceptable courses. | 12 | |
Chemistry | ||
General Chemistry I and General Chemistry I Laboratory and General Chemistry II and General Chemistry II Laboratory and Elementary Quantitative Analysis and Elementary Quantitative Analysis Laboratory | ||
Fundamental Chemistry I and Fundamental Chemistry I Laboratory and Fundamental Chemistry II and Elementary Quantitative Analysis and Elementary Quantitative Analysis Laboratory | ||
Organic Chemistry | ||
Organic Chemistry | ||
Organic Chemistry Laboratory 1 | ||
Organic Chemistry Laboratory 1 | ||
Physics and Astronomy | ||
Introduction to Astronomy and Astrophysics | ||
Astronomy and Astrophysics Laboratory 1 | ||
Elementary General Physics I | ||
Elementary General Physics II 1 | ||
General Physics I | ||
General Physics II | ||
General Physics III | ||
General Physics Laboratory I 1 | ||
General Physics Laboratory II 1 | ||
General Physics Laboratory III 1 | ||
Biological Sciences | ||
Genetics, Molecular and Cellular Biology Laboratory 1 | ||
General Genetics | ||
Ecology and Evolution 1 | ||
Fundamentals of Biology I and Fundamentals of Biology I laboratory 1 | ||
Fundamentals of Biology II and Fundamentals of Biology II Laboratory 1 | ||
Earth and Atmospheric Sciences | ||
Elements of Physical Geography 1 | ||
Dynamic Earth 1 | ||
Evolution of the Earth 1 | ||
Mineralogy | ||
Igneous and Metamorphic Petrology | ||
Sedimentology and Stratigraphy | ||
Depositional Environments | ||
Weather and Climate 1 | ||
Introduction to Atmospheric Science | ||
Atmospheric Thermodynamics 1 | ||
Dynamic Meteorology I | ||
Dynamic Meteorology II | ||
Physical Meteorology | ||
Synoptic Meteorology 1 | ||
Anthropology | ||
Introduction to Biological Anthropology | ||
Introduction to Biological Anthropology Laboratory 1 |
1 | Indicates a lab course or that a lab is included with the course. |
Other Supporting Courses (minimum 15 hrs)
Code | Title | Credit Hours |
---|---|---|
ENGR 20 | Sophomore Engineering Seminar | 0 |
JGEN 200 | Technical Communication I | 3 |
Select one course each from ACE outcomes 5, 6, 7, and 9 | 12 | |
Credit Hours Subtotal: | 15 | |
or, for students in the J.S. Raikes school of computer Science and Management: | ||
RAIK 288H / BSAD 220H | Honors Business Writing | 3 |
RAIK 40 | Professional and Life Skills | 0 |
Select one course each from ACE outcomes 5, 6, 7, and 9 | 12 | |
Credit Hours Subtotal: | 15 |
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.
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.
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.
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.
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.
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. CSCE235H covers the same topics as CSCE235, 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.
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. CSCE235H covers the same topics as CSCE235, 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.
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.
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: Design and implementation of operating system kernels. Bootstrapping and system initialization, process context switching, I/O hardware and software, DMA, I/O polling, interrupt handlers, device drivers, clock management. Substantial programming implementing or extending an instructional operating system kernel.
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.
MATH/STAT 380 or ECEN 305 recommended. Meeting ACE1 and ACE2 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.
MATH/STAT 380, ECEN 305 or RAIK 270H recommended. Meeting ACE1 and ACE2 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 383H 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 383H 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; Coreq: MATH/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 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 236 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.
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.
Description: Polynomial interpolation, uniform approximation, orthogonal polynomials, least-first-power approximation, polynomial and spline interpolation, approximation and interpolation by rational functions.
Prerequisites: MATH 314
Description: Mathematics and algorithms for numerically stable matrix and linear algebra computations, including solution of linear systems, computation of eigenvalues and eigenvectors, singular value decomposition, and QR decomposition.
Prerequisites: A grade of "P" or "C" or better in CSCE 230, CSCE 230H 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 432/832, 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.
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 383H.
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.
Prerequisites: A grade of "P" or "C" or better in CSCE 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 383H.
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 383H.
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 383H.
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.
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.
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.
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: Senior or graduate standing.
Description: Aspects of computers and computing not covered elsewhere in the curriculum presented as the need arises.
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 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.
Prerequisites: MATH 103 or equivalent.
Letter grade only.
Description: Introduction to software engineering and to problem solving with computers. Topics include problem solving methods, the use of computational resources to solve problems, and techniques for collaborative software development. Techniques based on disciplined software engineering principles and practices for engineering, building, analyzing and managing software-related artifacts. Common tools and techniques for developing, analyzing, testing, debugging, and managing software and software-related artifacts.
Prerequisites: MATH 103 or equivalent
Description: Introduction to software engineering and to problem solving with computers. Topics include problem solving methods, the use of computational resources to solve problems, and techniques for collaborative software development. Techniques based on disciplined software engineering principles and practices for engineering, building, analyzing and managing software-related artifacts. Common tools and techniques for developing, analyzing, testing, debugging, and managing software and software-related artifacts.
Letter grade only.
Description: Software engineering techniques and tools for designing, modeling, and building event-driven and multi-layer applications. Topics include advanced data structure, persistent data storage, object-oriented programming, and techniques for testing complex software systems.
Description: Software engineering techniques and tools for designing, modeling, and building event-driven and multi-layer applications. Topics include advanced data structure, persistent data storage, object-oriented programming, and techniques for testing complex software systems.
Letter grade only.
Description: Advanced data structures and their associated algorithms for solving computational problems. Techniques for systematically specifying, managing, and analyzing software requirements, and for managing software change and working effectively in teams.
Prerequisites: A grade of C+ or higher in either SOFT 161 or SOFT 161H or SOFT 162 or RAIK 184H or equivalent; CSCE 235.
Description: Advanced data structures and their associated algorithms for solving computational problems. Techniques for systematically specifying, managing, and analyzing software requirements, and for managing software change and working effectively in teams.
Prerequisites: A grade of C+ or higher in SOFT 260 or equivalent.
Description: Techniques and tools based on disciplined software engineering principles for producing, interpreting, and communicating visual artifacts related to software architecture and construction.
Prerequisites: Good Standing in UNL Honors Program or by invitation; a grade of C+ or higher in SOFT 260, SOFT 260H, or RAIK 283H.
Description: Techniques and tools based on disciplined software engineering principles for producing, interpreting, and communicating visual artifacts related to software architecture and construction.
Letter grade only.
Description: Mentoring and leading software engineering teams. Topics include roles and responsibilities of a leader, roles and responsibilities of a mentor, and traits of effective leaders and mentors. Techniques for effectively mentoring and leading software engineering teams.
Prerequisites: Good standing in the University Honors Program or by invitation; admission to the Jeffrey S. Raikes School of Computer Science and Management; RAIK 383H 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: CSCE 487 or equivalent
Must be taken exactly one semester before SOFT 404.
Description: A substantial software engineering 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 in consultation with private and public sector clients.
Description: A substantial software engineering 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 in consultation with private and public sector clients.
This course is a prerequisite for: SOFT 404H
Prerequisites: SOFT 403 (taken exactly one semester previous).
Description: A substantial software engineering 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 in consultation with private and public sector clients.
Description: A substantial software engineering 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.
Prerequisites: A grade of "P" or "C" or better in CSCE 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 383H.
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 361, CSCE 361H, SOFT 261, SOFT 261H or RAIK 383H.
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 383H.
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 383H.
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.
PLEASE NOTE
This document represents a sample 4-year plan for degree completion with this major. Actual course selection and sequence may vary and should be discussed individually with your college or department academic advisor. Advisors also can help you plan other experiences to enrich your undergraduate education such as internships, education abroad, undergraduate research, learning communities, and service learning and community-based learning.
Milestones
- Professional Admission into College.
- 123 hours required for graduation.
- 2.40 GPA required for graduation.
- 30 of the last 36 hours must be taken at UNL/UNO.