Jia Di
Head of the Department
504 J.B. Hunt Center for Academic Excellence
479-575-5728

Department of Computer Science and Computer Engineering Website

The faculty of the Computer Science and Computer Engineering Department is engaged in multidisciplinary academic research, course offerings, and student projects in areas such as: networking, data security, low power chip design, Web search, embedded systems, and graphics.

The educational objectives of the department are to produce graduates who are recruited in a competitive market and make valuable contributions to a wide variety of industries, particularly in computer and information technology; succeed in graduate or professional studies; pursue life-long learning and continued professional development; and undertake leadership roles in their profession, in their communities, and in the global society.

Accreditations

The B.S. in Computer Engineering is accredited by the Engineering Accreditation Commission of ABET, www. abet.org.  The B.S. in Computer Science is accredited by the Computing Accreditation Commission of ABET, www.abet.org.

Requirements for B.S. in Computer Engineering

The computer engineering degree has required sequences of courses in both hardware and software aspects of computer applications and design. Since almost all of today’s complex systems encompass hardware and software elements, computer engineering graduates must acquire the skills required to design, build, and test complex digital systems. At the advanced level, students are exposed to hands-on experience with open-ended problems with opportunities for research and design.

Humanities and social science electives are selected from the state minimum core listed in the Catalog of Studies. To satisfy the state minimum core, all CSCE students are required to take the following 18 hours of humanities/social science courses:

PHIL 3103Ethics and the Professions3
Fine Arts from Category "A"3
U.S. History3
Social Science9
Total Hours18

The Undergraduate Handbook has a list of approved basic science, mathematics, and technical electives. Any course not included in these lists requires faculty approval.

Completion of degree requirements provides graduates with the following learning outcomes:

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

Degree Program Changes

Students must meet all requirements of their degree programs and are expected to keep informed concerning current regulations, policies, and program requirements in their fields of study. Changes made in the curriculum at a level beyond that at which a student is enrolled might become graduation requirements for that student. Changes made in the curriculum at a level lower than the one at which a student is enrolled are not required of that student. Students should consult their departmental adviser for additional information.

Computer Engineering B.S.Cmp.E. Eight-Semester Degree Program

The following sections contain the list of courses required for the Bachelor of Science in Computer Engineering (B.S.Cmp.E.) with a suggested sequence below.

Not all courses are offered every semester, so students who deviate from the suggested sequence must pay careful attention to course scheduling and course prerequisites. Students wishing to follow the eight-semester degree plan should see the Eight-Semester Degree Policy in the Academic Regulations chapter for university requirements of the program.

First YearUnits
FallSpring
GNEG 1111 Introduction to Engineering I1  
MATH 2554 Calculus I (ACTS Equivalency = MATH 2405) (Satisfies General Education Outcome 2.1)14  
PHYS 2054 University Physics I (ACTS Equivalency = PHYS 2034) (Satisfies General Education Outcome 3.4)4  
CHEM 1103 University Chemistry I (ACTS Equivalency = CHEM 1414 Lecture)3  
ENGL 1013 Composition I (ACTS Equivalency = ENGL 1013) (Satisfies General Education Outcome 1.1)3  
GNEG 1121 Introduction to Engineering II  1
MATH 2564 Calculus II (ACTS Equivalency = MATH 2505)  4
U.S. History Elective (Satisfies General Education Outcomes 3.2 and 4.2) Choose from one of the following courses:  3
HIST 2003 History of the American People to 1877 (ACTS Equivalency = HIST 2113)
HIST 2013 History of the American People, 1877 to Present (ACTS Equivalency = HIST 2123)
PHYS 2074 University Physics II (ACTS Equivalency = PHYS 2044 Lecture) (Satisfies General Education Outcome 3.4)  4
ENGL 1023 Composition II (ACTS Equivalency = ENGL 1023) (Satisfies General Education Outcome 1.1)
or ENGL 1033 Technical Composition II (ACTS Equivalency = ENGL 1023)
  3
Year Total: 15 15
 
Second YearUnits
FallSpring
CSCE 2004 Programming Foundations I4  
CSCE 2114 Digital Design4  
MATH 2574 Calculus III (ACTS Equivalency = MATH 2603)4  
MATH 2603 Discrete Mathematics3  
CSCE 2014 Programming Foundations II  4
CSCE 2214 Computer Organization  4
MATH 2584 Elementary Differential Equations  4
Social Sciences Elective (Satisfies General Education Outcomes 3.3 and 4.1)2  3
Social Sciences Elective (Satisfies General Education Outcome 3.3)3  3
Year Total: 15 18
 
