For Students

Course Information

100-Level Courses

CSC 100 The Beauty and Joy of Computing (3:2:2)

A broad-based introduction to key concepts and principles of computer science. Exploration of seven big ideas of computing: creativity, abstraction, data, algorithms, programming, the Internet, and impact of computing.


Coordinator: Dr. Tate    Sample Syllabus


Offered as resources allow


CSC 101 Introduction to Computer Concepts (3:3)

Introduction to computers and computing. Topics cover impact of computers on society, ethical issues, hardware, and software applications.

Coordinator: Dr. Tate    Course Description    Sample Syllabus


Typically offered: Spring semesters


CSC 110 Computational Problem Solving (3:3) [GE Core: GMT]

Pr. Non-Computer Science majors only or permission of instructor


Using computing to apply mathematical concepts in developing algorithmic solutions to real-world problems, stressing analysis and logical reasoning. A modern programming language will be introduced for examples and assignments.


Coordinator: Dr. Tate    Sample Syllabus


Offered as resources allow


CSC 120 Introduction to Computer Programming for Non-Majors (3:3)

Introduction to computer programming for non-computer science majors, including programming concepts of variables, expressions, decision statements, iteration, functions, and modular design. Language and applications chosen to be relevant to non-majors.

Coordinator: See Department.


Typically Offered: Every semester


CSC 130 Introduction to Computer Science (3:2:2)

Pr. acceptable score on the computer science placement test or a grade of at least C (2.0) in MAT 120, MAT 150, MAT 151, MAT 190, or MAT 191


Programming in a high-level language. Emphasis on problem analysis, problem-solving techniques, and software design principles and techniques.


Coordinator: Mr. Armstrong    Course Description    Sample Syllabus


Typically Offered: Every semester

200-Level Courses

CSC 230 Elementary Data Structures and Algorithms (3:3)

Pr. grade of at least C (2.0) in CSC 130


Advanced syntax of high level language taught in CSC 130. Emphasis on modularization and abstraction. Big-O analysis of algorithms. Design and use of abstract data types with various implementations.


Coordinator: Mr. Ariyawansa    Course Description    Sample Syllabus


Typically Offered: Every semester


CSC 237 Programming Language Laboratory (1-3; 1-3)

Note: May be taken twice for credit with permission of the Department Head.


Syntax and use of a programming language. Language covered announced at preregistration.


Coordinator: Dr. Tate    Course Description


Offered as resources allow


CSC 250 Foundations of Computer Science I (3:3)

Pr. grade of at least C (2.0) in CSC 130 or permission of instructor


An introduction to the fundamental ideas underlying contemporary computer science with a focus on the computation and construction of objects.


Coordinator: Mr. Armstrong    Course Description    Sample Syllabus


Typically Offered: Every semester


CSC 261 Computer Organization and Assembly Language (3:3)

Pr. grade of at least C (2.0) in CSC 230 and in CSC 250, or permission of instructor


Introduction to the organization of the computer through the use of Assembly Language programming. Data representation, parts of the computer system, Assembly Language fundamentals, instruction sets, memory, and floating-point operations.


Coordinator: Mr. Armstrong    Course Description   Sample Syllabus


Typically Offered: Every semester

300-Level Courses

CSC 312 Ethics in Computer Science (1:1)

Pr. grade of at least C (2.0) in CSC 230 and in CSC 250, or permission of instructor


Note: This class is no longer offered. Computer Science majors now take PHI 222.


Historical and social context of computing, ethical responsibilities of the computing professional, intellectual property rights, and risks and liabilities.


Coordinator: Unknown    Course Description    Sample Syllabus


No longer offered (Computer Science majors now take PHI 222 – Ethics in the Computer Age)


CSC 330 Advanced Data Structures (3:3)

Pr. grade of at least C (2.0) in CSC 230 and in CSC 250


Static and dynamic data structures emphasizing binary trees and graphs. Advanced programming techniques. Advanced sorting and searching algorithms. Hashing techniques. Performance analysis. Methods of developing large applications programs.


