Our Schedule Plan shows which semesters we plan to offer each class.

See the Self Service Carolina website for the list of classes currently being offered.

CSCE 500: Computer Programming and Applications

3 credits.

Concepts and properties of algorithms; programming exercises with emphasis on good programming habits. Credit may not be received for both CSCE 500 and CSCE 145. Open to all majors. May not be used for major credit by computer science and engineering majors.

CSCE 510: System Programming

3 credits.

Prereq: CSCE 215, 240

System software such as command language interpreters, client-server applications, debuggers; mail systems, browsers, macroprocessors, and revision control systems; file systems, processes, threads, and interprocess communication.

CSCE 512: System Performance Evaluation

3 credits.

Prereq: CSCE 311, STAT 509 or STAT 515

Measuring, modeling, analyzing, and predicting performance of computer systems and networks; bottleneck analysis; Markovian queuing systems and networks; use of operational and probabilistic models.

CSCE 513: Computer Architecture

3 credits.

Prereq: CSCE 211, 212

Design methodology; processor design; computer arithmetic: algorithms for addition, multiplication, floating point arithmetic; microprogrammed control; memory organization; introduction to parallel architectures.

Semesters Offered: Fall

CSCE 515: Computer Network Programming

3 credits.

Prereq: CSCE 311

Computer networks and communication protocols; socket programming; interprocess communication; development of network software; case studies.

CSCE 516: Computer Networks

3 credits.

Prereq: STAT 509 or STAT 515

Structure, design, and analysis of computer networks; ISO/OSI network architecture.

CSCE 517: Computer Crime and Forensics

3 credits.

Prereq: CSCE 215

Methodical approaches for collecting and preserving evidence of computer crimes. Foundational concepts such as file system structures, MAC times, and network protocols; tools for extracting evidence; general legal issues.

CSCE 518: Ethical Hacking

3 credits.

Prerequisites: CSCE 215 or previous Linux/UNIX experience.
Fundamental principles and techniques of ethical hacking, including penetration testing life cycle, planning and scoping, identifying targets and goals, active and passive reconnaissance, enumeration and scanning, exploitation, post-exploitation, and results reporting.

CSCE 520: Database System Design

3 credits.

Prereq: CSCE 240 or GEOG 563

Database management systems; database design and implementation; security, integrity, and privacy.

Semesters Offered: Fall, Spring, Summer

Syllabus

CSCE 522: Information Security Principles

3 credits.

Prereq: CSCE 146; MATH 374 or MATH 174

Threats to information resources and appropriate countermeasures. Cryptography, identification and authentication, access control models and mechanisms, multilevel database security, steganography, Internet security, and intrusion detection and prevention

Semesters Offered: Fall

Syllabus

CSCE 526: Service Oriented Computing

3 credits.

Prereq: CSCE 311

Cooperative information systems and service-oriented computing. Techniques for achieving coordinated behavior among a decentralized group of information system components. Distributed databases, multiagent systems, conceptual modeling, Web services, and applications.

CSCE 531: Compiler Construction

3 credits.

Prereq: CSCE 240

Techniques for design and implementation of compilers, including lexical analysis, parsing, syntax-directed translation, and symbol table management.

Semesters Offered: Spring

CSCE 546: Mobile Application Development

3 credits.

Prerequisites: CSCE 240 or previous programming experience with one of the following programming languages (C/C++, Java, Swift, Python, Matlab, Javascript)
Development of mobile applications, including user interface design for mobile, local and cloud data storage techniques, and application architectures.

Semesters Offered: Spring

CSCE 547: Windows Programming

3 credits.

Prereq: CSCE 240

Object-oriented methods and tools for application programming with graphically interactive operating systems.

CSCE 548: Building Secure Software

3 credits.

Prerequisite: CSCE 240

Construction of software systems resistant to vulnerabilities and attacks. Cryptographic tools. Language, operating system, and network security. Case studies. Development of best practices through programming assignments.

CSCE 551: Theory of Computation. {=MATH 562}

3 credits.

Prerequisites: C or better in CSCE 350 or MATH 300

