Graduate Certificate Program
Overview
A graduate certificate will be issued when a student has completed 12 graduate credit hours in one of the specialization areas. After finishing the requirements for the graduate certificate, the student may opt to finish the remaining requirements towards a MS degree.
Requirements
Admission Criteria:
The admission criteria are the same as those for the MS degree program. For students who do not have a degree in Computer Science or related field, CSCI 362 (Data Structures) or an equivalent course is required with a grade of B+ or better.
Admission for the Graduate Certificate is the same as that for the Master of Science program. Learn more about Admissions.
Specializations:
Five specialization areas are offered:
- Biocomputing
- Computer Security
- Software Engineering
- Databases and Data Mining
- Biometrics
Biocomputing:
Core:
- BIO 507 (Molecular Biology) or CSCI 580 (Algorithms)
- 548 (Introduction to Bioinformatics)
- 590 (Intelligent Systems) or 590 (Data Mining)
- 541 (Database Systems) or 552 (Visualization)
The popularity and the growth of the Internet and associated networking technologies are allowing a rapidly increasing number of users, representing diverse segments of the society to access an enormous amount of geographically dispersed information available in different electronic form and media. With the successful completion of prominent efforts, such as the Digital Library Initiative, this volume of information will grow at a phenomenal rate. Without effective automated support systems to access and filter such information, an average user runs the risk of being overwhelmed by the sheer volume of irrelevant and possibly unwanted information. Providing a personalized, efficient, adaptive and intelligent access to this plethora of information, without creating an “information overload” on the users, is a major challenge right now, and will become increasingly urgent as we head into the next millennium.
Recent developments in science produce a wealth of experimental data of sequences and three dimensional structures of biological macromolecules. With the advances of computer and information science, this data is available to the public from the variety of databases on the internet. Analysis of this data with various computational methods to obtain useful information is an emerging interdisciplinary area of study. Students completing this certificate will understand structures, functions and evolution of proteins and nucleic acids, retrieve and interpret bioinformation from the internet, learn principles, algorithms and software for sequence alignment, similarity search of sequence databases, estimation of phylogenetic trees, structural prediction and functional interference.
The explosive growth of biological genetic information sources, available over the Internet, has given rise to both opportunities and challenges for biological and medical researchers. The opportunities they provide are both scientific (e.g., understanding the information encoded in elementary biological structures) as well as technological (e.g., new drug discovery for specific diseases). The challenges, on the other hand, lie in how to discover, among the vast volume of data, the items that are relevant or interesting to a given researcher, without an undesirable amount of effort and work load.
The complete information system development is based on an agent-society framework where the elementary information services such as resource discovery and information retrieval, representation, classification, and user interaction are carried out autonomously by independent software units (called agents), and the large-scale information activity is accomplished by means of collaboration between these elementary agents. Such a conceptual agent-based information system is innovative and has the potential to scale up to a broad range of complex information services.
Biometrics:
Core:
- STAT 511 (Statistics) or 590 (Pattern Recognition)
- 590 (Biometrics Computing)
- 590 (Intelligent Systems) or 590 (Data Mining)
- 590 (Image Processing and Computer Vision) or 550 (Computer Graphics)
Biometrics is defined as the capture of the physiological and behavioral characteristics for personal identification and / or individual verification purposes. Since it uses individual personal characteristics to verify or recover identity, it is set to become a successor to the personal identification token. The technique of using biometric methods for identification can be widely applied to forensics, ATM banking, communication security, time and attendance, and access control. And it also plays an important role in enhancing homeland security. In this course we will introduce the principle of various biometric technology including face recognition, fingerprint identification, iris identification, voice recognition, DNA matching and the fundamental computational methods for implementation. Some of the topics include: authentication technologies, biometric systems, sensor and signal processing, face recognition, eye biometrics, fingerprint identification, and DNA matching.
Biometrics refers to the automatic identification of a person based on his/her physiological or behavioral characteristics. This method of identification is preferred over traditional methods involving passwords and PIN numbers for various reasons: (i) the person to be identified is required to be physically present at the point-of-identification; (ii) identification based on biometric techniques obviates the need to remember a password or carry a token. With the increased use of computers as vehicles of information technology, it is necessary to restrict access to sensitive/personal data. By replacing PINs, biometric techniques can potentially prevent unauthorized access to or fraudulent use of ATMs, cellular phones, smart cards, desktop PCs, workstations, and computer networks. PINs and passwords may be forgotten, and token based methods of identification like passports and driver's licenses may be forged, stolen, or lost. Thus biometric based systems of identification are receiving considerable interest. Various types of biometric systems are being used for real-time identification, the most popular are based on face, iris and fingerprint matching. However, there are other biometric systems that utilize retinal scan, speech, signatures and hand geometry.
A biometric system is essentially a pattern recognition system which makes a personal identification by determining the authenticity of a specific physiological or behavioral characteristic possessed by the user. An important issue in designing a practical system is to determine how an individual is identified. Depending on the context, a biometric system can be either a verification (authentication) system or an identification system.
With an increasing reliance on online technology and other shared resources, the information age is quickly revolutionizing the way transactions are initiated and completed. Business transactions of all types are increasingly being handled online; this unprecedented growth in electronic transactions has underlined the need for a faster, more secure, and more convenient method of user verification than passwords can provide. Using biometric identifiers offers several advantages over traditional and current methods. This is because only biometric authentication is based on the identification of an intrinsic part of a human being. Tokens such as smart cards, magnetic stripe cards, and physical keys, can be lost, stolen, duplicated, or left at home; passwords can be forgotten, shared, or unintentionally observed by a third party. By eliminating all of these potential trouble spots, only biometric technology can provide the Security and convenience needed for today’s complex electronic landscape.
Students admitted directly to the Computer Science Master of Science graduate program may earn this certificate in conjunction with their M.S. degree provided that all the requirements of the certificate program are satisfied.
Completion requirements and audit and certification procedures Course Requirements: 12 graduate credit hours are required. These include:
- One core course (3 credits)
- Three specialization courses (9 credits)
Course Lists for the Biometrics Program Including Course Descriptions
STAT 511 Statistical Methods I (3 cr.) P: MATH 164.
Descriptive statistics; elementary
probability; random variables and their distributions; expectation; normal, binomial,
Poisson, and hypergeometric distributions; sampling distributions; estimation and testing
of hypotheses; one-way analysis of variance; correlation and regression.
CSCI 590 Intelligent Systems (3 cr.)
This course will discuss problems in the area of
intelligent systems. Topics include the formalisms within which these problems are studied,
the computational methods that have been proposed for their solution, and the real-world
technological systems to which these methods have been applied.
590 Pattern Recognition (3 cr.)
This course covers the fundamental techniques of statistical
pattern recognition and clustering analysis. It looks at traditional applications of pattern
recognition techniques as well as newer applications such as data mining. This is not a
primarily or exclusively data mining course. Its main focus is pattern recognition, with
data mining as one of the application domains.
550 Computer Graphics (3 cr.)
An introduction to computer graphics. Topics include the concepts,
principles, algorithms, and programming techniques in 3D interactive computer graphics.
Emphasis is on the development and applications of 3D graphic algorithms and methods.
590 Data Mining (3 cr.)
Data Mining is an analytic process designed to explore data
(usually large amounts of data - typically business or market related) in search of consistent
patterns and/or systematic relationships between variables, and then to validate the findings
by applying the detected patterns to new subsets of data. The ultimate goal of data mining is
prediction - and predictive data mining is the most common type of data mining and one that has
the most direct business applications. The process of data mining consists of three stages:
- the initial exploration
- model building or pattern identification with validation/verification
- deployment (i.e., the application of the model to new data in order to generate predictions)
590 Image Processing and Computer Vision (3 cr.)
Computer images are everywhere, occupying a dominant
part of the computer culture. Three mail fields of computer imagery are computer graphics, image
processing and computer vision. Computer vision techniques are used in computer graphics to collect
and model complex scenes; computer graphics techniques are used constrain the recognition of 3D
objects by computer; image processing techniques are routinely used by graphic designers to manipulate
photographs. This course emphasizes image processing and computer vision, and their merging with many
other applications. We will discuss image transform, feature detection and recognition in 2D
image processing, and stereo, dynamic images, and 3D measure in computer vision.
590 Biometrics Computing (3 cr.)
Biometrics is defined as the capture of the physiological
and behavioral characteristics for personal identification and / or individual verification purposes.
Since it uses individual personal characteristics to verify or recover identity, it is set to become
a successor to the personal identification token. The technique of using biometric methods for
identification can be widely applied to forensics, ATM banking, communication security, time
and attendance, and access control. And it also plays an important role in enhancing homeland
security. In this course we will introduce the principle of various biometric technology
including face recognition, fingerprint identification, iris identification, voice recognition,
DNA matching and the fundamental computational methods for implementation. Some of the topics
include:
- authentication technologies
- biometric systems
- sensor and signal processing
- face recognition
- eye biometrics
- fingerprint identification
- DNA matching
Success of the program will be defined in terms of demand (enrollment) and the responses of the students surveyed upon completion of their degree and in the follow-up interviews.
Computer Security:
Core:
- 580 (Algorithms)
- 590 (Network Security)
- 590 (Information Assurance)
- 536 (Networks)
The program will explore concepts and principles of cryptography and network security, including:
- classical and modern cryptography
- cryptanalysis
- secret key cryptosystems
- public key cryptosystems
- digital signature and authentication
- hash functions and message digest
- key distribution and key management
- network security protocols
- what are network security threats and attacks
- what are security requirements of computer and network systems
- what are techniques enforcing security requirements and how to implement these techniques/protocols
Requirements:
12 graduate credit hours are required.
These include:
- One core course (3 credits)
- Three specialization courses (9 credits)
Course Lists for the Program Including Course Descriptions
580 Algorithm Design, Analysis, and Implementation (3 cr.)P: 463 and 470.
Basic techniques for designing and analyzing algorithms: dynamic programming,
divide-and-conquer, balancing, upper and lower bounds on time and space costs,
worst case and expected cost measures. A selection of applications such as
disjoint set union/find, graph algorithms, search trees, pattern matching.
The polynomial complexity classes P, NP, and co-NP; intractable problems.
536 Data Communication and Computer Networks (3 cr.)P: 402. Data communications:
communication hardware technologies including local area and long-haul network hardware,
circuit and packet switching, interfaces between computer and network hardware, and
performance issues. Network architecture: protocol software and conceptual layering,
reliable delivery over an unreliable channel, transport protocols, virtual circuits,
datagrams, Internet working as a fundamental design concept, the client-server paradigm,
naming and name binding, name servers, addressing and address resolution, routing and
routing algorithms, congestion and flow control techniques, network file systems,
distribution of computation, DARPA Internet protocols (TCP/IP) as examples of protocol
organization.
590 Network Security (3 cr.)
This is an introductory level course on the concepts and
principles of cryptography and network security, including classical and modern
cryptography, cryptanalysis, secret key cryptosystems, public key cryptosystems,
digital signature and authentication, hash functions and message digest, key
distribution and key management, network security protocols. The focus of this
class is on practical aspects and application of cryptosystems and security
protocols in network systems such as the Internet.
590 Information Assurance (3 cr.)
Databases and Data Mining:
Core:
- 503 (Operating Systems) or 580 (Algorithms)
- 541 (Databases)
- 590 (Data Mining)
- 590 (Distributed Databases)
Data Mining is an analytic process designed to explore data (usually large amounts of data - typically business or market related) in search of consistent patterns and/or systematic relationships between variables, and then to validate the findings by applying the detected patterns to new subsets of data. The ultimate goal of data mining is prediction - and predictive data mining is the most common type of data mining and one that has the most direct business applications. The process of data mining consists of three stages:
- the initial exploration
- model building or pattern identification with validation/verification
- deployment (i.e., the application of the model to new data in order to generate predictions)
The program will introduce students to the core concepts necessary for the design, implementation, and application of database systems. It stresses the fundamental principles in database modeling and design. The aim is to address the continuing need for engineering databases for complex and ever changing applications requiring security, performance, and reliability. The program emphasizes fundamentals for:
- the logical design of database systems
- the entity-relationship model
- semantic model
- hierarchical model
- network model implementations of the models
- design theory for relational database
- design of query languages and the use of semantics for query optimization
- design and verification of integrity assertions and security
- introduction to intelligent query processing and database machines
Students will be able to ...
- List and explain the fundamental concepts of a relational database system.
- Utilize a wide range of features available in a DBMS package.
- Analyze database requirements and determine the entities involved in the system and their relationship to one another.
- Develop the logical design of the database using data modeling concepts such as entity-relationship diagrams.
- Create a relational database using a relational database package.
- Manipulate a database using SQL.
- Assess the quality and ease of use of data modeling and diagramming tools.
Course Requirements:
12 graduate credit hours are required. These include:
- One core course (3 credits)
- Three specialization courses (9 credits)
- 541 (Databases)
- 590 (Data Mining)
- 590 (Distributed Databases)
Software Engineering:
Core:
- 565 (Programming Languages)
- 506 (Management of Software Development Process )
- 507 (Object Oriented Design and Programming)
- 537 (Distributed Computing) or 536 (Networks)
Admission and completion of Certificate does not guarantee MS program admission.
A central problem of today’s economic development and competitiveness in industry, society, science and engineering is the mastering of complex, large, heterogeneous, software-intensive products and the processes of their construction, application and adaptation. The success of software products and services as well as of enterprises and organizations is increasingly determined by the availability of such adequate software solutions.
Software engineering is the establishment and use of engineering principles to manage the human and technical components involved in creating software so that is satisfies the client’s functional requirements and constraints. This course is intended as an introduction to the principles and practice of software engineering. It will cover tools and techniques used in software development to evaluate and control software quality and project progress.
Topics include life cycle concepts, applied to program specification, development and maintenance, the use of a specific methodology in developing large programs, program verification, and techniques for testing and quality control. The goal is to acquire an understanding of the principles of, and skills in current practice for, carrying out a team sized software engineering project. Students completing this certificate will be familiar with esthetic issues in software design, ethical practices in the software industry, a current process for developing software, current process for managing software engineering projects, measures of software quality, measures of project progress, tools that support software engineering projects.
Course Requirements:
12 graduate credit hours are required. These include:
- One core course (3 credits), as defined in the MS program.
- Three specialization courses (9 credits).
Completion Requirements and Audit and Certification Procedures
Course Requirements: 12 graduate credit hours are required. These include:
- One core course (3 credits)
- Three specialization courses (9 credits)
- Specific Requirements
- Core: 565 (Programming Languages)
- 506 (Management of Software Development Process )
- 507 (Object Oriented Design and Programming)
- 537 (Distributed Computing) or 536 (Networks)
Course lists for the Software Engineering program including course descriptions:
506 Management of the Software Development Process (3 cr.)
A survey of the
fundamental principles and concepts of managing a software project. Topics
include life cycle models, standards and goals, cost estimation, risk
analysis, tool use, component reuse, traceability, metrics, and process
control and improvement. Students are required to apply management concepts
using a project-based approach.
507 Object-Oriented Design and Programming (3 cr.)
An advanced exploration
of the object-oriented model and programming. Topics range from a review of
the object model to advanced concepts such as abstraction mechanisms,
standard library/packages, OO design using an OO language, the syntax and
the semantics of constructs.
536 Data Communication and Computer Networks (3 cr.) P: 402. Data communications:
communication hardware technologies including local area and long-haul network
hardware, circuit and packet switching, interfaces between computer and network
hardware, and performance issues. Network architecture: protocol software and
conceptual layering, reliable delivery over an unreliable channel, transport
protocols, virtual circuits, datagrams, Internet working as a fundamental
design concept, the client-server paradigm, naming and name binding, name
servers, addressing and address resolution, routing and routing algorithms,
congestion and flow control techniques, network file systems, distribution
of computation, DARPA Internet protocols (TCP/IP) as examples of protocol
organization.
537 Introduction to Distributed Computing (3 cr.) P: 503 and 536.
Introduction to
the principles and methods in the design of distributed computing systems. It covers
the fundamentals of distributed computing from four perspectives: underlying
communication media, protocols and their implications; operating system issues;
high-level language constructs; and distributed algorithms.
565 Programming Languages (3 cr.) P: 300. R: 470.
Fall. An exploration of modern
or unconventional concepts of programming languages, their semantics, and their
implementations; abstract data types; axiomatic semantics using Hoare's logic
and Dijkstra's predicate transformers; denotational semantics; functional,
object-oriented, and logic programming; concurrency and Owicki-Gries theory.
Example languages include ML, Ada, Oberon, LISP, PROLOG, and CSP.