Coordinator: Dr. Manda    Course Description    Sample Syllabus


Typically Offered: Every semester


CSC 339 Concepts of Programming Languages (3:3)

Pr. grade of at least C (2.0) in CSC 330


Concepts of block-structured, object-oriented, functional, logic, and concurrent programming languages. Comparative study of syntactic and semantic features of these languages and writing programs using them.


Coordinator: Dr. Mohanty    Course Description    Sample Syllabus


Typically Offered: Every semester


CSC 340 Software Engineering (3:3)

Pr. grade of at least C (2.0) in CSC 330


Practical and theoretical concepts of software engineering.


Coordinator: Dr. Green    Course Description    Sample Syllabus


Typically Offered: Every semester


CSC 350 Foundations of Computer Science II (3:3)

Pr. grade of at least C (2.0) in CSC 250, or permission of instructor


High level concepts in the theoretical foundations of computer science.


Coordinator: Dr. Sadri    Course Description    Sample Syllabus


Typically Offered: Every semester

400-Level Courses

CSC 405 Data Science 3


Problem-based learning introduction to Data Science, including programming with data; data mining, munging, and wrangling; statistics, analytics, visualization; and applied machine learning, directed towards scientific, social, and environmental challenges.


Prerequisites: A grade of C or better in CSC 330 and (STA 271 or STA 290), or permission of instructor (prior programming and statistics experience is required).


Coordinator: Dr. Mohanty


Typically offered: Fall semesters


CSC 407 Network Analysis 3


Concepts and methods of network analysis, including network data extraction, management, model, visualization, and analysis of network structure and dynamics.


Prerequisites: Grade C or better in CSC 330, or permission of instructor.


Coordinator: Dr. Deng


Typically offered: Fall semesters


CSC 410 Big Data and Machine Learning 3


Big data definitions and characteristics, computing environment for big data management and processing, machine learning models and algorithms, and scaling up maching learning (high dimensionality reduction).


Prerequisites: CSC 330. MAT 191; STA 271; Corequisites: CSC 477. MAT 292.


Coordinator: Dr. Suthaharan


Typically offered: Spring semesters


CSC 415 Computer Graphics 3


Survey of graphics algorithms, data structures, and techniques.


Prerequisites: Grades of at least C (2.0) in CSC 340, CSC 350, and MAT 292, or permission of instructor.


Coordinator: Dr. Tate


Offered irregularly


CSC 416 Digital Image Processing 3


Image representation, enhancement, compression, coding, restoration, and wavelet transforms.


Prerequisites: Grades of at least C (2.0) in CSC 330, CSC 350, and MAT 292, or permission of instructor. Successful completion of STA 271 or STA 290 recommended.


Coordinator: Dr. Kim


Typically offered: Spring semesters


CSC 425 Bioinformatics 3


Introduction to the problems and methods in Bioinformatics. Problem areas include restriction mapping, map assembly, sequencing, DNA arrays, and sequence comparison.


Prerequisites: Permission of instructor.


Coordinator: Dr. Manda


Typically offered: Spring semesters


CSC 427 Numerical Analysis and Computing 3


Number systems and errors, solutions of non-linear and linear systems, interpolation, numerical differentiation and integration, solution of differential equations. Implementation of numerical methods using a high-level programming language.


Prerequisites: Grades of at least C (2.0) in CSC 350 and MAT 293, or permission of instructor.


Note: Cross-listed with MAT 427


Offered irregularly


CSC 429 Artificial Intelligence 3


Logical foundations, knowledge representation and reasoning, search, and selected topics such as natural language processing and reasoning under uncertainty.


Prerequisites: Grade of at least C (2.0) in CSC 330 and CSC 350 or permission of instructor.


Coordinator: Dr. Green


Typically offered: Spring semesters


CSC 439 Introduction to Compiler Design 3