Basic theoretical principles of computing as modeled by formal languages and automata; computability and computational complexity.

Semesters Offered: Spring

CSCE 555: Algorithms in Bioinformatics

3 credits.

Prereq: CSCE 350

Concepts, algorithms and tools for important problems in Bioinformatics, including nucleotide and amino acid sequence alignment, DNA fragment assembly, phylogenetic reconstruction, and protein structure visualization and assessment.

CSCE 556: Data Analysis in Python: Application to Neuroscience

3 credits.

Prerequisites: C or better in CSCE 240 or CSCE 106/206

Hands-on introduction in Python to the analysis of neuroscience data (human neuroimaging and cellular electrophysiology), including various aspects such as data wrangling, statistics, classification, and visualization.

CSCE 557: Introduction to Cryptography {=MATH 587}

3 credits.

Prereq: C or better in CSCE 145 or in MATH 241 and in either CSCE 355 or MATH 574, or consent of the Undergraduate Director

Design of secret codes for secure communication, including encryption and integrity verification: ciphers, cryptographic hashing, and public key cryptosystems such as RSA. Mathematical principles underlying encryption. Code-breaking techniques. Cryptographic protocols.

CSCE 561: Numerical Analysis. {=MATH 527}

3 credits.

Prereq: MATH 242 or 520

Interpolation and approximation of functions; solution of algebraic equations; numerical differentiation and integration; numerical solutions of ordinary differential equations and boundary value problems; computer implementation of algorithms

CSCE 564: Computational Science

3 credits.

Prereq: MATH 526, CSCE 146 or 207 or 500

Parallel algorithms; scientific visualization; techniques for solving scientific problems.

CSCE 567: Visualization Tools

3 credits.

Prereq: CSCE 145 or 206 or 207

Scientific visualization tools as applied to sampled and generated data; methods for data manipulation and representation; investigation of visualization techniques.

CSCE 569: Parallel Computing

3 credits.

Prereq: knowledge of programming in a high-level language; MATH 526 or 544

Architecture and interconnection of parallel computers; parallel programming models and applications; issues in high-performance computing; programming of parallel computers.

CSCE 571: Critical Interactives

3 credits.

Foundational techniques for implementing procedural rhetoric, specifically as software designed to present sensitive, sometimes controversial, material in ways to engender empathic awareness of the interactant.

CSCE 572: Human-Computer Interaction

3 credits.

Undergraduate or graduate standing in CSE or permission of the instructor.
Interdisciplinary approach to interaction design, user-centered design, human abilities, survey development, experimental study methodology, heuristic evaluations, usability testing, universal design, and accessibility.

Semesters Offered: Fall

CSCE 574: Robotics

3 credits.

Prereq: CSCE 211, 212, and 240

Design and application of robotic systems; emphasis on mobile robots and intelligent machines.

CSCE 578: Text Processing

3 credits.

Prereq: CSCE 330, 355

Text and natural language processing; formal models and data structures appropriate for text processing; selected topics in computational linguistics, stylistics, and content analysis.

CSCE 580: Artificial Intelligence

3 credits.

Prereq: CSCE 350

Heuristic problem solving, theorem proving, and knowledge representation, including the use of appropriate programming languages and tools.

Semesters Offered: Fall, Spring

Homepage

CSCE 581: Trusted Artificial Intelligence

3 credits.

Prerequisites: C or better in CSCE 240 and CSCE 350. Prerequisite or Corequisite: D or better in CSCE 330.

AI Trust – responsible/ethical technology, fairness/ lack of bias, explanations (XAI), machine learning, reasoning, software testing, data quality and provenance, tools and projects.

CSCE 582: Bayesian Networks and Decision Graphs. {=STAT 582}

3 credits.

Prereq: CSCE 350, STAT 509 or STAT 515

Normative approaches to uncertainty in artificial intelligence. Probabilistic and causal modeling with Bayesian networks and influence diagrams. Applications in decision analysis and support. Algorithms for probability update in graphical models.

CSCE 585: Machine Learning Systems

