Jia Di
Head of the Department
JBHT 504 J.B. Hunt Center for Academic Excellence
479-575-5728
Email: jdi@uark.edu 

Roy A. McCann
Graduate Coordinator
504 J.B. Hunt Center for Academic Excellence
479-575-6054
Email: rmccann@uark.edu

Computer Science and Computer Engineering Website

Degrees Conferred:
M.S. in Computer Science (CSCEMS)
M.S.Cmp.E. in Computer Engineering (CENGMS)
Ph.D. in Engineering (Computer Science) (CSCEPH)
Ph.D. in Engineering (Computer Engineering) (CENGPH)

Graduate Certificates (non-degree):
Graduate Certificate in Cybersecurity (CYBRGC)

Primary Areas of Faculty Research: Cybersecurity, Big Data, Data Analytics, Blockchain, Machine Learning and Quantum Machine Learning, Computer Vision and Image Processing, Social Aware Artificial Intelligence, Computer System Design and High-Performance Computing, Deep Learning and Natural Language Processing, Algorithmic Self-Assembly and Biomolecular Computing, Computer-Aided Design.

Requirements for M.S.Cmp.E. in Computer Engineering

Students enrolled in the M.S. in Computer Engineering program can expect to take more courses with an emphasis in hardware and systems. The advisory committee will approve courses that are appropriate for the student’s program and interests. All rules and regulations of the CSCE Department, the College of Engineering, and the Graduate School must be followed.

Admission Requirements: Applicants to the M.S. in Computer Engineering program should have a Bachelor of Science degree in computer engineering. Applicants to the program whose transcripts do not show core courses relevant to the program to which they are applying will be assigned deficiency courses. The application is submitted to the Graduate School and must include transcripts, a Statement of Purpose, and a Resume. To be considered for admission, applicants must comply with all requirements of the Graduate School and the following CSCE Department requirements:

  • Have a GPA of 3.0 or better on previous academic work;
  • Three recommendation letters;
  • Foreign applicants must also have either:
    • TOEFL (Test of English as a Foreign Language), or
    • IELTS (International English Language Testing System)

Degree Requirements: The thesis option (30 hours) requires the successful completion of at least six credit hours of CSCE 610V Master's Thesis, plus 24 credit hours of course work approved by the candidate’s advisory committee. At least 15 of the 24 hours must be CSCE courses at the 5000 level. The remaining nine hours must be at the 5000 level and may include no more than six hours of transfer work, three hours of individual study, or six hours from outside the department.

All master’s students completing the thesis option must pass an oral examination and defense of the thesis in, at most, two attempts.The first attempt may not occur before all of the following qualifying conditions have been satisfied:

  • Candidate has completed at least 21 hours that are applicable toward the degree;
  • Candidate is currently enrolled in CSCE 610V.
  • Candidate’s cumulative grade-point average on all graduate-level courses is 3.0 or higher;
  • Any deficiencies assigned upon admission to the program have been removed; Candidate must be continuously enrolled, except for summers, until the thesis is defended.

The final exam is comprehensive; a portion of the exam will be devoted to questions concerning courses completed by the student. Another portion of the exam will be directed toward a defense of the thesis. Reading copies of the thesis should be delivered to members of the Thesis Committee at least two weeks prior to undertaking the final examination. If a student is unsuccessful, the Program of Study committee may recommend that the examination be repeated. If so, the requirements to be satisfied prior to reexamination will be stipulated and a time limitation specified.

All other conditions that have been specified by the student’ advisory or thesis committee must be satisfied.

The course work option requires the successful completion of 33 credit hours of course work approved by the candidate’s graduate committee. At least 21 of the 33 hours must be CSCE courses at the 5000 level. The remaining twelve hours must be at the 5000 level and may include no more than six hours of transfer work, three hours of individual study, or six hours from outside the department.