Basic techniques of compiler design and implementation: lexical analysis, parsing, code generation. Sizable programming project implementing a compiler for a block-structured language with strong typing.


Prerequisites: Grades of at least C (2.0) in CSC 261 and CSC 330 or permission of instructor.


Notes: Successful completion of CSC 452 helpful.


Coordinator: Dr. Tate


Offered irregularly


CSC 442 Human-Computer Interface Development 3


Survey of concepts and techniques for human-computer interface development. Topics include user-centered design, user interface programming, and usability evaluation.


Prerequisites: Grades of at least C (2.0) in CSC 340 or permission of instructor.


Coordinator: Dr. Green


Typically offered: Fall semesters


CSC 452 Theory of Computation 3


Finite state automata and regular expressions, context-free grammars, push-down automata and their use in parsing, overview of language translation systems, models for programming language semantics, computability and undecidability.


Prerequisites: Grade of at least C (2.0) in CSC 350. or permission of instructor.


Coordinator: Dr. Tate


Typically offered: Every semester


CSC 454 Algorithm Analysis and Design 3


Sequential algorithm design and complexity analysis. Dynamic programming. Greedy algorithms. Graph algorithms. Selected advanced topics from NP-completeness; approximation, randomized, parallel, number-theoretic algorithms; Fast Fourier Transform; computational geometry; string matching.


Prerequisites: Grade of at least C (2.0) in CSC 330.


Coordinator: Dr. Fu


Typically offered: Spring semesters


CSC 461 Principles of Computer Architecture 3


Hardware and software components of computer systems, their organization and operations. Topics: comparative instruction set architectures, microprogramming, memory management, processor management, I/O, interrupts, and emulation of processors.


Prerequisites: Grades of at least C (2.0) in CSC 261, CSC 330, and CSC 350, or permission of instructor.


Coordinator: Dr. Deng


Offered irregularly


CSC 462 Principles of Operating Systems 3


Techniques and strategies used in operating system design and implementation: managing processes, input/output, memory, scheduling, file systems, and protection.


Prerequisites: Pr. grades of at least C (2.0) in CSC 261 and CSC 340 or permission of instructor.


Notes: Successful completion of CSC 461 helpful.


Coordinator: Dr. Deng


Typically offered: every semester


CSC 463 Basic Systems Administration Laboratory 1


Installing operating systems, peripherals, hardware, and software. Backups, recompiling the kernel (loading/unloading modules), providing Web services, and user administration.


Corequisites: CSC 462 and CSC 477. or permission of instructor .


Coordinator: Dr. Tate


Offered irregularly


CSC 464 Intermediate Systems Administration Laboratory 1


Topics selected from routing, firewall, Primary Domain Controller, Backup Domain Controller, Domain Controller trust, SAMBA, DNS round robin, and PPP connectivity setup.


Prerequisites: Grade of at least C (2.0) in CSC 463 .


Coordinator: Dr. Tate


Offered irregularly


CSC 465 Advanced Systems Administration Laboratory 1


Automated installation, software installation, systems programming, system administration in a large organization. Projects will include departmental or university computer system work.


Prerequisites: Grade of at least C (2.0) in CSC 464 .


Coordinator: Dr. Tate


Offered irregularly


CSC 471 Principles of Database Systems 3


Contemporary database systems. Emphasis on query processing, design, and implementation of applications in relational (SQL) databases. Introduction to other database models such as XML, object-oriented, and deductive.


Prerequisites: Grade of at least C (2.0) in CSC 330, or permission of instructor.


Coordinator: Dr. Fu     Course Description     Sample Syllabus


Typically offered: Every semester


CSC 477 Principles of Computer Networks 3


Hardware and software components of computer networks, their organization and operations. Topics: open system interconnection; local area networks; TCP/IP internetworking, routing, and packet  switching; network programming.


Prerequisites: Grades of at least C (2.0) in CSC 261 and CSC 330, or permission of instructor.


Coordinator: Dr. Suthaharan


Typically offered: Fall semesters