3 credits.

Prerequisites: C or better in CSCE 240 or CSCE 106/206

Design and implementation of machine learning systems, Deep learning systems stack, machine learning platforms, scalable and distributed machine learning.

Semesters Offered: Fall

Homepage

CSCE 587: Big Data Analytics {=STAT 587}

3 credits.

Prereq: STAT 509, 513, or 515
Foundational techniques and tools required for data science and big data analytics. Concepts, principles, and techniques applicable to any technology or industry for establishing a baseline that can be enhanced by future study.

Semesters Offered: Fall, Spring

CSCE 590: Topics in Information Technology

3 credits.

Reading and research on selected topics in information technology. Course content varies and will be announced in the schedule of courses by suffix and title. May be repeated for credit as topics vary.

Semesters Offered: Fall, Spring

CSCE 611: Advanced Digital Design

3 credits.

Prereq: CSCE 212

Design techniques for logic systems; emphasis on higher-level CAD tools such as hardware description languages and functional modeling.

Semesters Offered: Fall

Syllabus

CSCE 612: VLSI System Design

3 credits.

Prereq: CSCE 211

VLSI design process models, introduction to EDA tools, HDL modeling and simulation, logic synthesis and simulation, benchmark design projects

CSCE 711: Advanced Operating Systems

3 credits.

Prerequisites: CSCE 311

Operating system organization and interactive processing systems, multiprogramming systems, process management, task scheduling, resource control, deadlocks.

CSCE 713: Advanced Computer Architecture

3 credits.

Prerequisites: CSCE 311 and 513

Architecture of high-performance computers, including array processors, multiprocessor systems, data flow computers, and distributed processing systems.

CSCE 715: Network Systems Security

3 credits.

Prerequisites: CSCE 515 or 516

Analysis of security threats in TCP/IP networks. Design of safeguards. Coverage of security threats at each of the OSI layers. Application of cryptographic protocols for secure communication across a network.

Semesters Offered: Spring

CSCE 716: Design for Reliability

3 credits.

Prerequisites: STAT 509 or 511, or MATH 511

Design of more reliable systems through the application of reliability theory and models; reliability modeling; design techniques; testing; and requirement specifications.

CSCE 718: Real-Time Computer Applications

3 credits.

Prerequisites: CSCE 245, 311

Problems of real-time computer applications in process control or similar areas; task scheduling; real-time operating systems; advanced interrupt structures; memory management techniques.

CSCE 719: Security and Privacy for Wireless Networks

3 credits.

Prerequisites: CSCE 416

This course focuses on the security and privacy issues associated with wireless networks. Various attacks against wireless networks and their defense strategies will be analyzed. Students are able to embark in research of wireless network security.

CSCE 721: Physical Database Design

3 credits.

Prerequisites: CSCE 520

Components of a database management system; implementation issues; query optimization; file organization; file organizations’ transaction management; fault recovery; security; system performance.

CSCE 727: Information Warfare

3 credits.

Prerequisites: CSCE 522

Current trends and challenges in information warfare. High-level analysis of information warfare threats, like cyber terrorism, espionage, Internet fraud, intelligence activities, cyber ethics, and law enforcement.

CSCE 740: Software Engineering

3 credits.

Prerequisites: CSCE 240

Current practices and research in software development, requirements definition, design, program testing and reliability, maintenance, and management.

CSCE 741: Software Process

3 credits.

Personal, team, and organizational software processes; personal and organizational maturity; application of software process and management concepts during software development, primarily at the individual level.

CSCE 742: Software Architectures

3 credits.

Structural organizations for software systems as collections of interconnected components: formal models and languages; design tools and guidelines.

CSCE 743: Software Requirements

3 credits.

Prereq: CSCE 740

Elicitation, analysis, and validation of software requirements, specification of software systems including formal specification methods; CASE tools.

CSCE 745: Object-Oriented Programming Methods

3 credits.

Prereq: CSCE 245

Object-oriented programming paradigm, including encapsulation, inheritance, reusable classes, object classification, specialization, and message passing; case studies and applications.