Third YearUnits
FallSpring
CSCE 3193 Programming Paradigms3  
CSCE 3613 Operating Systems3  
CSCE 3953 System Synthesis and Modeling3  
INEG 3313 Engineering Probability and Statistics43  
Basic Science Elective with lab54  
CSCE 3513 Software Engineering (Satisfies General Education Outcome 6.1)  3
CSCE Elective (4000 level)  3
ELEG 3933 Circuits & Electronics  3
PHIL 3103 Ethics and the Professions (Satisfies General Education Outcome 5.1)  3
General Elective  3
Year Total: 16 15
 
Fourth YearUnits
FallSpring
CSCE 4561 Capstone I1  
CSCE 4114 Embedded Systems4  
CSCE Elective (4000 level)3  
CSCE Elective (4000 level)3  
Fine Arts Elective (Satisfies General Education Outcome 3.1)63  
COMM 1313 Public Speaking (ACTS Equivalency = SPCH 1003) (Satisfies General Education Outcome 1.2)3  
CSCE 4213 Computer Architecture  3
CSCE 4963 Capstone II  3
CSCE Elective (4000 level)  3
Social Sciences Elective (Satisfies General Education Outcome 3.3)3  3
General elective  3
Year Total: 17 15
 
Total Units in Sequence:  126

B.S.C.S. in Computer Science

A degree in computer science provides a wide variety of career choices. Computer science graduates can design, implement, or manage computer systems, as well as adapt computers to new applications. 

Completion of the degree requirements provides graduates with the ability to:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. 
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. 
  • Communicate effectively in a variety of professional contexts. 
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. 
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

Requirements for B.S.C.S. in Computer Science

Computer science core courses include the fundamentals of programming concepts, data structures, operating systems, algorithms, formal languages, and database management systems.

The Bachelor of Science programs in Computer Engineering and Computer Science culminate in a capstone project completed in two consecutive semesters. In the first semester, students form teams and develop a project proposal. In the second semester, students develop, implement, and present the final project.

Humanities and social science electives are selected from the State Minimum Core Requirements listed in the Catalog of Studies. To satisfy the State Minimum Core, all CSCE students are required to take the following 18 hours of humanities/social science courses:

PHIL 3103Ethics and the Professions3
Fine Arts From Category “A”3
U.S. History3
Social Science 9

The Undergraduate Handbook has a list of approved basic science, mathematics, and technical electives. Any course not included in these lists requires faculty approval.

Student Learning Outcomes

  • Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

Degree Program Changes

Students must meet all requirements of their degree programs and are expected to keep informed concerning current regulations, policies, and program requirements in their fields of study. Changes made in the curriculum at a level beyond that at which a student is enrolled might become graduation requirements for that student. Changes made in the curriculum at a level lower than the one at which a student is enrolled are not required of that student. Students should consult their departmental adviser for additional information.

Computer Science B.S.C.S. Eight-Semester Degree Program

The following sections contain the list of courses required for the Bachelor of Science in Computer Science (B.S.C.S.) degree with a suggested sequence below.

Not all courses are offered every semester, so students who deviate from the suggested sequence must pay careful attention to course scheduling and course prerequisites. Students wishing to follow the eight-semester degree plan should see the Eight-Semester Degree Policy in the Academic Regulations chapter for university requirements of the program.

Scholarship students may need to take 1-hour General Elective in Second Year, Spring Semester for 15 semester hours.

First YearUnits
FallSpring
GNEG 1111 Introduction to Engineering I1  
ENGL 1013 Composition I (ACTS Equivalency = ENGL 1013) (Satisfies General Education Outcome 1.1)3  
CHEM 1103 University Chemistry I (ACTS Equivalency = CHEM 1414 Lecture)3  
MATH 2554 Calculus I (ACTS Equivalency = MATH 2405) (Satisfies General Education Outcome 2.1)14  
PHYS 2054 University Physics I (ACTS Equivalency = PHYS 2034) (Satisfies General Education Outcome 3.4)4  
GNEG 1121 Introduction to Engineering II  1
MATH 2564 Calculus II (ACTS Equivalency = MATH 2505)  4
Freshman Science Elective (Satisfies General Education Outcome 3.4) Choose one of the following options:  4
PHYS 2074 University Physics II (ACTS Equivalency = PHYS 2044 Lecture)
or CHEM 1123/1121L University Chemistry II (ACTS Equivalency = CHEM 1424 Lecture)
ENGL 1023 Composition II (ACTS Equivalency = ENGL 1023) (Satisfies General Education Outcome 1.1)
or ENGL 1033 Technical Composition II (ACTS Equivalency = ENGL 1023)
  3
U.S. History Elective (Satisfies General Education Outcomes 3.2 and 4.2) Choose from one of the following courses:  3
HIST 2003 History of the American People to 1877 (ACTS Equivalency = HIST 2113)
HIST 2013 History of the American People, 1877 to Present (ACTS Equivalency = HIST 2123)
Year Total: 15 15
 