CSC 478 Principles of Wireless Networks 3


Digital communications, communication networks, wireless communication technology, wireless networking, wireless LANs, and wireless network programming.


Prerequisites: Grades of at least C (2.0) in CSC 330 and CSC 477, or permission of instructor.


Coordinator: Dr. Deng


Typically offered: Spring semesters


CSC 481 Principles of Computer Security 3


Core concepts in computer security, including the security goals of confidentiality, integrity, and availability; authentication; access control; security software development; use of cryptography; and basic network security.


Prerequisites: Grade of C or better in CSC 261 and CSC 330, or permission of instructor.


Coordinator: Dr. Tate


Typically offered: Fall semesters


CSC 485 Modern Cryptography 3


Theory and practice of cryptography, emphasizing formal models and security reasoning. Primitives covered include private and public-key encryption, message authentication codes, hash functions, digital signatures, secret sharing, and zero-knowledge proofs.


Prerequisites: A grade of C or better in CSC 481, or permission of instructor.


Coordinator: Dr. Tate


Typically offered: Spring semesters, as resources allow


CSC 487 Network Security 3


The course explores the network security concepts of communication protocols; security in routing; remote authentication; access policies; web security; network vulnerabilities; intrusion detection
and prevention; and network traffic analysis.


Prerequisites: Grade of C or better in CSC 481 or permission of instructor.


Coordinator: Dr. Mohanty


Typically offered: Spring semesters, as resources allow


CSC 490 Senior Capstone 3


Application of classroom knowledge and skills in computer science to solve real-world problems and to develop research and development skills.


Prerequisites: Permission of instructor. student must be in the final semester of major coursework.


Coordinator: Dr. Suthaharan     Course Description     Sample Syllabus


Typically offered: Every semester


CSC 492 Directed Study in Computer Science 1-3


Directed Study in Computer Science.


Offered: Scheduled independently with a Computer Science faculty member


CSC 493 Honors Work in Computer Science 3


Research in a topic of special interest at the Honors level.


Notes: May be repeated for credit when topic changes.


Offered: Scheduled independently with a Computer Science faculty member


CSC 494 Directed Study in Computer Science 1-3


Notes: Grade: Pass/Not Pass (P/NP).


Offered: Scheduled independently with a Computer Science faculty member


CSC 495 Selected Topics in Computer Science 3


A topic of special interest is studied in depth.


Prerequisites: Junior standing and permission of instructor.


Notes: May be repeated for credit for a total of 6 s.h. when topic of study changes.


500-Level Courses

Starting in Fall 2019, all 500-level courses have been eliminated and replaced with 400-level versions for undergraduates and 600-level courses for graduate students. The following table shows the correspondence between the old course numbers and the new replacements:

Old 500 Level New 600 Level New 400 Level
CSC 505 CSC 605 CSC 405
CSC 510 CSC 610 CSC 410
CSC 521 CSC 615 CSC 415
CSC 522 CSC 616 CSC 416
CSC 523 CSC 627 CSC 427
CSC 526 CSC 625 CSC 425
CSC 529 CSC 629 CSC 429
CSC 539 CSC 639 CSC 439
CSC 540 CSC 642 CSC 442
CSC 553 CSC 652 CSC 452
CSC 555 CSC 654 CSC 454
CSC 561 CSC 661 CSC 461
CSC 562 CSC 662 CSC 462
CSC 567 CSC 677 CSC 477
CSC 568 CSC 678 CSC 478
CSC 581 CSC 681 CSC 481
CSC 593 CSC 692 CSC 492
CSC 594 CSC 694 CSC 494

600-Level Courses

CSC 605 Data Science 3


Problem-based learning introduction to Data Science, including programming with data; data mining, munging, and wrangling; statistics, analytics, visualization; and applied machine learning, directed towards scientific, social, and environmental challenges.


Prerequisites: A grade of C or better in CSC 330 and (STA 271 or STA 290), or permission of instructor (prior programming and statistics experience is required).


