IUPUI
Home About Courses Degrees People Facilities Research Events

Degrees

Certificate in Applied Computer Science Computer Science Minor Bachelor of Science Graduate Certificate Master of Science Doctor of Philosophy

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
The focus of this class is on practical aspects and application of cryptosystems and security protocols in network systems such as the Internet. The goal of this program is for the participant to acquire an understanding of the concepts and principles of cryptography and network security, and to have a hands-on experience in the practice and application of cryptosystems, security protocols and current network security standards. The successful participant will know:
  • 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.