Second YearUnits
FallSpring
CSCE 2004 Programming Foundations I4  
CSCE 2114 Digital Design4  
MATH 2603 Discrete Mathematics3  
Fine Arts Elective (Satisfies General Education Outcome 3.1)23  
Social Sciences Elective (Satisfies General Education Outcomes 3.3 and 4.1)33  
CSCE 2014 Programming Foundations II  4
CSCE 2214 Computer Organization  4
MATH 3083 Linear Algebra  3
Social Sciences Elective (Satisfies General Education Outcome 3.3)4  3
Year Total: 17 14
 
Third YearUnits
FallSpring
CSCE 3193 Programming Paradigms3  
CSCE 3613 Operating Systems3  
INEG 3313 Engineering Probability and Statistics53  
PHIL 3103 Ethics and the Professions (Satisfies General Education Outcome 5.1)3  
General Elective3  
CSCE 3513 Software Engineering (Satisfies General Education Outcome 6.1)  3
CSCE 4523 Database Management Systems  3
CSCE Elective (4000 level)  3
MATH 3103 Combinatorics  3
COMM 1313 Public Speaking (ACTS Equivalency = SPCH 1003) (Satisfies General Education Outcome 1.2)  3
Year Total: 15 15
 
Fourth YearUnits
FallSpring
CSCE 4561 Capstone I1  
CSCE 4133 Algorithms3  
CSCE 4753 Computer Networks3  
CSCE Elective (4000 level)3  
General Elective3  
General Elective3  
CSCE 4963 Capstone II  3
CSCE 4323 Formal Languages and Computability  3
CSCE Elective (4000 level)  3
General Elective  3
Social Sciences Elective (Satisfies General Education Outcome 3.3)3  3
Year Total: 16 15
 
Total Units in Sequence:  122

Requirements for B.A. in Computer Science

The Bachelor of Arts in Computer Science degree has the same educational objectives as the Bachelor of Science degree. However, the course requirements differ greatly to allow students to double major or pursue other interests.

Humanities and social science electives are selected from the State Minimum Core Requirements listed in the Catalog of Studies. To satisfy the State Minimum Core, all CSCE students are required to take the following 18 hours of humanities/social science courses:

PHIL 3103Ethics and the Professions3
Fine Arts from Category "A"3
U.S. History3
Social Science9

The Undergraduate Handbook has a list of approved basic science, mathematics, and technical electives. Any course not included in these lists requires faculty approval.

Degree Program Changes

Students must meet all requirements of their degree programs and are expected to keep informed concerning current regulations, policies, and program requirements in their fields of study. Changes made in the curriculum at a level beyond that at which a student is enrolled might become graduation requirements for that student. Changes made in the curriculum at a level lower than the one at which a student is enrolled are not required of that student. Students should consult their departmental adviser for additional information.

Computer Science B.A. Eight-Semester Degree Program

The following sections contain the list of courses required for the Bachelor of Arts in Computer Science (B.A.) degrees with a suggested sequence below.

Not all courses are offered every semester, so students who deviate from the suggested sequence must pay careful attention to course scheduling and course prerequisites. Students wishing to follow the eight-semester degree plan should see the Eight-Semester Degree Policy in the Academic Regulations chapter for university requirements of the program.

Scholarship students may need to take General Elective hours in First Year, Fall and Spring Semesters, as well as the Third Year, Spring Semester for 15 semester hours.

First YearUnits
FallSpring
ENGL 1013 Composition I (ACTS Equivalency = ENGL 1013) (Satisfies General Education Outcome 1.1)3  
MATH 2554 Calculus I (ACTS Equivalency = MATH 2405) (Satisfies General Education Outcome 2.1)14  
Social Sciences Elective Satisfies General Education Outcomes (3.3 and 4.1) 23  
Select one of the following Satisfies General Education Outcomes (3.2 and 4.2)3  
HIST 2003 History of the American People to 1877 (ACTS Equivalency = HIST 2113)
HIST 2013 History of the American People, 1877 to Present (ACTS Equivalency = HIST 2123)
CSCE 2004 Programming Foundations I  4
CSCE 2114 Digital Design  4
ENGL 1023 Composition II (ACTS Equivalency = ENGL 1023) (Satisfies General Education Outcome 1.1)
or ENGL 1033 Technical Composition II (ACTS Equivalency = ENGL 1023)
  3
MATH 2603 Discrete Mathematics  3
Year Total: 13 14
 
