The Graduate School

  1. Introduction
  2. Admission to The Graduate School
  3. Academic Regulations
  4. Academic Departments, Programs, and Courses
  5. Research Centers and Institutes
  6. Tuition and Fees and Financial Regulations
  7. University Services
  8. About UNCG

  9. University Policies
  10. List of Graduate Faculty
  11. Appendices
  12. Archive

Department of Computer Science

167 Petty Building
(336) 256-1112
http://www.uncg.edu/cmp

Graduate Program: Master of Science (MS) in Computer Science, 30 hours

Admissions Information
Graduate Faculty
CSC Computer Science Courses

Graduate Faculty

Professors

Francine Blanchet-Sadri, PhD, Combinatorics on words, formal languages, string algorithms.
Fereidoon Sadri, PhD, Database systems, XML information integration, modeling and management of inaccurate and uncertain data (Director of Graduate Study).
Stephen R. Tate, PhD, Computer security, cryptography, algorithms, data compression (Head of Department).

Associate Professors

Lixin Fu, PhD, Datamining, databases, algorithms.
Nancy Green, PhD, Artificial intelligence, human-computer interaction.
Shan Suthaharan, PhD, Digital water-marking, video coding and compression, computer networks and security, wireless communications, image processing.

Assistant Professor

Jing Deng, Ph.D., Wireless networking and security, information assurance.

Return to Top of Page

MS - Master of Science in Computer Science

The MS in Computer Science requires 30 semester hours with at least 24 hours in computer science (CSC) courses. Three options for the capstone experience are offered: comprehensive examination, project, or thesis.

Application and Admission

Applicants must submit all application materials required by The Graduate School by the appropriate deadline to be considered for Fall, Spring, or Summer admission.

Degree Requirements

Core Courses (6-21 hours)

Every student must complete:
CSC 640 Software Engineering (3)
CSC 656 Foundations of Computer Science (3)

Every student must either present evidence of having completed at least one advanced course in each of the following areas during the undergraduate program or take an advanced course in each of the following areas as part of the graduate program:

Operating Systems (CSC 562)
Computer Networks (CSC 567)
Theory of Computation (CSC 553)
Algorithm Analysis (CSC 555)
Advanced Database Systems (CSC 671)

Electives (9-24 hours)

With prior approval of the Director of Graduate Study, a student will select 9-24 hours of other 500- or 600-level CSC courses. A number of selected courses from other departments are also available. Interested students should contact the Director of Graduate Study.

Thesis, Project, or Comprehensive Examination (Capstone Experience)

Each candidate may elect to prepare a thesis, prepare a project, or pass a comprehensive examination on the program of course work.

Thesis (6 hours)

The candidate may prepare a thesis based on the investigation of a topic in computer science. A thesis director will be appointed by the Department Head after consultation with the student and the Director of Graduate Study. The writing of a thesis requires the scholarly exposition and documentation of a substantial problem. In some cases this may lead to a new solution to the problem and to original results. While writing the thesis, candidates may include up to 6 hours of CSC 699 in the required 30 hour program. An oral examination on the thesis is required.

Project (3-6 hours)

The candidate may prepare a project (theoretical or programmed) based on a topic in computer science. The project may be work-related. A project director will be appointed by the Department Head after consultation with the student and the Director of Graduate Study. The preparation of a project requires a description of the problem and documentation of any software products or description of theoretical solutions. While preparing the project, candidates may include 3 to 6 hours of CSC 698 in the required 30 hour program. An oral examination on the project is required.

Comprehensive Examination

A candidate may elect to pass a written comprehensive examination on the program of study. Please consult with the Director of Graduate Study for information concerning the comprehensive examination.

Return to Top of Page

CSC Computer Science Courses

521 Computer Graphics (3:3)

Pr. grades of at least C in 340, 350, and MAT 292, or permission of instructor

Survey of graphics algorithms, data structures, and techniques.

522 Digital Image Processing (3:3)

Pr. grades of at least C in 330, 350, and MAT 292, or permission of instructor. Successful completion of STA 271 or STA 290 recommended.

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

523 Numerical Analysis and Computing (3:3)

Pr. grades of at least C in 130, 350, and MAT 293, or permission of instructor

Number systems and errors, solutions of nonlinear and linear systems, eigenvalue problems, interpolation and approximation, numerical differentiation and integration, solution of differential equations.

524 Numerical Analysis and Computing (3:3)

Pr. grade of at least C in 523

Continuation of 523 with special topics in numerical analysis, emphasis on applied mathematics. (Formerly CSC 544)

526 Bioinformatics (3:3)

Pr. permission of instructor

Problems and methods in bioinformatics including restriction mapping, map assembly, sequencing, DNA arrays, and sequence comparison.

529 Artificial Intelligence (3:3)

Pr. grades of at least C in 330 and 350 or permission of instructor