All master’s students completing the course work option must pass an oral examination of the course work in the final semester of enrollment of graduate-level courses and the following conditions have been satisfied:

  1. The candidate’s cumulative grade-point average on all graduate-level courses is 3.0 or higher.
  2. Any deficiencies assigned upon admission to the program have been removed.

Students who complete a B.S. degree in CSCE at the University of Arkansas, Fayetteville, with a cumulative GPA of 3.5 or greater may count up to six hours of CSCE graduate-level course work (5000 level) completed as an undergraduate student towards the graduate degree. The graduate courses must be completed within the two year period before receiving the undergraduate degree.

Students should also be aware of Graduate School requirements with regard to master's degrees.

Grade Requirements: Students in the master’s program in Computer Science or Computer Engineering must maintain grades at the B level or higher.  Should a student receive a grade of C or lower, the student must immediately  contact the student's adviser and the Graduate Coordinator to discuss the consequences and options available. The graduate adviser and the CSCE graduate program coordinator will select the student's classes for the following semester. If a second grade lower than B is received the student will be terminated from the program. The student may appeal the termination to the Graduate Studies Committee. If the student is allowed to remain in the program the student should expect to be required to repeat one or more classes in which a grade less than B was received as well as other possible requirements.

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

Students enrolled in the M.S. in Computer Science program can expect to take more courses with an emphasis in software and theory. The advisory committee will approve courses that are appropriate for the student’s program and interests. All rules and regulations of the CSCE Department, the College of Engineering, and the Graduate School must be followed.

Admission Requirements: Applicants to the M.S. in Computer Science program should have a Bachelor of Science degree in computer science. Applicants to the program whose transcripts do not show core courses relevant to the program to which they are applying will be assigned deficiency courses. The application is submitted to the Graduate School and must include transcripts, a Statement of Purpose, and a Resume. To be considered for admission, applicants must comply with all requirements of the Graduate School and the following CSCE Department requirements:

  • Have a GPA of 3.0 or better on previous academic work;
  • Three recommendation letters;
  • Foreign applicants must also have either:
    • TOEFL (Test of English as a Foreign Language), or
    • IELTS (International English Language Testing System)

Degree Requirements: The thesis option (30 hours) requires the successful completion of at least six credit hours of CSCE 610V Master's Thesis, plus 24 credit hours of course work approved by the candidate’s advisory committee. At least 15 of the 24 hours must be CSCE courses at the 5000 level. The remaining nine hours must be at the 5000 level and may include no more than 6 hours of transfer work, 3 hours of individual study, or 6 hours from outside the department.

All master’s students completing the thesis option must pass an oral examination and defense of the thesis in, at most, two attempts. The first attempt may not occur before all of the following qualifying conditions have been satisfied:

  • Candidate has completed at least 21 hours that are applicable toward the degree;
  • Candidate is currently enrolled in CSCE 610V.
  • Candidate’s cumulative grade-point average on all graduate-level courses is 3.0 or higher;
  • Any deficiencies assigned upon admission to the program have been removed; Candidate must be continuously enrolled, except for summers, until the thesis is defended.

The final exam is comprehensive; a portion of the exam will be devoted to questions concerning courses completed by the student. Another portion of the exam will be directed toward a defense of the thesis. Reading copies of the thesis should be delivered to members of the Thesis Committee at least two weeks prior to undertaking the final examination. If a student is unsuccessful, the Program of Study committee may recommend that the examination be repeated. If so, the requirements to be satisfied prior to reexamination will be stipulated and a time limitation specified.

All other conditions that have been specified by the student’ advisory or thesis committee must be satisfied.

The course work option requires the successful completion of 33 credit hours of course work approved by the candidate’s graduate committee. At least 21 of the 33 hours must be CSCE courses at the 5000 level. The remaining 12 hours must be at the 5000 level and may include no more than 6 hours of transfer work, three hours of individual study, or 6 hours from outside the department.