Second YearUnits
FallSpring
CSCE 2014 Programming Foundations II4  
CSCE 2214 Computer Organization4  
Fine Arts Elective (Satisfies General Education Outcome 3.1)33  
Social Sciences Elective (Satisfies General Education Outcome 3.3)43  
General Elective3  
CSCE 3193 Programming Paradigms  3
COMM 1313 Public Speaking (ACTS Equivalency = SPCH 1003) (Satisfies General Education Outcomes 1.2 and 5.1)  3
STAT 2303 Principles of Statistics (ACTS Equivalency = MATH 2103)  3
Two General Electives  6
Year Total: 17 15
 
Third YearUnits
FallSpring
CSCE 3513 Software Engineering (Satisfies General Education Outcome 6.1)3  
ENGL 3053 Technical and Professional Writing (ACTS Equivalency = ENGL 2023)3  
Science Elective (Meets State Minimum Core and Satisfies General Education Outcome 3.4)4  
Two General Electives6  
PHIL 3103 Ethics and the Professions5  3
CSCE 3613 Operating Systems  3
Social Science Elective (Satisfies General Education Outcome 3.3)3  3
Two General Electives  5
Year Total: 16 14
 
Fourth YearUnits
FallSpring
Two CSCE electives (3000 level or higher)6  
Science Elective (Meets State Minimum Core and Satisfies General Education Outcome 3.4)4  
Two General Electives (3000 level or higher)6  
Two CSCE electives (3000 level or higher)  6
Three General Electives (3000 level or Higher)  9
Year Total: 16 15
 
Total Units in Sequence:  120

Requirements for a Minor in Computer Science:

CSCE 2004Programming Foundations I4
CSCE 2014Programming Foundations II4
CSCE 3193Programming Paradigms3
Three additional CSCE courses numbered above 2000.9
Total Hours20

Certificate of Proficiency in Cybersecurity and Data Management

Students pursuing the Certificate of Proficiency in Cybersecurity and Data Management Program in the Information Systems Department of the Sam M. Walton College of Business must meet the admission requirements for the University of Arkansas and have completed pre-business and business core requirements as well as maintain at least a 2.50 (on a 4.0 scale) overall grade-point average. 

Required Core Courses (3 hours)
ISYS 4013Principles of Data and Cybersecurity3
ISYS 4023Network and Data Security in a Changing World3
ISYS 4043Cybersecurity, Crime and Data Privacy Law Fundamentals3
Elective Courses6
Advanced Information Security Management
Advanced Cybersecurity, Crime and Privacy Law
Blockchain Fundamentals
Cryptocurrency
Ethics and Corporate Responsibility
Total Hours15

All specific course prerequisites must be met. Each student must have a 2.00 cumulative grade-point average in the courses offered for the certificate.  All upper-division certificate requirements must be taken in residence.

Requirements for Departmental Honors in Computer Science and Computer Engineering

The Honors Program in Computer Science and Computer Engineering is designed for the superior student and is intended to help the student develop a more comprehensive view of Computer Science and Computer Engineering. The program provides a vehicle for the recognition of achievements beyond the usual course of study. Higher degree distinctions are recommended only in truly exceptional cases and are based upon the candidate’s whole program of honors studies. A minimum of 12 hours of honors coursework is required.

The following requirements are necessary for graduation with honors in either the Computer Engineering or Computer Science Bachelor of Science program:

  1. The candidate must satisfy the requirements set forth by the College of Engineering.
  2. The student must obtain at least a 3.50 grade-point average in required Computer Engineering and/or Computer Science courses.
  3. The student must complete 6 hours of Honors credit in the major, which includes 3 hours of Honors Thesis taken as successive semesters of CSCE 491VH and 3 hours of CSCE coursework.