Logical foundations, knowledge representation and reasoning, search, and selected topics such as natural language processing and reasoning under uncertainty. (Formerly CSC 559)

539 Introduction to Compiler Design (3:3)

Pr. grades of at least C in 261 and 330 or permission of instructor. Successful completion of 553 helpful

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.

540 Human-Computer Interface Development (3:3)

Pr. grades of least C in 330 and STA 271 or STA 290; or permission of instructor

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

550 Combinatorics on Words (3:3)

Pr. permission of instructor

Introduction to the problems and methods in algorithmic combinatorics on words. Problem areas include periodicity, primitivity, and borderedness.

553 Theory of Computation (3:3)

Pr. grade of at least C in CSC 350 or permission of instructor

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.

555 Algorithm Analysis and Design (3:3)

Pr. grade of at least C in 330

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.

561 Principles of Computer Architecture (3:2:3)

Pr. grades of at least C in 261, 330, and 350, or permission of instructor

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.

562 Principles of Operating Systems (3:3)

Pr. grades of at least C in 261 and 340 or permission of instructor. Successful completion of 561 helpful

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

567 Principles of Computer Networks (3:3)

Pr. grades of at least C in 261 and 330, or permission of instructor

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.

568 Principles of Wireless Networks (3:3)

Pr. grades of at least C in 330 and 567, or permission of instructor

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

580 Cryptography and Security in Computing (3:3)

Pr. grades of at least C in 330 and one of the following: 471, 561, 562, or 567; or permission of instructor

Modern development of cryptography and secure encryption protocols. Program security and viruses, operating system protection, network and distributed system security, database security, and administering security.

583 Firewall Architecture and Computer Security (3:3)

Pr. grades of at least C in 567 and 580, or permission of instructor

Firewall hardware and software technologies. Architectures, protocols and their applications.

589 Experimental Course

This number reserved for experimental courses. Refer to the Course Schedule for current offerings.

593, 594 Directed Study in Computer Science (1-3), (1-3)

621 Advanced Computer Graphics (3:3)

Pr. 521 or permission of instructor

Advanced computer graphics algorithms, data structures, and techniques.

622 Advanced Digital Image Processing (3:3)

Pr. 522 or permission of instructor

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

626 Advanced Bioinformatics (3:3)

Pr. 526 or permission of instructor

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.

640 Software Engineering (3:3)

Pr. 330, or permission of instructor

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

650 Language Theory (3:3)

Pr. 550 or permission of instructor

Important aspects of language theory. Advanced topics such as grammar, codes, L systems, and combinatorics on words.

653 Advanced Theory of Computation (3:3)

Pr. 553, or permission of instructor

Computability theory: 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).

655 Advanced Topics in Algorithms (3:3)

Pr. grade of at least C in 555

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.

656 Foundations of Computer Science (3:3)

Pr. MAT 353 or permission of instructor

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

663 Advanced Topics in Computer Systems (3:3)

Pr. 330 and 567 or 561 or 562, or permission of instructor

Distributed and parallel systems. High-speed and wireless networks. Mobile computing. Communication, synchronization, distributed shared memory, real-time and fault-tolerant systems; current implementations. May be repeated for credit when topics vary.

665 Advanced Wireless Networks (3:3)

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

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

671 Advanced Database Systems (3:3)

Pr. 330, or permission of instructor

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

672 Database System Architecture (3:3)

Pr. 570 or 671, or permission of instructor

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.

675 Principles of XML Databases (3:3)

Pr. 671 or permission of instructor

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

676 Topics in Database Systems (3:3)

Pr. 671 or permission of instructor

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.

680 Advanced Topics in Computer Security (3:3)

Pr. 339 and 580

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

693 Advanced Topics in Computer Science (3-6)

Pr. permission of instructor

Algorithms, architecture, languages, systems, theory, or other areas of computer science. May be repeated once for credit.

695 Current Problems in Computer Science (3:3)

Pr. permission of instructor

Topics of current research interest in computer science.

697 Research Problems in Computer Science (3:3)

Pr. permission of instructor

Advanced research in specialized areas of computer science under the direction of a faculty member. Preparation for master's thesis. (Graded on S-U basis)

698 Project in Computer Science (3-6)

Pr. permission of instructor

May be repeated for up to 6 credit hours with permission of instructor. (Graded on S-U basis)

699 Thesis (1-6)

711 Experimental Course

This number reserved for experimental courses. Refer to Course Schedule for current offerings.

801 Thesis Extension (1-3)

803 Research Extension (1-3)

Return to Top of Page

 

Page updated: 08-Aug-2011

Accessibility Policy

Page Issues? Webmaster

The Graduate School
The University of North Carolina at Greensboro
241 Mossman Building
1202 Spring Garden Street
Greensboro, NC 27412
VOICE 336.334.5596
FAX 336.334.4424
ADMISSIONS FAX 336.256.0109
EMAIL inquiries@uncg.edu