All master’s students completing the course work option must pass an oral examination of the course work in the final semester of enrollment of graduate-level courses and the following conditions have been satisfied:

  1. The candidate’s cumulative grade-point average on all graduate-level courses is 3.0 or higher.
  2. Any deficiencies assigned upon admission to the program have been removed.

Students who complete a B.S. degree in CSCE at the University of Arkansas, Fayetteville, with a cumulative GPA of 3.5 or greater may count up to 6 hours of CSCE graduate-level course work (5000 level) completed as an undergraduate student towards the graduate degree. The graduate courses must be completed within the two year period before receiving the undergraduate degree.

Students should also be aware of Graduate School requirements with regard to master's degrees.

Grade Requirements: Students in the master’s programs in Computer Science or Computer Engineering must maintain grades at the B level or higher.  Should a student receive a grade of C or lower, the student must immediately  contact the student's adviser and the Graduate Coordinator to discuss the consequences and options available. The graduate adviser and the CSCE graduate program coordinator will select the student's classes for the following semester. If a second grade lower than B is received the student will be terminated from the program. The student may appeal the termination to the Graduate Studies Committee. If the student is allowed to remain in the program the student should expect to be required to repeat one or more classes in which a grade less than B was received as well as other possible requirements.

Ph.D. in Computer Engineering

Admission Requirements: Applicants to the Doctor of Philosophy degree with a concentration in computer engineering program should have a Bachelor of Science degree in computer engineering. Applicants to the program whose transcripts do not show core courses relevant to the program to which they are applying will be assigned deficiency courses. The application is submitted to the Graduate School and must include transcripts, a Statement of Purpose, and a Resume. To be considered for admission, applicants must comply with all requirements of the Graduate School and the following Department of Computer Science and Computer Engineering requirements:

  • Have a GPA of 3.0 or better on previous academic work;
  • Have satisfactory GRE (Graduate Record Examination) scores;
  • Three recommendation letters;
  • Foreign applicants must also have either:
    • TOEFL (Test of English as a Foreign Language), or
    • IELTS (International English Language Testing System)

Requirements for the Doctor of Philosophy Degree: In addition to the requirements of the Graduate School, the following departmental requirements must be satisfied by candidates for a Doctor of Philosophy degree with a concentration in computer engineering.

A student is admitted to candidacy by first passing a Qualifying Examination approved and administered by the doctoral advisory committee and then, later, a Candidacy Examination on the student’s dissertation proposal. If a Fail is assigned to the Qualifying Examination, then the student must repeat it. A second failure will terminate the student’s course of study in the doctoral program.

Each student must form a doctoral advisory committee before registering for dissertation hours. This committee must consist of four faculty members who hold qualifying status on the graduate faculty. Three members, including the chair, must hold regular or adjunct appointments in the Department of Computer Science and Computer Engineering. The fourth member should be from outside the department.

For the Candidacy Examination, the student is expected to present a dissertation proposal. Committee members will judge the proposal on its scientific merit, originality, and difficulty. Each Ph.D. student is required to defend a completed dissertation before his or her dissertation committee.

Summary:

  1. All students must complete a minimum of 72 semester hours of graduate-level credit beyond the bachelor’s degree, including a minimum of 42 semester hours of course work and a minimum of 30 semester hours of dissertation research credits.
  2. All course work must be at the graduate level (5000 or above).
  3. Upon recommendation of the student’s advisory committee, a student who has entered the Ph.D. program after a master’s degree may receive credit for up to 30 semester hours. If the 30 hours includes master’s thesis research, the advisory committee may credit up to six hours of thesis research toward the minimum dissertation research requirement.
  4. A maximum of 9 hours total may be from the following list: outside of the CSCE department (with consent of the student’s Advisory Committee), CSCE 590V Advanced Individual Study (up to 3 hours for students without an MS degree), and CSCE 690V Doctoral Individual Study (up to 6 hours). Students with MS cannot use CSCE 590V for these hours.
  5. Ph.D. students must complete a minimum of nine semester credit hours of course work in a set of coherent courses in a related subject area approved by the student’s advisory committee.
  6. Students must earn a minimum cumulative grade-point average of 3.0 on all graduate courses attempted.
  7. Ph.D. students must complete and defend a dissertation on a topic in the student’s major field of study.