Andrews, David, Ph.D. (Syracuse University), M.S., B.S.E.E. (University of Missouri-Columbia), Professor, Thomas Mullins Chair of Computer Science and Computer Engineering, 2008.
Di, Jia, Ph.D. (University of Central Florida), M.S., B.S. (Tsinghua University), Professor, 21st Century Research Leadership Chair, 2004, 2014.
Gauch, John Michael, Ph.D. (University of North Carolina at Chapel Hill), M.Sc., B.Sc. (Queen’s University, Canada), Professor, 2008.
Gauch, Susan E., Ph.D. (University of North Carolina at Chapel Hill), M.Sc., B.Sc. (Queen’s University, Canada), Professor, 2007.
Huang, Miaoqing, Ph.D. (George Washington University), B.S. (Fudan University), Associate Professor, 2010, 2016.
Jin, Kevin, Ph.D., M.S., (University of Illinois at Urbana-Champaign), B.E. (Nanyang Technological University, Singapore), Associate Professor, , 2021.
Le, Thi Hoang Ngan, Ph.D. (Carnegie Mellon University), M.S., B.S. (University of Natural Sciences, Ho Chi Minh City, Vietnam), Assistant Professor, 2019.
Li, Qinghua, Ph.D. (Pennsylvania State University), M.S. (Tsinghua University), B.E. (Xi’an Jiaotong University), Associate Professor, 2013.
Li, Wing Ning, Ph.D., M.S. (University of Minnesota-Twin Cities), B.S. (University of Iowa), Professor, 1989, 2007.
Luu, Khoa, Ph.D. (Concordia University), Assistant Professor, 2018.
Nakarmi, Ukash, Ph.D. (University at Buffalo), M.S. (Oklahoma State University), Assistant Professor, 2020.
Nelson, Alexander H., Ph.D. (University of Maryland), M.S., B.S. (University of Arkansas), Assistant Professor, 2017.
Panda, Brajendra Nath, Ph.D. (North Dakota St. University), M.S. (Utkal University, India), Professor, 2001, 2007.
Parkerson, Pat, Ph.D., B.S. (University of Arkansas), Associate Professor, 1990, 2005.
Patitz, Matthew J., Ph.D., M.S., B.S. (Iowa State University), Associate Professor, 2012, 2018.
Peng, Yarui, Ph.D., M.S. (Georgia Institute of Technology), B.S. (Tsinghua University), Assistant Professor, 2017.
Streeter, Lora, Ph.D., M.S. (University of Arkansas, Fayetteville), Teaching Assistant Professor, 2019.
Thompson, Dale R., Ph.D. (North Carolina State University), M.S., B.S. (Mississippi State University), Associate Professor, 2000, 2006.
Wu, Xintao, Ph.D. (George Mason University), M.E. (Chinese Academy of Space Technology), B.S. (University of Science and Technology of China), Professor, Charles D. Morgan/Acxiom Graduate Research Chair, 2014, 2019.
Zhan, Justin, Ph.D. (University of Ottawa, Canada), M.S. (Syracuse University), Professor, 2019.
Zhang, Lu, Ph.D. (Nanyang Technological University, Singapore), Assistant Professor, 2018.

Courses

CSCE 2004. Programming Foundations I. 4 Hours.

Introductory programming course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representation, conditional and iterative statements, functions, arrays, strings, file I/O and classes. Using C++ in a UNIX environment. Corequisite: Lab component. Prerequisite: MATH 2445 or MATH 2554 or MATH 2554C with a grade of C or better, a College of Engineering (ENGR) student, a Computer Science Minor (CSCE-M), or a math major (MATHBS or MATHBA). (Typically offered: Fall and Spring)

CSCE 2014. Programming Foundations II. 4 Hours.

This course continues developing problem solving techniques by focusing on fundamental data structures and associated algorithms. Topics include: abstract data types, introduction to object-oriented programming, linked lists, stacks, queues, hash tables, binary trees, graphs, recursion, and searching and sorting algorithms. Using C++ in a UNIX environment. Corequisite: Lab component. Prerequisite: CSCE 2004 with a grade of C or better. (Typically offered: Fall and Spring)

CSCE 2023. Introduction to Programming in Java. 3 Hours.

Introduction to programming in Java with emphasis on engineering applications. Programming techniques: data representation and expressions, conditional and iterative statements, arrays, lists, file I/O, methods. Object oriented programming: designing, implementing and using classes, collections and composite objects. Students will gain hands-on programming experience and exposure to classic engineering problem solving techniques. Prerequisite: MATH 2445 or MATH 2554 or MATH 2554C, each with a grade of C or higher. (Typically offered: Irregular)

CSCE 2114. Digital Design. 4 Hours.

Introduction to the hardware aspects of digital computers, logic gates, flip-flops, reduction, finite state machines, sequential logic design, digital systems, software design tools, hardware description language (VHDL), and implementation technologies. Corequisite: Lab component. Prerequisite: MATH 2554 or MATH 2554C with a grade of C or better. (Typically offered: Fall and Spring)
This course is cross-listed with ELEG 2904.

CSCE 2214. Computer Organization. 4 Hours.

Presents the relationship between computing hardware and software with a focus on the concepts for current computers. CPU design topics are covered including various techniques for microprocessor design and performance evaluation. Corequisite: Lab component. Prerequisite: CSCE 2114 with a grade of C or better. (Typically offered: Fall and Spring)

CSCE 3193. Programming Paradigms. 3 Hours.

Programming in different paradigms with emphasis on object oriented programming and network programming. Survey of programming languages, event driven programming, and concurrency. Prerequisite: CSCE 2014 with a grade of C or better. (Typically offered: Fall and Spring)

CSCE 3193H. Honors Programming Paradigms. 3 Hours.

Programming in different paradigms with emphasis on object oriented programming and network programming. Survey of programming languages, event driven programming, and concurrency. Prerequisite: CSCE 2014 with a grade of C or better. (Typically offered: Fall)
This course is equivalent to CSCE 3193.

