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. Deng    Course Description    Sample Syllabus


Offered as resources allow


CSC 105 Data, Computing, and Quantitative Reasoning (3:3) [MAC: Quantitative Reasoning

Problem-based introduction to quantitative reasoning, including computational methods; formulation of quantitative arguments; algorithmic understanding, selection, and utilization; data modeling, interpretation, and summarization of results, on real world datasets.

Coordinator: Dr. Mohanty     Sample Syllabus


Typically Offered: Every semester


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: Ms. Kikuchi     Sample Syllabus


Typically Offered: Every semester


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

Pr. Grade of at least C (2.0) in MAT 120, MAT 150, MAT 151, MAT 183, MAT 184, MAT 190, MAT 191, or MAT 196 (Note: Computer Science majors should not take MAT 120, MAT 183, or MAT 184).


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


Coordinator: Ms. Kikuchi    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. Deng    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. Ariyawansa    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 130 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. Ariyawansa    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: Dr. Deng    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. Kopper    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. Suthaharan    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: Mr. Ariyawansa    Course Description    Sample Syllabus


Typically Offered: Every semester


CSC 362 System Programming (3:3)

Pr. Grade of C or better in CSC 230 and CSC 261, or permission of instructor


System programming with emphasis on processes, memory management, multithreaded programming, synchronization and deadlocks, interprocess communication, parallel and distributed computing, networking, files systems, security, signals, and virtualization containers.


Coordinator: Dr. Mohanty    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 B+ 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        Sample Syllabus


Typically offered: Every semester


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        Sample Syllabus


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: Grades of at least C (2.0) in CSC 330 and (STA 271 or STA 290), or permission of instructor.


Coordinator: Dr. Suthaharan


Typically offered: Every semester


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. Kopper        Sample Syllabus


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 417 Deep Learning in Computer Vision 3


Concepts of state-of-the-art deep learning architectures, algorithms for various computer vision tasks (e.g., such as image classification, object detection, semantic segmentation, image generation, and high-dimensional image analysis), and hands-on exercises and project.


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


Coordinator: Dr. Kim        Sample Syllabus


Typically offered: Fall 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. Deng


Offered as resources allow


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 627


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. Zhu        Sample Syllabus


Typically offered: Every semester


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. Kopper            Sample Syllabus


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        Sample Syllabus


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         Sample Syllabus


Typically offered: Every semester


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        Sample Syllabus


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         Sample Syllabus


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


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


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


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 474 Principles of Data Mining 3


Foundation and principles of data mining-Architecture, languages, data preparation and core algorithms including association mining, classification and clustering will be discussed. Topics such as graph mining may be also covered.


Prerequisites: CSC 471 or permission of instructor.


Coordinator: Dr. Fu         Sample Syllabus


Offered irregularly



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


Offered as resources allow


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           Sample Syllabus


Typically offered: Spring 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.


Sample Syllabus


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: permission of instructor (prior programming and statistics experience is required).


Coordinator: Dr. Mohanty        Sample Syllabus


Typically offered: Every semester


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.


Coordinator: Dr. Deng        Sample Syllabus


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


Coordinator: Dr. Suthaharan


Typically offered: Every semester


CSC 615 Computer Graphics 3


Survey of graphics algorithms, data structures, and techniques.


Coordinator: Dr. Kopper


Offered irregularly


CSC 616 Digital Image Processing 3


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


Coordinator: Dr. Kim


Typically offered: Spring semesters



CSC 617 Deep Learning in Computer Vision 3


Concepts of state-of-the-art deep learning architectures, algorithms for various computer vision tasks (e.g., such as image classification, object detection, semantic segmentation, image generation, and high-dimensional image analysis), and hands-on exercises and project.


Prerequisites: None.


Coordinator: Dr. Kim        Sample Syllabus


Typically offered: Fall semesters


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


Offered as resources allow


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 625 or permission of instructor.


Coordinator: Dr. Deng


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.


Note: Cross-listed with MAT 627


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.


Coordinator: Dr. Zhu        Sample Syllabus


Typically offered: Every semester


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.


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.


Coordinator: Dr. Kim        Sample Syllabus


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.


Coordinator: Dr. Kopper           Sample Syllabus


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.


Coordinator: Dr. Zhu

Sample Syllabus


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 452, CSC 652, or permission of instructor.


Coordinator: Dr. Zhu


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.


Coordinator: Dr. Fu Sample Syllabus


Typically offered: Every semester


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 454 or 654.


Coordinator: Dr. Fu


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.


Coordinator: Dr. Tate

Sample Syllabus


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.


Coordinator: Dr. Deng        Sample Syllabus


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.


Coordinator: Dr. Mohanty        Sample Syllabus


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 477 or CSC 461 or CSC 462 or CSC 677 or CSC 661 or CSC 662 or permission of instructor.


Notes: May be repeated for credit when topics vary.


Coordinator: Dr. Deng


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 661 or CSC 662 or CSC 677 or permission of instructor.


Coordinator: Dr. Deng


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.


Coordinator: Dr. Kopper                   Sample Syllabus


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 471 or CSC 671, or permission of instructor.


Coordinator: Dr. Kopper                   Sample Syllabus


Offered: Spring Semesters


CSC 674 Principles of Data Mining 3


Foundation and principles of data mining-Architecture, languages, data preparation and core algorithms including association mining, classification and clustering will be discussed. Topics such as graph mining may be also covered.


Prerequisites: CSC 471 or permission of instructor.


Coordinator: Dr. Fu         Sample Syllabus


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.


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 677, or permission of instructor.


Coordinator: Dr. Deng


Offered irregularly


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.


Coordinator: Dr. Tate        Sample Syllabus


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 481 or CSC 681 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 481 or CSC 681 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


700-Level Courses

CSC 701 Doctoral Student Orientation 3


Introduction to computer science research and standards in different areas of computer science. Particular emphasis on research in the department with faculty-presented research presentations.


Prerequisites: Permission of instructor.


Coordinator: Dr. Mohanty


Typically offered: Fall semesters


800-Level Courses

801 Thesis Extension (1-3)

Coordinator: See Department


Offered: Scheduled independently with a Computer Science faculty member


803 Research Extension (1-3)

Coordinator: See Department


Offered: Scheduled independently with a Computer Science faculty member