Students should also be aware of Graduate School requirements with regard to doctoral degrees.

Requirements for Ph.D. in Engineering (Computer Science)

Admission Requirements: Applicants to the Doctor of Philosophy degree with a concentration in computer science program should have a Bachelor of Science degree in computer science. Applicants to the program whose transcripts do not show core courses relevant to the program to which they are applying will be assigned deficiency courses. The application is submitted to the Graduate School and must include transcripts, a Statement of Purpose, and a Resume. To be considered for admission, applicants must comply with all requirements of the Graduate School and the following CSCE Department requirements:

  • Have a GPA of 3.0 or better on previous academic work;
  • Have satisfactory GRE (Graduate Record Examination) scores;
  • Three recommendation letters;
  • Foreign applicants must also have either:
    • TOEFL (Test of English as a Foreign Language), or
    • IELTS (International English Language Testing System)

Requirements for the Doctor of Philosophy Degree: In addition to the requirements of the Graduate School, the following departmental requirements must be satisfied by candidates for a Doctor of Philosophy degree with a concentration in computer science.

A student is admitted to candidacy by first passing a Qualifying Examination approved and administered by the doctoral advisory committee and then, later, a Candidacy Examination on the student’s dissertation proposal. If a Fail is assigned to the Qualifying Examination, then the student must repeat it. A second failure will terminate the student’s course of study in the doctoral program.

Each student must form a doctoral advisory committee before registering for dissertation hours. This committee must consist of four faculty members who hold qualifying status on the graduate faculty. Three members, including the chair, must hold regular or adjunct appointments in the Department of Computer Science and Computer Engineering. The fourth member should be from outside the department.

For the Candidacy Examination, the student is expected to present a dissertation proposal. Committee members will judge the proposal on its scientific merit, originality, and difficulty. Each Ph.D. student is required to defend a completed dissertation before his or her dissertation committee.

Summary:

  1. All students must complete a minimum of 72 semester hours of graduate-level credit beyond the bachelor’s degree, including a minimum of 42 semester hours of course work and a minimum of 30 semester hours of dissertation research credits.
  2. All course work must be at the graduate level (5000 or above).
  3. Upon recommendation of the student’s advisory committee, a student who has entered the Ph.D. program after a master’s degree may receive credit for up to 30 semester hours. If the 30 hours includes master’s thesis research, the advisory committee may credit up to six hours of thesis research toward the minimum dissertation research requirement.
  4. A maximum of 9 hours total may be from the following list: outside of the CSCE department (with consent of the student’s Advisory Committee), CSCE 590V Advanced Individual Study (up to 3 hours for students without an MS degree), andCSCE 690V Doctoral Individual Study (up to 6 hours). Students with MS cannot use CSCE 590V Advanced Individual Study for these hours.
  5. Ph.D. students must complete a minimum of nine semester credit hours of course work in a set of coherent courses in a related subject area approved by the student’s advisory committee.
  6. Students must earn a minimum cumulative grade-point average of 3.0 on all graduate courses attempted.
  7. Ph.D. students must complete and defend a dissertation on a topic in the student’s major field of study.

Students should also be aware of Graduate School requirements with regard to doctoral degrees.

Graduate Certificate in Cybersecurity

Program Description: The Cybersecurity Graduate Certificate prepares students to protect valuable data assets and develop cyber-centric multidisciplinary security skills for predicting and avoiding cyber threats.

Program Requirements: Students are required to take 12 hours of coursework to complete the Cybersecurity Graduate Certificate.