CSCE 3213. Cluster Computing. 3 Hours.

Cluster computing solves problems too large in terms of memory or run time for a single workstation. Common approaches to these problems combine the resources of multiple computers to collectively find the solution. High performance computing is quickly expanding to areas including: chemistry, physics, mathematics, engineering, bio-informatics, finance, logistics, etc. (Typically offered: Irregular)

CSCE 3513. Software Engineering. 3 Hours.

A modern approach to the current techniques used in software design and development. This course emphasizes the use of modern software development tools, multi-module programming, and team design and engineering. Prerequisite: CSCE 3193 or CSCE 3193H or DASC 2103 with a grade of C or better. (Typically offered: Fall and Spring)

CSCE 3613. Operating Systems. 3 Hours.

An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies. Prerequisite: CSCE 2014 and CSCE 2214, each with a grade of C or better. (Typically offered: Fall and Spring)

CSCE 3613H. Honors Operating Systems. 3 Hours.

An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies. Prerequisite: CSCE 2014 and CSCE 2214, each with a grade of C or better. (Typically offered: Spring)
This course is equivalent to CSCE 3613.

CSCE 3953. System Synthesis and Modeling. 3 Hours.

This course instructs the students in the use of modern synthesis and modeling languages and approaches for design automation. This course will teach students the use of HDLs and modeling languages for representing and implementing digital computer systems. Prerequisite: CSCE 2214 with a grade of C or better. (Typically offered: Fall)

CSCE 4013. Special Topics. 3 Hours.

Consideration of computer science topics not covered in other courses. Prerequisite: CSCE 3193 and CSCE 2214. (Typically offered: Irregular) May be repeated for up to 12 hours of degree credit.

CSCE 4043. RFID Information Systems Security. 3 Hours.

Radio frequency identification (RFID) information systems provide information to users about objects with RFID tags. They require the application of information systems security (INFOSEC) to protect the information from tampering, unauthorized information disclosure, and denial of service to authorized users. This course addresses security and privacy in an RFID system. Prerequisite: INEG 2313. (Typically offered: Irregular)

CSCE 4114. Embedded Systems. 4 Hours.

The architecture, software, and hardware of embedded systems. Involves a mixture of hardware and software for the control of a system (including electrical, electro-mechanical, and electro-chemical systems). They are found in a variety of products including cars, VCRs, HDTVs, cell phones, pacemakers, spacecraft, missile systems, and robots for factory automation. Corequisite: Lab component. Prerequisite: CSCE 2214 with a grade of C or better. (Typically offered: Fall)

CSCE 4123. Programming Challenges. 3 Hours.

This course studies the principle methods used in the solution of programming contest problems, e.g., data structures strings, sorting, machine arithmetic and algebra, combinatorics, number theory, backtracking, graph traversal, graph algorithms, dynamic programming, grids, and computational geometry. Prerequisite: CSCE 2014. (Typically offered: Irregular)

CSCE 4133. Algorithms. 3 Hours.

Provides an introduction to formal techniques for analyzing the complexity of algorithms. The course surveys important classes of algorithms used in computer science and engineering. Prerequisite: CSCE 3193 and (MATH 2603 or MATH 2803) or MATH 4423. (Typically offered: Fall)

CSCE 4143. Data Mining. 3 Hours.

The course focuses on the principles, theory, design, and implementation of data mining algorithms for large-scale data. Topics include foundations of data mining; preprocessing; mining frequent patterns, associations and correlations; supervised learning including decision tree induction, naïve Bayesian classification, support vector machine, logistic regression, Bayesian network, and K-nearest neighbor learning; unsupervised learning including K-means clustering, hierarchical clustering, density-based clustering, and grid-based clustering; outlier analysis; graph mining; scalable and distributed data mining. Prerequisite: (CSCE 3193 or CSCE 3193H or DASC 2103) or (CSCE 2014 and INEG 2333 and INEG 2313) or (CSCE 2014 and STAT 3013 and STAT 3003)). (Typically offered: Fall)
This course is cross-listed with INEG 4143.

CSCE 4213. Computer Architecture. 3 Hours.

The architecture of modern scalar and parallel computing systems. Techniques for dynamic instruction scheduling, branch prediction, instruction level parallelism, shared and distributed memory multiprocessor systems, array processors, and memory hierarchies. Prerequisite: CSCE 2214 with a grade of C or better. (Typically offered: Spring)
This course is cross-listed with ELEG 4983.

CSCE 4233. Low Power Digital Systems. 3 Hours.