CSCE 747: Software Testing and Quality Assurance

3 credits.

Prereq: CSCE 740

Structural and functional techniques for testing software; code inspection, peer review, test verification and validation; statistical testing methods; preventing and detecting errors; testing metrics; test plans; formal methods of testing. Not auditable.

CSCE 750: Analysis of Algorithms

3 credits.

Prereq: CSCE 350

Algorithm design techniques; algorithms and data structures for sets and graphs; time and space complexity; sorting and searching; NP-complete problems.

Semesters Offered: Fall

CSCE 760: Numerical Analysis I

3 credits.

Prereq: MATH 526 or 544

Numerical solution of equations and systems of linear equations, polynomial approximation, difference calculus, solution of ordinary and partial differential equations, least squares and sets of orthogonal polynomials, Gaussian quadrature.

CSCE 763: Digital Image Processing

3 credits.

Concepts and techniques for digital image processing; emphasis on low-level processes that analyze discrete images at the pixel level.

CSCE 764: Quantum Information

3 credits.

Prerequisites: C or better in MATH 344 or MATH 544 or equivalent, or permission by the instructor; and C or better in MATH 511 or STAT 511 or equivalent, or permission by the instructor; knowledge of quantum mechanics is not required.

Fundamentals of quantum information theory and quantum communications. Topics include: Postulates of quantum mechanics, classical information and entropy, compression of classical information and classical typical sets, quantum entropy and quantum relative entropy, quantum states discrimination, Schumacher's theory of quantum compression and quantum typical subspace, communicating classical information using quantum channels, the Classical Capacity Theorem of a quantum channel.

CSCE 766: Scientific Visualization

3 credits.

Prereq: CSCE 565

Visualization techniques for scientific computing; interactive steering of calculations; animation and rendering techniques for multivariate data analysis.

CSCE 767: Interactive Computer Systems

3 credits.

Principles for the design of systems supporting effective human-computer interaction; interaction styles; displays and interactive devices; user assistance; system design and evaluation.

CSCE 769: Computational Structural Biology

3 credits.

Prereq: consent of instructor
Theoretical concepts and algorithmic tools currently utilized in the field of protein folding such as Xplor-NIH and ROSETTA are presented. Participants are enabled to embark in research of protein folding.

CSCE 771: Computer Processing of Natural Language.

3 credits.

Prereq: CSCE 580

Computational models for the analysis and synthesis of natural language; representations for syntax and semantics; applications to text-to-speech conversion, speech recognition, and language understanding.

CSCE 772: Computer Speech Processing

3 credits.

Prereq: CSCE 580

A/D conversion, digital filters, discrete Fourier transform and FFT, acoustics of speech, and synthesis and recognition of speech.

CSCE 774: Robotics Systems

3 credits.

Prereq: CSCE 574

Design and operation of robot systems; dynamics, control, and motion trajectories of manipulators; visual, auditory, and tactile sensing systems; planning and learning.

CSCE 775: Deep Reinforcement Learning

3 credits.

Prerequisites: D or better in CSCE 580 or graduate standing.

Theory and practical implementation of reinforcement learning methods with deep neural networks. Markov decision processes, policy iteration, value iteration, q-learning, SARSA, deep neural networks, approximate value iteration, deep q-networks, policy gradients, model-based reinforcement learning, multi-armed bandits, partial observability.

Homepage

CSCE 780: Knowledge Representation

3 credits.

Prereq: CSCE 580

Representation techniques and languages for symbolic knowledge, including predicate calculus, frame-based systems, and terminological systems; computer reasoning using these systems.

CSCE 781: Knowledge Systems

3 credits.

Prereq: CSCE 580

Expert system domains, knowledge representation techniques, inference engines, and knowledge acquisition methods.

CSCE 785: Quantum Computing and Information

3 credits.

Prerequisites: C or better in MATH 344, MATH 544, or MATH 700, or the equivalent, or instructor permission.