Required Course
CSCE 5323Computer Security3
Choose 9 hours from the following courses:9
Computer Forensics
CSCE 5433
Secure Digital System Design
Network Security
CSCE 5663
Wireless Systems Security
Privacy Enhancing Technologies
Computer Architecture Security
Total Hours12

Graduate Faculty

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.
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), Associate Professor, 2017, 2023.
Pan, Yanjun, Ph.D., (University of Arizona), B.E. (Nanjing University of Aeronautics and Astronautics, China), Assistant Professor, 2022.
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.
Thompson, Dale R., Ph.D. (North Carolina State University), M.S., B.S. (Mississippi State University), Professor, 2000, 2022.
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.
Zhang, Lu, Ph.D. (Nanyang Technological University, Singapore), Assistant Professor, 2018.

Courses

CSCE 5013. Advanced Special Topics in Computer Science or Computer Engineering. 3 Hours.

Consideration of current computer engineering or computer science topics not covered in other courses. Prerequisite: Graduate standing in Computer Science Computer Engineering. (Typically offered: Irregular) May be repeated for up to 18 hours of degree credit.

CSCE 5033. Advanced Algorithms. 3 Hours.

Design of computer algorithms, with primary emphasis on the development of efficient implementation. Prerequisite: Graduate standing in Computer Science Computer Engineering. (Typically offered: Irregular)

CSCE 5063. Machine Learning. 3 Hours.

An introduction to machine learning, with particular emphasis on neural network techniques. This course presents the basic principles underlying algorithms that improve with experience, and covers using them effectively for modeling data and making predictions. Prerequisite: Computer Science Computer Engineering(CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5073. Data Mining. 3 Hours.

This course surveys the most common methods used in data mining and machine learning. It involves several projects in which students will implement tools that are useful for mining knowledge from data and making predictions. The course will study both heuristic algorithms and statistical techniques. Prerequisite: CSCE 3193 and (INEG 2314 or STAT 3013) or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5114. 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. Graduate degree credit will not be given for both CSCE 4114 and CSCE 5114. Corequisite: Lab component. Prerequisite: CSCE 2214 with a grade of C or better or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Fall)