The reduction of power consumption is rapidly becoming one of the key issues in digital system design. Traditionally, digital system design has mainly focused on performance and area trade-offs. This course will provide a thorough introduction to digital design for lower consumption at the circuit, logic, and architectural level. Prerequisite: CSCE 2214 with a grade of C or better. (Typically offered: Irregular)

CSCE 4253. Concurrent Computing. 3 Hours.

Programming concurrent processes; computer interconnection network topologies; loosely coupled and tightly coupled paralleled computer architectures; designing algorithms for concurrency; distributed computer architectures. Prerequisite: CSCE 3193. (Typically offered: Irregular)

CSCE 4263. Advanced Data Structures. 3 Hours.

This course continues the study of data structures, algorithmic analysis for these data structures, and their efficient implementation to support standard library in programming languages. Topics include: AVL trees, Red-Black trees, Splay trees, Optimal Binary Search trees, 2-3 tree, 2-3-4 tree, B-trees, Segment trees, Leftist Heaps, Binomial Heaps, Fibonacci Heap, Disjoint Set, Hashing, and big integer with hundreds to thousands of digits. Prerequisite: CSCE 3193. (Typically offered: Irregular)

CSCE 4273. Big Data Analytics and Management. 3 Hours.

Introduction to tools and techniques for distributed data computing and management, big data analytics, scalable machine learning, and real-time streaming data analysis. Students cannot receive credit for both CSCE 4273 and CSCE 5273.Prerequisite: CSCE 3193 or DASC 2103. (Typically offered: Irregular)

CSCE 4323. Formal Languages and Computability. 3 Hours.

Finite Automata and regular languages, regular expressions, context-free languages and pushdown automata, nondeterminism, grammars, and Turing machines. Church's thesis, halting problem, time complexity, space complexity and undecidability. Prerequisite: MATH 2603 and CSCE 3193. (Typically offered: Spring)

CSCE 4333. Introduction to Integrated Circuit Design. 3 Hours.

Design and layout of large scale digital integrated circuits using CMOS technology. Topics include MOS devices and basic circuits, integrated circuit layout and fabrication, dynamic logic, circuit design and layout strategies for large scale CMOS circuits. Students may not receive credit for both CSCE 4333 and CSCE 5223. Prerequisite: ELEG 3214 or ELEG 3933 and MATH 2584 (Typically offered: Fall)

CSCE 4353. CPLD/FPGA-Based System Design. 3 Hours.

Field Programmable Logic devices (FPGAs/CPLDs) have become extremely popular as basic building blocks for digital systems. They offer a general architecture that users can customize by inducing permanent or reversible physical changes. This course will deal with the implementation of logic options using these devices. Prerequisite: CSCE 2214 with a grade of C or better. (Typically offered: Irregular)
This course is cross-listed with ELEG 4963.

CSCE 4373. Electronic Design Automation. 3 Hours.

This course studies physical design, analysis and optimization of VLSI circuits and systems with emphasis on computational realizations and optimization. We start with some related topics such as graph algorithms and discuss various well-known algorithms and methodologies in the design process of VLSI circuits, including design partitioning, logic synthesis, floorplanning, routing, static timing analysis and performance-driven layout. It requires a basic knowledge of digital circuit design, data structure, and object-oriented programming. Students cannot receive credit for both CSCE 4373 and CSCE 5373. Prerequisite: CSCE 3953 and CSCE 3193, each with a C or higher. (Typically offered: Irregular)

CSCE 4423. Computer Systems Modeling. 3 Hours.

Basic concepts of problem analysis, model design, and simulation experiments. A simulation will be introduced and used in this course. Prerequisite: CSCE 2014 with a grade of C or better and INEG 2313. (Typically offered: Irregular)

CSCE 4433. Cryptography. 3 Hours.

This course provides a general introduction to modern cryptography. Topics include: stream ciphers, block ciphers, message authentication codes, public key encryption, key exchange, and signature schemes. Prerequisite: CSCE 2014 with a grade of C or better and (MATH 2603 or MATH 2803). (Typically offered: Irregular)

CSCE 4523. Database Management Systems. 3 Hours.

Introduction to database management systems, architecture, storage structures, indexing, relational data model, E-R diagrams, query languages, SQL, ODBC, transaction management, integrity, and security. Prerequisite: CSCE 3193 or CSCE 3193H with a C or better. (Typically offered: Spring)

CSCE 4543. Software Architecture. 3 Hours.

A study of software architecture through the use of case studies drawn from real systems designed to solve real problems from technical as well as managerial perspectives. Techniques for designing, building, and evaluating software architectures. Prerequisite: CSCE 4133 and CSCE 3513. (Typically offered: Irregular)

CSCE 4553. Information Retrieval. 3 Hours.