Fundamentals of quantum information processing, including quantum computation, quantum cryptography, and quantum information theory. Topics include: the quantum circuit model, alternative models, qubits, unitary operators, measurement, entanglement, quantum algorithms for factoring and search, quantum cryptographic key distribution, simulation of physical systems, error-correction and fault-tolerance, information capacity of quantum channels, complexity of quantum computation, near-term implementations, quantum supremacy and quantum advantage.

CSCE 790: Topics in Information Technology

3 credits.

Reading and research on selected topics in information technology. Course content varies and will be announced in the schedule of courses by suffix and title. May be repeated for credit as topics vary.

CSCE 813: Internet Security

3 credits.

Prereq: CSCE 522 and CSCE 715

Study security threats and prevention/detection/response techniques on the Internet, including hackers, masqueraders, information spoofing, sniffing, and distribution of damaging software. Security analysis of Web applications.

CSCE 814: Distributed Systems Security

3 credits.

Prereq: CSCE 522

Security mechanisms of distributed software systems, including cryptographic applications. Secure multiparty computation, group-based cryptography, and security mechanisms for emerging distributed architectures.

CSCE 818: Top-Down VLSI Design

3 credits.

Prereq: CSCE 611 or CSCE 612

VLSI system design automation, hardware description language-based design, multi-methodology design, and introduction to HDL support tools.

CSCE 819: Custom VLSI Design

3 credits.

Prereq: CSCE 611 or 612

Custom design methodology design rules, stick notation, logic synthesis, and circuit layout; symbolic layout languages; introduction to CAD tools.

CSCE 821: Distributed Database Design

3 credits.

Prereq: CSCE 520

Architecture, design, and implementation of distributed database managements systems; data fragmentation, replication, and allocation; query processing and transaction management; distributed object database management systems.

CSCE 822: Data Mining and Warehousing

3 credits.

Prereq: CSCE 520

Information processing techniques and mathematical tools to assemble, access, and analyze data for decision support and knowledge discovery.

CSCE 824: Secure Database Systems

3 credits.

Prereq: CSCE 522

Security threats to database systems. Access control models, multilevel security, integrity, Web-based databases, and data inference problem. Formal models of multilevel security, confidentiality versus availability and integrity.

CSCE 826: Cooperative Information Systems

3 credits.

Prereq: CSCE 520, 580

Strategies for achieving coordinated behavior among a heterogeneous group of information system components; world-wide information networks and applications in health care, logistics, telecommunications, and manufacturing automation.

CSCE 846: Software Reliability and Safety

3 credits.

Prereq: STAT 509 or 510 or 511

Reliability and safety of computer-intensive systems; software reliability models and analysis; operational profiles; hazard analysis using fault trees and event trees; formal verification of safety-critical systems. Not auditable.

CSCE 850: Advanced Analysis of Algorithms

3 credits.

Prereq: CSCE 750

Definitions of algorithms and formal models of computation; concepts of space and time; synthesis and analysis of algorithms for sorting, search graphs, set manipulation and pattern matching; NP-complete, and intractable problem.

CSCE 853: Formal Methods in Computer Security

3 credits.

Prereq: CSCE 522 and 715

Formal techniques applied to computer security, including formal specification language for security properties, security analysis utilities, domain-specific security concerns, and case studies of formally verified secure systems.

CSCE 865: Advanced Computer Graphics

3 credits.

Prereq: CSCE 765

Input and display devices, data structures, architectures, primitives, and geometrical transformations appropriate to computer graphics, parametric surfaces.

CSCE 867: Computer Vision

3 credits.

Prereq: CSCE 763

Scene segmentation using texture, color, motion; representation of 2-D or 3-D structures; knowledge-based vision systems.

CSCE 868: Advanced Pattern Recognition

3 credits.

Prereq: CSCE 768

Feature nomination, selection, extraction, and evaluation; deterministic, stochastic, and fuzzy models for classifier design; parameter estimation; error rate estimation; clustering and sequential learning.

CSCE 883: Machine Learning

3 credits.

Prereq: CSCE 580

Fundamentals of machine learning including rote learning, learning from examples, learning from observations, and learning by analogy; knowledge acquisition for expert systems.