CSCE 5133. 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. Graduate degree credit will not be given for both CSCE 4133 and CSCE 5133. Prerequisite: ((CSCE 3193 and (MATH 2603 or MATH 2803)) or (MATH 4423) or (Computer Science/Computer Engineering(CS/CE) graduate standing). (Typically offered: Fall)

CSCE 5173. 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, and undecidability. Graduate degree credit will not be given for both CSCE 4323 and CSCE 5173. Prerequisite: CSCE 4133 or CSCE 5133 (formerly CSCE 4133). (Typically offered: Spring)

CSCE 5183. 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. Graduate degree credit will not be given for both CSCE 4263 and CSCE 5183. Prerequisite: CSCE 3193 or Computer Science Computer Engineering(CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5193. 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. Graduate degree credit will not be given for both CSCE 4253 and CSCE 5193. Prerequisite: CSCE 3193 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5203. Advanced Database Systems. 3 Hours.

Topics include: object databases, distributed databases, XML query, data warehouses, network as database systems, peer-peer data sharing architectures, data grids, data mining, logic foundations, semantic databases, spatial and temporal databases, and knowledge bases. Prerequisite: CSCE 4523 or CSCE 5523. (Typically offered: Irregular)

CSCE 5223. 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 3213 or ELEG 3933) and MATH 2584 or Computer Science Computer Engineering(CSCE) graduate standing. (Typically offered: Fall)

CSCE 5233. 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. Graduate degree credit will not be given for both CSCE 4233 and CSCE 5233. Prerequisite: CSCE 2214 with a grade of C or better or graduate standing in Computer Science Computer Engineering (CSCE) or graduate standing in Electrical Engineering (ELEG). (Typically offered: Irregular)

CSCE 5253L. Integrated Circuit Design Laboratory I. 3 Hours.

Design and layout of large scale digital integrated circuits. Students design, check and simulate digital integrated circuits which will be fabricated, and tested in I.C. Design Laboratory II. Topics include computer aided design, circuit timing, and wire delay. Prerequisite: CSCE 4333 or CSCE 5223 or ELEG 4233 or ELEG 5923. (Typically offered: Irregular)
This course is cross-listed with ELEG 5253L.

CSCE 5263. Computational Complexity. 3 Hours.

Turing machines, recursion theory and computability, complexity measures, NP-completeness, analysis on NP-complete problems, pseudo-polynomial and approximation. Prerequisite: Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

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

Topics include principles of distributed data computing and management, design and implementation of non-relational data systems, crowd sourcing and human computation, big data analytics and scalable machine learning, real-time streaming data analysis, and social aware computing. Prerequisite: CSCE 3193 and INEG 2314 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5283. Graph and Combinatorial Algorithms. 3 Hours.

Advanced topics in graph and combinatorial optimization problems. Traditional approach section: P and NP problems, proof of NP-completeness, approximation algorithms for solving NP hard problems. Machine learning-based approach section: graph neural networks, deep reinforcement learning, state-of-the-art machine learning approaches for solving graph and combinatorial optimization problems. Prerequisite: Graduate standing in CSCE Department. (Typically offered: Irregular)

CSCE 5293. 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. Graduate degree credit will not be given for both CSCE 4213 and CSCE 5293. Prerequisite: CSCE 2214 with a grade of C or better or Computer Science Computer Engineering(CSCE) graduate standing. (Typically offered: Spring)

CSCE 5323. Computer Security. 3 Hours.

This course covers a broad selection of contemporary issues in computer security. Topics include security concepts and mechanisms, access control, security policies, authentication methods, basic cryptography, secure system design, and information assurance. Prerequisite: Graduate standing in CSCE department. (Typically offered: Irregular)

CSCE 5333. Computer Forensics. 3 Hours.

Various methods for identification, preservation, and extraction of electronic evidence at a computer crime scene. Specific topics include auditing and investigation of network and host intrusions, computer forensics tools, resources for system administrators and information security officers, legal issues related to computer and network forensics. Prerequisite: CSCE 5323. (Typically offered: Irregular)

CSCE 5343. Advanced Software Engineering. 3 Hours.

This course is about software metrics and models. It will focus on quantitative methods and techniques for management of software projects, design of software systems, and improvement of software quality. The material covered will be metrics and models used in the software lifecycle, such as software requirements metrics, design metrics, implementation metrics, testing metrics, effort estimation model. Prerequisite: CSCE 3513 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5353. 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. Graduate degree credit will not be given for both CSCE 4353 and CSCE 5353. Prerequisite: CSCE 2214 with a grade of C or better or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5373. 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: Graduate standing in Computer Engineering, Computer Science, or Electrical Engineering. (Typically offered: Irregular)

CSCE 5383. Malware Analysis. 3 Hours.

This course discusses fundamental concepts on malicious software, otherwise known as malware, which play a major role in intrusion into computer systems. Various malware analysis tools and techniques are explored. A major focus of this course is providing hands-on laboratory activities, which include dissecting software binary and understanding how to detect and eliminate malicious codes. Prerequisite: Graduate standing in CSCE Department. (Typically offered: Irregular)

CSCE 5423. Cryptography. 3 Hours.

This course provides an introduction to cryptography and its applications and practices. Topics covered include cryptography basics, symmetric key cryptography, public-key cryptography, cryptographic hash function, digital signature, message authentication, key management, password security, SSL/TLS, IPsec, cryptography-assisted anonymous communications, cryptocurrency, and privacy-aware computing. Graduate degree credit will not be given for both CSCE 4433 and CSCE 5423. Prerequisite: Graduate standing in CSCE Department. (Typically offered: Irregular)

CSCE 5523. 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. Graduate degree credit will not be given for both CSCE 4523 and CSCE 5523. Prerequisite: Graduate standing in CSCE Department. (Typically offered: Spring)

CSCE 5533. Advanced Information Retrieval. 3 Hours.

Study of the architecture, implementation, and evaluation of current information retrieval systems. Students will apply their knowledge of programming and data structures to implement a large system with an emphasis on efficiency and scalability. They will study current research in the field and implement individual or group projects on advanced topics. Prerequisite: Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5543. Statistical Natural Language Processing. 3 Hours.

Introduction to statistical natural language processing (NLP). Covers the theory and algorithms needed for building NLP tools, provides broad coverage of mathematical and linguistic foundations, and detailed discussion of statistical methods for text mining and information extraction. Current research and applications of statistical NLP will be discussed. Prerequisite: CSCE 2014 and (STAT 3013 or INEG 2314) or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5553. 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. Graduate degree credit will not be given for both CSCE 4543 and CSCE 5553. Prerequisite: CSCE 4133 or CSCE 5133 and CSCE 3513. (Typically offered: Irregular)

CSCE 5563. Introduction to Deep Learning. 3 Hours.

The course aims at understanding the fundamental of deep learning and its application in computer vision, natural language understanding and game theory. The course starts with basic multi layer perceptron and then moves towards other complicated models such as convolutional neural networks, recurrent neural networks, attention, and generative adversarial network models. The course will end with deep reinforcement learning. The course provides required steps for building deep learning models. Prerequisite: Computer Science Computer Engineering (CSCE) Graduate Standing. (Typically offered: Irregular)

CSCE 5613. 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: Graduate standing in CSCE Department. (Typically offered: Irregular)

CSCE 5623. Secure Digital System Design. 3 Hours.

This course is to give graduate students an insight of contemporary security-related issues in modern digital systems. In addition to lectures, students will be practicing secure digital system design during a project. Prerequisite: Computer Science Computer Engineering (CSCE) graduate standing or Electrical Engineering (ELEG) graduate standing. (Typically offered: Irregular)

CSCE 5653. Network Security. 3 Hours.

This course focuses on understanding and applying foundational principles in security to real computer networks. Students will study and implement several real attacks and take advantage of several recreated vulnerable systems in order to understand the modern landscape of network security. Students will also be looking at various case studies of attacks and defense strategies, including known exploit proofs-of-concept, published papers, and documents from security agencies and cyber-security research firms. Prerequisite: Graduate standing in CSCE department. (Typically offered: Irregular)

CSCE 5673. 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. Graduate degree credit will not be given for both CSCE 4623 and CSCE 5673. Prerequisite: CSCE 3193 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5683. Image Processing. 3 Hours.

The objective of this class is to give students a hands-on introduction to the fundamentals of image processing. A variety of image processing techniques and applications will be discussed including image enhancement, noise removal, spatial domain and frequency domain filtering, image restoration, color image processing, image compression, edge detection and image segmentation. Prerequisite: CSCE 3193 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5693. 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. Graduate degree credit will not be given for both CSCE 4643 and CSCE 5693. Prerequisite: CSCE 2014 with a grade of C or better or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5703. Computer Vision. 3 Hours.

The objective of this course is to give students a hands-on introduction to the fundamentals of computer vision. Topics include image formation, object modeling, image processing, feature and edge detection, image segmentation, motion estimation, depth from stereo, shape description and object recognition. Prerequisite: CSCE 3193 and CSCE 4613 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5753. Wireless Systems Security. 3 Hours.

Wireless systems such as wireless local area networks, cellular and mobile networks, and sensor networks are vulnerable to attacks. The goal of the class is for students to understand how to design secure wireless systems. Security topics include confidentiality, integrity, availability, privacy, and control of fraudulent usage of networks. Issues addressed include basic wireless theory, cryptography, threat modeling, risks, and mitigation techniques. Prerequisite: Graduate standing in Computer Science Computer Engineering(CSCE). (Typically offered: Irregular)

CSCE 5763. Privacy Enhancing Technologies. 3 Hours.

This course introduces privacy enhancing technologies and hot privacy topics in modern computing systems. Students will be exposed to many interesting privacy problems, study privacy enhancing technologies, and apply their knowledge to explore an open research problem in a research-oriented project. After completing this course, students will gain broad knowledge of the state-of-the-art privacy enhancing technologies and open research problems. They will also develop skills and enhance potentials to do research on privacy and security. Prerequisite: Must be a graduate student in Computer Science Computer Engineering (CSCE). (Typically offered: Irregular)

CSCE 5773. 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. Graduate degree credit will not be given for both CSCE 4753 and CSCE 5773. Prerequisite: Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5783. 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. Graduate degree credit will not be given for both CSCE 4783 and CSCE 5783. Prerequisite: CSCE 3613 or graduate standing in Computer Science Computer Engineering(CSCE). (Typically offered: Irregular)

CSCE 5813. 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. Graduate degree credit will not be given for both CSCE 4813 and CSCE 5813. Prerequisite: CSCE 2014 with a grade of C or better or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 5823. Multiprocessor Systems on Chip. 3 Hours.

This course covers the latest trends in advanced computer architecture for multiprocessor systems on chip for embedded and real time systems. Topics covered include multicore architectures, modeling abstractions, run time systems, and MIMD/SIMD heterogeneous architectures, Hw/Sw co-design techniques. Prerequisite: CSCE 3613 and CSCE 4213. (Typically offered: Irregular)

CSCE 5833. Computer Architecture Security. 3 Hours.

This course will cover fundamental principles and emerging implementation strategies to reason about, design and construct architecture level security capabilities in the manycore era. Coverage includes formal security models, new and emerging considerations for heterogeneous multiprocessor system on chip architectures, hardware and software implementation methods, operating systems for run time security enforcement. Prerequisite: CSCE 4213 or graduate standing in Computer Science Computer Engineering (CSCE). (Typically offered: Irregular)

CSCE 5843. Reconfigurable Computing. 3 Hours.

This course will cover emerging and proposed techniques and issues in Reconfigurable Computing. Topics will include FPGA technologies, CAD/CAE tools, Hw/Sw co-design, system level synthesis, programming models and abstractions. Prerequisite: Graduate standing in CSCE Department. (Typically offered: Irregular)

CSCE 5853. 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. Graduate degree credit will not be given for both CSCE 4853 and CSCE 5853. Prerequisite: CSCE 3193 or Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 590V. Advanced Individual Study. 1-3 Hour.

Advanced graduate level 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)

CSCE 5914. 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. Graduate degree credit will not be given for both CSCE 5914 and CSCE 4914 or ELEG 4914 and ELEG 5914. Corequisite: Lab component. Prerequisite: Graduate students majoring in Computer Engineering, Computer Science, or Electrical Engineering. (Typically offered: Irregular)

CSCE 5943. Computer Arithmetic Circuits. 3 Hours.

Examination of fundamental principles of algorithms for performing arithmetic operations in computers. This course provides sufficient theoretical and practical information to prepare the digital design engineer with an awareness of basic techniques for the realization of arithmetic circuits. Prerequisite: Computer Science Computer Engineering (CSCE) graduate standing. (Typically offered: Irregular)

CSCE 610V. Master's Thesis. 1-6 Hour.

Master's thesis. (Typically offered: Fall and Spring) May be repeated for degree credit.

CSCE 620V. Post-Master's Research. 1-18 Hour.

Post-master's research. (Typically offered: Fall and Spring)

CSCE 690V. Doctoral Individual Study. 1-3 Hour.

Advanced doctoral level 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 700V. Doctoral Dissertation. 1-18 Hour.

Doctoral Dissertation. (Typically offered: Fall, Spring and Summer) May be repeated for degree credit.