Coordinator: Dr. Mohanty


Typically offered: Fall semesters


CSC 607 Network Analysis 3


Concepts and methods of network analysis, including network data extraction, management, model, visualization, and analysis of network structure and dynamics.


Prerequisites: Grade C or better in CSC 330, or permission of instructor.


Coordinator: Dr. Deng


Typically offered: Fall semesters


CSC 610 Big Data and Machine Learning 3


Big data definitions and characteristics, computing environment for big data management and processing, machine learning models and algorithms, and scaling up maching learning (high dimensionality reduction).


Prerequisites: CSC 330. MAT 191; STA 271; Corequisites: CSC 567. MAT 292.


Coordinator: Dr. Suthaharan


Typically offered: Spring semesters


CSC 615 Computer Graphics 3


Survey of graphics algorithms, data structures, and techniques.


Prerequisites: Grades of at least C (2.0) in CSC 340, CSC 350, and MAT 292, or permission of instructor.


Coordinator: Dr. Tate


Offered irregularly


CSC 616 Digital Image Processing 3


Image representation, enhancement, compression, coding, restoration, and wavelet transforms.


Prerequisites: Grades of at least C (2.0) in CSC 330, CSC 350, and MAT 292, or permission of instructor. Successful completion of STA 271 or STA 290 recommended.


Coordinator: Dr. Kim


Typically offered: Spring semesters


CSC 622 Advanced Digital Image Processing 3


Image restoration, segmentation, coding, representation and description, morphological transforms, object recognition.


Prerequisites: CSC 522 or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 625 Bioinformatics 3


Introduction to the problems and methods in Bioinformatics. Problem areas include restriction mapping, map assembly, sequencing, DNA arrays, and sequence comparison.


Prerequisites: Permission of instructor.


Coordinator: Dr. Manda


Typically offered: Spring semesters


CSC 626 Advanced Bioinformatics 3


Advanced topics in bioinformatics related to sequence comparison and database search, fragment assembly of DNA, physical mapping of DNA, phylogenetic trees, genome rearrangements, and molecular structure prediction.


Prerequisites: CSC 526 or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 627 Numerical Analysis and Computing 3


Number systems and errors, solutions of non-linear and linear systems, interpolation, numerical differentiation and integration, solution of differential equations. Implementation of numerical methods using a high-level programming language.


Prerequisites: Grades of at least C (2.0) in CSC 350 and MAT 293, or permission of instructor.


Note: Cross-listed with MAT 427


Offered irregularly


CSC 629 Artificial Intelligence 3


Logical foundations, knowledge representation and reasoning, search, and selected topics such as natural language processing and reasoning under uncertainty.


Prerequisites: Grade of at least C (2.0) in CSC 330 and CSC 350 or permission of instructor.


Coordinator: Dr. Green


Typically offered: Spring semesters


CSC 639 Introduction to Compiler Design 3


Basic techniques of compiler design and implementation: lexical analysis, parsing, code generation. Sizable programming project implementing a compiler for a block-structured language with strong typing.


Prerequisites: Grades of at least C (2.0) in CSC 261 and CSC 330 or permission of instructor.


Notes: Successful completion of CSC 452 helpful.


Coordinator: Dr. Tate


Offered irregularly


CSC 640 Software Engineering 3


Organization and scheduling of software engineering projects and structured software design. Specification methods, metrics, software engineering tools, design, prototyping, version control, and testing.


Prerequisites: CSC 330 or permission of instructor.


Coordinator: See Department


Typically offered: Fall semesters


CSC 642 Human-Computer Interface Development 3


Survey of concepts and techniques for human-computer interface development. Topics include user-centered design, user interface programming, and usability evaluation.


Prerequisites: Grades of at least C (2.0) in CSC 340 or permission of instructor.


Coordinator: Dr. Green


Typically offered: Fall semesters


CSC 652 Theory of Computation 3