The objective of this course is to give students a hands-on introduction to information retrieval systems. Classical textual information retrieval systems are studied, including text preprocessing, file structures, term-weighting schemes, and web search engines. Students may not receive credit for both CSCE 4553 and CSCE 5533. Prerequisite: CSCE 3193. (Typically offered: Irregular)

CSCE 4561. Capstone I. 1 Hour.

CSCE students complete a comprehensive software capstone project during their final year of undergraduate studies. The project is done over 2 semesters in phases: concept, formal proposal, implementation, and presentation. The projects include and may require the integration of software and human factors and hardware elements and are developed to software engineering methodologies. Prerequisite: CSCE 3513 and (CSCE 3613 or CSCE 3613H) and completion of 96 credit hours. (Typically offered: Fall)

CSCE 4613. Artificial Intelligence. 3 Hours.

Introduction to intelligent agents, AI languages, search, first order logic, knowledge representation, ontologies, problem solving, natural language processing, machine vision, machine learning, and robotics. Prerequisite: CSCE 3193 or CSCE 3193H or DASC 2103. (Typically offered: Irregular)

CSCE 4623. Mobile Programming. 3 Hours.

An introduction to software development on mobile devices. The major topics covered in this course include underlying concepts and principles in mobile programming, as well as hands-on programming experience on mobile devices with an emphasis on smartphones. Prerequisite: CSCE 3193 or CSCE 3193H. (Typically offered: Irregular)

CSCE 4643. Graphics Processing Units Programming. 3 Hours.

This course provides an introduction to massively parallel programming using Graphics Processing Units (GPUs). Topics include basic programming model, GPU thread hierarchy, GPU memory architecture, and performance optimization techniques and parallel patterns needed to develop real-life applications. Prerequisite: CSCE 2014 with a grade of C or better. (Typically offered: Irregular)

CSCE 4753. Computer Networks. 3 Hours.

This course is an introductory course on computer networks. Using the Internet as a vehicle, this course introduces underlying concepts and principles of modern computer networks, with emphasis on protocols, architectures, and implementation issues. Students cannot receive graduate credit for CSCE 4753. Prerequisite: CSCE 2214 and CSCE 3193. (Typically offered: Irregular)

CSCE 4783. Cloud Computing and Security. 3 Hours.

Cloud computing has entered the mainstream of information technology, providing highly elastic scalability in delivery of enterprise applications and services. In this course, we will focus on the architecture of today's cloud computing, the technologies used within them, application development using contemporary cloud computing tools, and the security risks and management in the cloud. Students cannot receive credit for both CSCE 4783 and CSCE 5783. Prerequisite: CSCE 3613. (Typically offered: Irregular)

CSCE 4813. Computer Graphics. 3 Hours.

Introduction to the theory and algorithms used in computer graphics systems and applications. Topics include: 2D and 3D geometric models (points, lines, polygons, surfaces), affine transformations (rotation, translation, scaling), viewpoint calculation (clipping, projection), lighting models (light-material interactions, illumination and shadow calculation). Students will implement their own graphics pipeline to demonstrate many of these techniques. Higher level computer graphics applications will be created using OpenGL. Prerequisite: CSCE 2014 with a grade of C or better. (Typically offered: Irregular)

CSCE 4853. Information Security. 3 Hours.

This course covers principles, mechanisms, and policies governing confidentiality, integrity, and availability of digital information. Topics to be covered include security concepts and mechanisms, security policies, multilevel security models, system vulnerability, threat and risk assessment, basic cryptography and its applications, intrusion detection systems. Prerequisite: CSCE 3193 or CSCE 3193H. (Typically offered: Irregular)

CSCE 490V. Individual Study. 1-6 Hour.

Individual study directed by faculty in current research topics, state of the art, or advanced methodology in one of the major computer science or computer engineering areas. (Typically offered: Irregular) May be repeated for up to 6 hours of degree credit.

CSCE 4914. Advanced Digital Design. 4 Hours.

To master advanced logic design concepts, including the design and testing of synchronous and asynchronous combinational and sequential circuits using state of the art CAD tools. Corequisite: Lab component. Prerequisite: CSCE 2114 or ELEG 2904. (Typically offered: Irregular)
This course is cross-listed with ELEG 4914.

CSCE 491VH. Honors Thesis. 1-3 Hour.

To provide honors students with experience in presenting their research accomplishments to their peers and faculty. Prerequisite: Honors standing. (Typically offered: Fall and Spring) May be repeated for up to 3 hours of degree credit.

CSCE 4963. Capstone II. 3 Hours.

CSCE students complete a comprehensive capstone project during their final year of undergraduate studies. The project is done over two consecutive semesters in phases: concepts, formal proposal, implementation, and presentation. The projects include and may require the integration of software, human factors, and hardware elements and are developed using software engineering methodologies. Prerequisite: CSCE 4561. (Typically offered: Spring)