Finite state automata and regular expressions, context-free grammars, push-down automata and their use in parsing, overview of language translation systems, models for programming language semantics, computability and undecidability.


Prerequisites: Grade of at least C (2.0) in CSC 350. or permission of instructor.


Coordinator: Dr. Tate


Typically offered: Every semester


CSC 653 Advanced Theory of Computation 3


Computability theory including Church-Turing thesis (Turing machines, variants, other models), decidability (decidable and undecidable problems for automata and grammars, the halting problem), reducibility (undecidability of mathematical truth).


Prerequisites: CSC 553, or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 654 Algorithm Analysis and Design 3


Sequential algorithm design and complexity analysis. Dynamic programming. Greedy algorithms. Graph algorithms. Selected advanced topics from NP-completeness; approximation, randomized, parallel, number-theoretic algorithms; Fast Fourier Transform; computational geometry; string matching.


Prerequisites: Grade of at least C (2.0) in CSC 330.


Prerequisites: Grade of at least C (2.0) in CSC 330.


Coordinator: Dr. Fu


Typically offered: Spring semesters


CSC 655 Advanced Topics in Algorithms 3


Modern development of algorithm design and analysis for sequential and parallel computers; parallel, number-theoretic, probabilistic, and approximation algorithms, string matching, computational geometry, NP-completeness: worst-case versus average-case.


Prerequisites: Grade of at least C in CSC 555.


Coordinator: See Department


Offered irregularly


CSC 656 Foundations of Computer Science 3


Introduces the mathematical foundations that support advanced studies in computer science including computer programming and the analysis of algorithms.


Prerequisites: CSC 350 or permission of instructor.


Coordinator: See Department


Typically offered: Fall semesters


CSC 661 Principles of Computer Architecture 3


Hardware and software components of computer systems, their organization and operations. Topics: comparative instruction set architectures, microprogramming, memory management, processor management, I/O, interrupts, and emulation of processors.


Prerequisites: Grades of at least C (2.0) in CSC 261, CSC 330, and CSC 350, or permission of instructor.


Coordinator: Dr. Deng


Offered irregularly


CSC 662 Principles of Operating Systems 3


Techniques and strategies used in operating system design and implementation: managing processes, input/output, memory, scheduling, file systems, and protection.


Prerequisites: Pr. grades of at least C (2.0) in CSC 261 and CSC 340 or permission of instructor.


Notes: Successful completion of CSC 661 helpful.


Coordinator: Dr. Deng


Typically offered: every semester


CSC 663 Advanced Topics in Computer Systems 3


Distributed and parallel systems. High-speed and wireless networks. Mobile computing. Communication, synchronization, distributed shared memory, real-time and fault-tolerant systems; current implementations.


Prerequisites: CSC 330 and CSC 567 or CSC 561 or CSC 562 or permission of instructor.


Notes: May be repeated for credit when topics vary.


Coordinator: See Department


Offered irregularly


CSC 665 Advanced Wireless Networks 3


Wireless technology and architecture, wireless network types, wireless network design approaches, wireless application development and wireless network programming.


Prerequisites: CSC 330 or equivalent and one of the following: CSC 561 or CSC 562 or CSC 567 or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 671 Advanced Database Systems 3


Modern database models. User interface and operations. Applications design. Introduction to multi-database systems: interoperability and data integration. Selected topics of current interest.


Prerequisites: CSC 330 or permission of instructor.


Coordinator: See Department


Typically offered: Fall semesters


CSC 672 Database System Architecture 3


File organization and indexing techniques. Query processing and optimization. Concurrency control and crash recovery. Distributed and heterogeneous database systems. Selected topics of current interest in database and knowledge-base systems.


Prerequisites: CSC 570 or CSC 671, or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 675 Principles of XML Databases 3


XML from a database point of view, concentrating on information retrieval (querying) and integration.


Prerequisites: CSC 671 or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 676 Topics in Database Systems 3


Selected topics of current interest such as: deductive databases, modeling and management of uncertain and inaccurate information, multi-database systems, data mining, on-line analytical processing and data warehousing.


Prerequisites: CSC 671 or permission of instructor.


Coordinator: See Department


Offered irregularly


CSC 677 Principles of Computer Networks 3


Hardware and software components of computer networks, their organization and operations. Topics: open system interconnection; local area networks; TCP/IP internetworking, routing, and packet switching; network programming.


Prerequisites: Grades of at least C (2.0) in CSC 261 and CSC 330, or permission of instructor.


Coordinator: Dr. Suthaharan


Typically offered: Fall semesters


CSC 678 Principles of Wireless Networks 3


Digital communications, communication networks, wireless communication technology, wireless networking, wireless LANs, and wireless network programming.


Prerequisites: Grades of at least C (2.0) in CSC 330 and CSC 567, or permission of instructor.


Coordinator: Dr. Deng


Typically offered: Spring semesters


CSC 680 Advanced Topics in Computer Security 3


Topics in cryptography and computer security, including cryptographic protocols, Web server security, Java security, security in the healthcare domain, and experimental quantum cryptography.


Prerequisites: CSC 339 and CSC 580.


Coordinator: See Department


Offered irregularly


CSC 681 Principles of Computer Security 3


Core concepts in computer security, including the security goals of confidentiality, integrity, and availability; authentication; access control; security software development; use of cryptography; and basic network security.


Prerequisites: Grade of C or better in CSC 261 and CSC 330, or permission of instructor.


Coordinator: Dr. Tate


Typically offered: Fall semesters


CSC 685 Modern Cryptography 3


Theory and practice of cryptography, emphasizing formal models and security reasoning. Primitives covered include private and public-key encryption, message authentication codes, hash functions, digital signatures, secret sharing, and zero-knowledge proofs.


Prerequisites: Grade of C or better in CSC 581, or permission of instructor.


Prerequisites: A grade of C or better in CSC 481, or permission of instructor.


Coordinator: Dr. Tate


Typically offered: Spring semesters, as resources allow


CSC 687 Network Security 3


The course explores the network security concepts of communication protocols, security in routing, remote authentication, access policies, web security, network vulnerabilities, intrusion detection and prevention, and network traffic analysis.


Prerequisites: Grade of C or better in CSC 581 or permission of instructor.


Coordinator: Dr. Mohanty


Typically offered: Spring semesters, as resources allow


CSC 692 Directed Study in Computer Science 1-3


Directed Study in Computer Science.


Offered: Scheduled independently with a Computer Science faculty member


CSC 693 Advanced Topics in Computer Science 3-6


Algorithms, architecture, languages, systems, theory, or other areas of computer science.


Prerequisites: Permission of instructor.


Notes: May be repeated once for credit.

CSC 694 Directed Study in Computer Science 1-3


Notes: Grade: Pass/Not Pass (P/NP).


Offered: Scheduled independently with a Computer Science faculty member


CSC 695 Current Problems in Computer Science 3


Topics of current research interest in computer science.


Prerequisites: Permission of instructor.

CSC 697 Research Problems in Computer Science 3


Advanced research in specialized areas of computer science under the direction of a faculty member. Preparation for master’s thesis.


Prerequisites: Permission of instructor.


Notes: Grade: Satisfactory/Unsatisfactory (S/U).


Offered: Scheduled independently with a Computer Science faculty member


CSC 698 Project in Computer Science 3-6


Prerequisite: Permission of instructor;


Notes: May be repeated for up to 6 credit hours with permission of instructor. Grade: Satisfactory/Unsatisfactory (S/U).


Offered: Scheduled independently with a Computer Science faculty member


CSC 699 Thesis 1-6


Offered: Scheduled independently with a Computer Science faculty member


800-Level Courses

801 Thesis Extension (1-3)

Coordinator: Unknown


Offered: Scheduled independently with a Computer Science faculty member


803 Research Extension (1-3)

Coordinator: Unknown


Offered: Scheduled independently with a Computer Science faculty member