Course Descriptions
Course Descriptions
• Computer Science Coursework
MS Core
PhD Core
Electives
• Information Assurance Coursework
• Health Informatics Coursework
M.S. Core
Prereq: admitted to MS program or completion of all transition courses
CS5010 Program Design Paradigm
This graduate course for students in the MS program introduces modern program design paradigms. It starts with functional program design, introducing the notion of a design recipe. The latter consists of two parts: a task organization (ranging from the description of data to the creation of a test suite) and a data-oriented approach to the organization of programs (ranging from atomic data to self-referential data definitions and functions-as-data). The course then progresses to object-oriented design, explaining how it generalizes and contrasts with functional design. In addition to studying program design, students also practice pair programming and public code review techniques, as found in industry today. STUDENT MUST REGISTER FOR CS G5011 LAB IN ORDER TO GET CREDIT FOR THIS COURSE.
CS5011 Program Design Paradigm Lab (0 credit hours)
CS5500 Managing Software Development
Covers software life cycle models (waterfall, spiral, etc.), domain engineering methods, requirements analysis methods (including formal specifications), software design principles and methods, verification and testing methods, resource and schedule estimation for individual software engineers, component-based software development methods and architecture, languages for describing software processes. Includes a project where some of the software engineering methods (from domain modeling to testing) are applied in an example.
CS5600 Computer Systems
Studies the structure, components, design, implementation, and internal operation of computer systems, focusing mainly on the operating system level. Briefly reviews computer hardware and architecture, including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques, including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Introduces distributed operating systems, discusses issues arising from concurrency and distribution, such as scheduling of concurrent processes, interprocess communication and synchronization, resource sharing and allocation, deadlock management and resolution. Includes examples from real operating systems. Will expose students to the system concepts through programming exercises.
CS5800 Algorithms
Presents the mathematical techniques used for the design and analysis of computer algorithms. Focuses on algorithmic design paradigms and techniques for analyzing the correctness, time and space complexity of algorithms. Topics chosen from: asymptotic notation, recurrences, loop invariants, Hoare triples, sorting and searching, advanced data structures, lower bounds, hashing, greedy algorithms, dynamic programming, graph algorithms, and NP-completeness.
Ph.D. Core
Prereq: admitted to Ph.D. program or permission of instructor
CS7400 Intensive Principles of Programming Languages
Prereq: PhD students only or by permission of instructor
Studies the basic components of programming languages; specification of syntax and semantics; and description and implementation of programming language features. Discusses examples from a variety of languages.
CS7600 Intensive Computer Systems
Studies the structure, components, design, implementation, and internal operation of computer systems, focusing mainly on the operating system level. Briefly reviews computer hardware and architecture, including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques, including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Briefly discusses distributed operating systems, real time systems and addresses issues such as concurrent processes, scheduling, interprocess communication and synchronization. Some relevant distributed algorithms will be discussed as time allows. The course will also cover design and analysis techniques for desirable properties in computer systems selected from the following: functional correctness (in the absence of faults), performance and throughput, fault-tolerance and reliability, real-time response, security, and quality-of-service. Includes examples from real operating systems. The course will emphasize abstraction while programming exercises will be used to facilitate the understanding of concepts.
CS7800 Advanced Algorithms
Presents advanced mathematical techniques for designing and analyzing computer algorithms. Reviews some of the material covered in CS5800 and then covers advanced topics. Emphasizes theoretical underpinnings of techniques used to solve problems arising in diverse domains. Topics include asymptotic analysis, advanced data structures, dynamic programming, greedy algorithms and matroid theory, amortized analysis, randomization, string matching, algebraic algorithms, and approximation algorithms. Introduces Turing Machines, P and NP classes, polynomial-time-reducibility, and NP-completeness.
CS7805 Theory of Computation
Prereq: CS7800 MS: Theory
Examines formal models of computation, notions of undecidability, and basic complexity theory. Models of computation include finite state automata, pushdown automata, and Turing machines. Discusses the properties of regular sets and context-free languages. Also covers partial recursive functions, primitive recursive functions, recursively enumerable sets, Turing decidability and unsolvable problems. Discusses the concept of reductions, time and space complexity classes, and the polynomial-time hierarchy.
CS7090 Research Overview of Computer Science (1 s.h.)
Students will be exposed to all current research activities within the College.
ELECTIVES
Artificial Intelligence
CS5100 Foundations of Artificial Intelligence
Prereq: Lisp or Java programming MS: AI Ph.D.: AI
This course introduces the fundamental problems, theories and algorithms of the artificial intelligence field. Topics covered include: heuristic search and game trees; knowledge representation using predicate calculus; automated deduction and its applications; problem solving and planning; introduction to machine learning. Required coursework includes the creation of working programs that solve problems, reason logically, and/or improve their own performance using techniques presented in the course.
CS6140 Machine Learning
Prereq: CS5100 MS: AI Ph.D.: AI
This course provides a broad look at machine learning techniques and issues, including algorithms for: supervised learning, including back-propagation neural networks and decision tree induction; unsupervised learning; reinforcement learning; and explanation-based learning. Also covers simulated annealing and genetic algorithms, and introduces computational learning theory and other methods for analyzing and measuring the performance of learning algorithms. Coursework includes a programming term project.
CS6110 Knowledge-based Systems
Prereq: CS5100 MS: AI Ph.D.: AI
This course focuses on the acquisition, organization and use of world knowledge in computers, and the challenge of creating programs with common sense. Topics include: knowledge representation and reasoning models beyond predicate calculus; Bayesian inference and other models of reasoning and decision making under uncertainty; rule-based expert systems; case-based and analogical reasoning; introduction to natural language processing. Required coursework include the creation of working programs that store and manipulate world knowledge using techniques presented in the course.
CS6120 Natural Language Processing
Prereq: CS5100 MS: AI Ph.D.: AI
This course provides an introduction to the computational modeling of human language, the ongoing effort to create computer programs that can communicate with people in natural language, and current applications of the natural language field such as automated document classification, intelligent query processing, and information extraction. Topics include: computational models of grammar and automatic parsing; statistical languagemodels and the analysis of large text corpuses; natural language semantics and programs that understand language; models of discourse structure; and language use by intelligent agents. Required coursework includes formal and mathematical analysis of language models, and implementation of working programs that analyze and interpret natural language text.
CS7180 Special Topics in Artificial Intelligence
Prereq: CS5100 or consent of instructor. MS: AI
Topics vary
CS7170 Seminar in Artificial Intelligence (2 s.h.)
Prereq: CS5100 or consent of instructor.
Students will read and present various survey and research papers in Artificial Intelligence. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Computer-Human Interaction
CS5340 Computer/Human Interaction
Prereq: Knowledge of C/UNIX MS: HCI, PhD: HCI
This course covers the principles of human‐computer interaction and the design and evaluation of user interfaces. Topics include an overview of human information processing sub‐systems (perception, memory, attention and problem‐solving), how the properties of these systems affect the design of user interfaces; the principles, guidelines, and specification languages for designing good user interfaces, with emphasis on toolkits and libraries of standard graphical‐user‐interface objects; and a variety of interface evaluation methodologies that can be used to measure the usability of software. Additional topics may include: World Wide Web design principles and tools, computer‐supported cooperative‐work, multi‐modal and "next generation" interfaces, speech and natural language interfaces, virtual reality interfaces. Coursework includes both the creation and implementation of original user interface designs, and the evaluation of user interfaces created by others.
CS6350 Empirical Research Methods
MS: HCI, PhD: HCI
Presents an overview of methods for conducting empirical research within Computer Science. These methods help provide objective answers to questions about the usability, effectiveness, and acceptability of systems. The course covers the basics of the scientific method, building from a survey of objective measures to the fundamentals of hypothesis testing using relatively simple research designs, and on to more advanced research designs and statistical methods. The course also includes a significant amount of fieldwork, spanning the design, conduct and presentation of small empirical studies. Students will also work on a project using at least one advanced statistical analysis technique, such as causal path analysis, and will also prepare a final report and presentation on the results of the study.
Database Management
CS5200 Introduction to database systems
Prereq: MS: DB Ph.D.: DB
Introduces relational database management systems as a class of software systems. Prepares students to be sophisticated users of database management systems. The course covers design theory, query language and performance/tuning issues. Topics include relational Algebra, SQL, stored procedures, user-defined functions, cursors, embedded SQL programs, client-server interfaces, entity-relationship diagrams, normalization, B-trees, concurrency, transactions, database security, constraints, object-relational DBMSs, specialized engines such as spatial, text, XML conversion and time series. The course will include exercises using a commercial relational or object-relational database management system.
CS 6200 Information Retrieval
MS: DB, AI PhD: DB, AI
Provides an introduction to information retrieval systems and different approaches to information retrieval. Topics covered include evaluation of information retrieval systems; retrieval, language, and indexing models; file organization; compression; relevance feedback; clustering; distributed retrieval and metasearch; probabilistic approaches to information retrieval; Web retrieval; filtering, collaborative filtering, and recommendation systems; cross-language IR; multimedia IR; and machine learning for information retrieval.
CS6220 Data Mining Techniques
Prereq: CS5800 or CS7800 MS: DB Ph.D.: DB
This course covers various aspects of data mining including OLAP technology, classification, ensemble methods, association rules, sequence mining, and cluster analysis. The class project involves hands-on practice of mining useful knowledge from a large database.
CS7280 Special Topics in Database Management
Prereq: CS5200 or consent of instructor. MS: DB
Topics vary. Possible areas are object-oriented database systems and distributed data-base systems.
CS7270 Seminar in Database Systems (2 s.h.)
Prereq: CS5200 or consent of instructor.
Students will read and present various survey and research papers in Database Systems. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Graphics
CS5310 Computer Graphics
Prereq: Linear Algebra MS: Graphics
Introduces the fundamentals of two-dimensional and three-dimensional computer graphics with an emphasis on approaches for obtaining realistic images. Covers two-dimensional algorithms for drawing lines and curves, anti-aliasing, filling, and clipping. Studies rendering of three-dimensional scenes composed of spheres, polygons, quadric surfaces, and bi-cubic surfaces using ray-tracing and radiosity. Includes techniques for adding texture to surfaces using texture and bump maps, noise, and turbulence.
CS5320 Digital Image Processing
Prereq: Linear Algebra MS: Graphics
Studies the fundamental concepts of digital image processing, including digitization and display of images, manipulation of images to enhance or restore image detail, encoding (compression) of images, detection of edges and other object features in images, and the formation of computed tomography (CT) images. Introduces mathematical tools such as linear systems theory and Fourier analysis and uses them to motivate and explain these image processing techniques.
CS5330 Pattern Recognition and Computer Vision
Prereq: Linear Algebra MS: Graphics
Introduces fundamental techniques for low-level and high-level computer vision. Examines image formation, early processing, boundary detection, image segmentation, texture analysis, shape from shading, photometric stereo, motion analysis via optic flow, object modeling, shape description, and object recognition (classification). Discusses models of human vision (gestalt effects, texture perception, subjective contours, visual illusions, apparent motion, mental rotations, cyclopean vision).
CS6310 Computational Imaging
Prereq: CS5320 or EECE7311 or permission of instructor MS: Graphics
Introduces the latest computationsal methods in digital imaging that overcome the traditional limitations of a camera and enable novel imaging applications. The course provides a practical guide to topics in image capture and manipulation methods for generating compelling pictures for computer graphics and for extracting scene properties for computer vision, with several examples.
CS7380 Special Topics in Graphics/Image Processing
Prereq: consent of instructor. MS: Graphics
Topics vary.
CS7370 Seminar in Graphics/Image Processing (2 s.h.)
Prereq: consent of instructor. MS: Graphics
Students will read and present various survey and research papers in Graphics and Image Processing. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Networks
CS5700 Fundamentals of Computer Networking
Prereq: undergraduate probability theory MS: Netwk Ph.D.: Netwk
Studies network protocols and architectures. Focuses on modeling and analysis of networks and network protocols. Introduces modeling concepts with emphasis on queuing theory, including Little’s theorem, M/M/1, M/M/m, M/D/1 and M/G/1 queuing systems. Discusses issues of performance evaluation of computer networks including performance metrics, evaluation tools and methodology, simulation techniques and limitations. Presents the different harmonizing functions needed for the communication and efficient operation of computer networks and discusses examples of Ethernet, FDDI and Wireless networks. Topics include: link layer protocols such as HDLC, PPP and SLIP; packet framing; spanning tree and learning bridges, error detection techniques and automatic repeat request algorithms; sliding window and reliable/ordered services, queuing disciplines including FQ and WFQ. Introduces flow control schemes such as window flow control and leaky bucket rate control schemes; and discusses briefly congestion control and fairness.
CS6710 Wireless Networks
Prereq: CS5700 or permission of instructor MS: Network
Covers both theoretical issues related to wireless networking and practical systems for both wireless data networks and cellular wireless telecommunication systems. Topics covered include fundamentals of radio communications, channel multiple access schemes, wireless local area networks, routing in multi-hop Ad-hoc wireless networks, mobile IP, and TCP improvements for wireless links, cellular telecommunication systems and quality of service in the context of wireless networks. Requires a project that addresses some recent research issues in wireless and mobile networking.
CS6750 Cryptography and Communication Security
Prereq: CS5800/CS7800 (or taken concurrently)
MS: Netwk, Theory, Info Sec
Studies the design and use of cryptographic systems for communications and other applications such as e-commerce. Discusses the history of cryptographic systems, the mathematical theory behind the design, their vulnerability and the different cryptanalytic attacks. Topics include: stream ciphers such as shift register sequences; block ciphers such as DES and AES; public-key systems such as RSA, Discrete Logarithms; signature schemes; hash functions such as MD5 and SHA1; protocol schemes such as Identification schemes, Zero-Knowledge proofs, Authentication schemes and Secret Sharing schemes. Key management problems including Needham-Schroeder protocols and certificates will be discussed.
CS6740 Network Security
Prereq: CS5700 (CS6750 is strongly recommended) MS: Network, Systems
Studies the theory and practice of computer security, focusing on the security aspects of multi-user systems and the internet. Introduces cryptographic tools such as encryption, key exchange, hashing and digital signatures in terms of their applicability to maintaining network security. Discusses security protocols for mobile networks. Topics include: firewalls, viruses, Trojan horses, password security, biometrics, VPNs, internet protocols such as SSL, IPSec, PGP, SNMP and others.
CS6760 Privacy, Security and Usability
Prereq: CS5600 or CS7600 MS: Info Sec
Usability and security are widely seen as two antagonistic design goals for complex computer systems. This course challenges convention wisdom and encourages students to discover ways that security, privacy and usability can be made synergistic in system design. Topics include computer forensics, network forensics, user interface design, backups, logging, economic factors affecting adoption of security technology, trust management and related public policy. Case studies such as PGP, S/MIME, SSL will be used. Basic cryptography and hash functions will be introduced as it is needed. Coursework includes analysis of papers, problem sets, and a substantial term project.
CS7780 Special Topics in Networks
Prereq: CS5700 or consent of instructor. MS: Netwk
Topics vary.
CS7770 Seminar in Computer Networks (2 s.h.)
Prereq: CS5700 or consent of instructor.
Students will read and present various survey and research papers in Computer Networks. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
CS7775 Seminar in Computer Security (2 s.h.)
Prereq: CS6750 or consent of instructor.
Students will read and present various survey and research papers in cryptography and computer security. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Programming Languages
CS5400 Principles of Programming Languages
Prereq: CS 5010 or permission of instructor
Studies the basic components of programming languages; specification of syntax and semantics; and description and implementation of programming language features. Discusses examples from a variety of languages.
CS6510 Advanced Software Development
Prereq: CS5400/CS7400 MS: PL, SE Ph.D.: PL, SE
Presents current ideas and techniques in software methodology and provides a means for students to apply these techniques. Students will be expected to design, implement, test, and document a software project.
CS6410 Compilers
Prereq: CS5400/CS7400 MS: PL Ph.D.: PL
Each student will write a small compiler. Topics include parser generation, abstract syntax trees, symbol tables, type checking, generation of intermediate code, simple code improvement, register allocation, run-time structures, and code generation.
CS6412 Semantics of Programming Languages
Prereq: CS5400/CS7400 and discrete mathematics MS: PL Ph.D.: PL
Studies mathematical models for the behavior of programming languages. Operational, denotational, and equational specifications. Lambda-calculi and their properties. Applications of these techniques, such as rapid prototyping and correctness of program optimizations.
CS7480 Special Topics in Programming Languages
Prereq: CS5400/CS7400 or consent of instructor. MS: PL
Topics vary.
CS7470 Seminar in Programming Languages (2 s.h.)
Prereq: CS5400/CS7400 or consent of instructor.
Students will read and present various survey and research papers in Programming Languages. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
CS7570 Seminar in Software Development (2 s.h.)
Prereq: CS5500/CS6510 or consent of instructor.
Students will read and present various survey and research papers in Software Development. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Software Engineering
CS 5610 Web Development MS: SE
Discusses web development for sites that are dynamic, data-driven, and interactive. Focuses on the software development issues of integrating multiple languages, assorted data technologies, and web interaction. Considers ASP.NET, C#, HTTP, HTML, CCS, XML, XSLT, Javascript, AJAX, RSS/Atom, SQL and web services. Each student must deploy individually designed web experiments that illustrate theweb technologies and at least one major integrative web site project. Students may work as a team with the permission of the instructor. Each student or team must also create extensive documentation of their goals, plans, design decisions, accomplishments, and user guidelines. All source files must be open and be automatically served by a sources server.
CS6520 Methods of Software Development MS: SE
Studies concepts of object-oriented programming that forms the basis for components (e.g., generic programming, programming by contracts, programming with metaclasses), software architecture for supporting components (e.g., implicit invocation, filters, reflection), and the concrete realizations of components in some industrial standards (e.g., JavaBeans, EJB, CORBA, COM/DCOM). Selected topics in component research will also be covered. Students will do a project where some creation, deployment, and evolution methods of software components are applied.
CS6530 Analysis of Software Artifacts
Prereq: CS5500 MS: SE
Addresses all kinds of software artifacts - specifications, designs, code, etc. - and will cover both traditional analyses, such as verification and testing, and promising new approaches, such as model checking, abstract execution and new type systems. The focus will be the analysis of function (for finding errors in artifacts and to support maintenance and reverse engineering), but the course will also address other kinds of analysis (such as performance and security).
CS6540 Foundations of Formal Methods and Software Analysis
Prereq: CS5500/CS6520 MS: SE
Covers necessary mathematical background such as first-order logic, and some measure theory. Studies the formal methods in more depth and breadth. Discusses the current state of the art in verification and semantics of probabilistic, real-time, and hybrid systems.
CS6510 Advanced Software Development [see programming languages]
CS7580 Special Topics in Software Engineering
Prereq: CS5500/CS6520 or consent of instructor. MS: SE
Topics vary.
CS7575 Seminar in Software Engineering (2 s.h.)
Prereq: CS5500/CS6520 or consent of instructor.
Students will read and present various survey and research papers in Software Engineering. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Systems
CS5620 Computer Architecture
Prereq: CS5600/CS7600 or consent of instructor. MS: Systems
Studies the design of digital computer system components, including the CPU, the memory subsystem, and interconnection busses and networks. Explores modern design techniques for increasing computer system capacity. Emphasizes the growing gap between CPU and RAM speed, and the parallel operation of the growing number of functional units in a CPU. Topics include pipelining, cache, new CPU architecture models, memory bandwidth and latency, multiprocessing and parallel processing architectures, cache coherence, and memory consistency.
CS6610 Parallel Computing
Prereq: CS5600/CS7600 and CS5800/CS7800 MS: Systems, Theory
Studies the principles of parallel processing, a variety of parallel computer architecture models, including SIMD, MIMD, dataflow, systolic arrays, and network of workstations, and algorithms for parallel computation on the various models. Topics include interconnection network design, memory organization, cache and bus design, processor technologies, algorithms for sorting, combinatorial, and numerical problems, graph algorithms, matrix multiplication, and FFT, and the mapping of these algorithms to different architectures.
CS5650 Research in High Performance Computing
Introduces students to research in the domain of High Performance Computing. Each instance of this course will cover a single topic with broad open questions. The required systems background needed to investigate these questions will be covered in the first part of the course. Then, working in teams, students will have an opportunity to address different aspects of the open questions so that in combination the entire class may learn more than any single team could accomplish. Example topics include: use of new hardware such as GPU's on video boards; use of new software tools for multi-core computing; development of check-pointing packages for more robust long computations; software for GUI window ; and cloud computing.
CS6740 Network Security [see network]
CS7680 Special Topics in Computer Systems
Prereq: CS5600/CS7600 or consent of instructor. MS: Systems
Topics vary.
CS7670 Seminar in Computer Systems (2 s.h.)
Prereq: CS5600/CS7600 or consent of instructor.
Students will read and present various survey and research papers in Computer Systems. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Theory
CS 6800 Applications of Information Theory to Computer Science
Prereq: undergraduate probability theory and/or permission of instructor
MS: Theory
This course serves as an introduction to Information Theory and its applications to various computational disciplines: the basic concepts of Information Theory are covered, including entropy, relative entropy, mutual information, and the asymptotic equipartition property. The course will concentrate on applications of Information Theory to computer science and computational disciplines, including compression, coding, Markov chains, machine learning, information retrieval, statistics, computational linguistics, computational biology, wired and wireless networks, and image and speech processing. The course is self-contained; no prior knowledge of Information Theory is required or assumed.
CS6810 Distributed Algorithms
Prereq: CS5800/CS7800 or permission of instructor. MS: Theory
Covers the design and analysis of algorithms and problems arising in distributed systems, with emphasis on network algorithms. The main concerns are efficiency of computation and communication, fault tolerance, and asynchrony. Topics include leader election, graph algorithms, datalink protocols, packet routing, logical synchronization and clock synchronization, resource allocation, self-stabilization of network protocols, graph partitions.
CS7805 Theory of Computation [see Ph.D. core]
CS6750 Cryptography and Computer Security [see network]
CS6610 Parallel Architecture and Algorithms [see systems]
CS7880 Special Topics in Theoretical Computer Science
Prereq: CS5800/CS7800 or consent of instructor. MS: Theory
Topics vary. Possible areas are advanced cryptography, approximation algorithms, computational algebra, formal verification, network algorithms, online computation, parallel computing, and randomness and computation.
CS7870 Seminar in Theoretical Computer Science
Prereq: CS5800/CS7800 or consent of instructor.
Students will read and present various survey and research papers in Theoretical Computer Science. Faculty supervisor and topics will vary from semester to semester. May be repeated for credit for Ph.D. students.
Reading and project courses
CS8982 MS Readings and Research in Computer Science
Prereq: core courses and permission of instructor.
Selected readings under the supervision of a faculty member
CS8674 Master's Project in Computer Science
Prereq: core courses and agreement of a project supervisor.
CS7990 Master's Thesis in Computer Science
Prereq: agreement of a thesis supervisor.
CS8982 Ph.D. Readings and Research in Computer Science
Prereq: permission of instructor.
Selected readings under the supervision of a faculty member
CS9990 Ph.D. Thesis in Computer Science
Prereq: Ph.D. candidate
CS9996 Ph.D. Thesis Continuation
Prereq: at least 2 semesters of CS9990
COOP
CS6964 Co-op (no credit is given)
Students participating in the Cooperative Education Program must register for this course every semester while on Co-op.
Information Assurance Coursework
Registration for IA courses by MSCS students must be pre-approved by the graduate office.At most 8 semester credit hours of these courses can be counted towards MS CS
IA5010 Fundamentals of Information Assurance
In this course, students will build a common cross-disciplinary understanding in the foundations of information assurance. The course presents an overview of basic principles and security concepts related to information systems, including workstation security, system security, and communications security. The course introduces information security via database technology. Discusses legal infrastructure such as DMCA, Telecommunications Act, wire fraud, and other ethical issues. Covers security methods, controls, procedures, economics of cybercrime, criminal procedure, and forensics. In addition, the course will describe the use of cryptography as a tool, software development processes, and protection.. Students will develop an understanding of the Information Assurance profession and how they can be applied and appropriately support the business.
IA5120 Applied Cryptography
Prerequisite: IA5010 and permission of instructor
Provides a survey of both the principles and the practice of cryptography. Topics covered include symmetric encryption schemes including DES and AES; public key cryptosystems such as RSA, Discrete Logarithm; hash functions, authentication and digital signatures; key management and digital certificates. Discusses network security protocols and applications, including Kerberos and SSL.
IA5130 Computer Systems Security
Prerequisite: IA5010 and permission of instructor
Study issues involved in the security of computer systems. Topics include security models, authentication issues, access control, intrusion detection and damage control. Case studies and laboratory exercises are included.
IA5140 Network Security Practices
Prerequisite: IA5010 and permission of instructor
Study issues involved in the security of computer networks. Topics include firewalls, viruses, Virtual Private Networks, Internet Security and Wireless Security. Case studies and laboratory exercises are included.
IA5200 Risk Management for Information Assurance
Provides principles and methodologies for identifying and addressing information risk management issues in organizations. Students are trained in information security risk assessments and creation of security plans. Students are also trained to create policies and procedures to manage risks for identity and access management, network, database and application monitoring, and infrastructure vulnerabilities. Provides necessary knowledge and understanding of the requirements for compliance with US and International laws, Federal systems guidelines, standards, directives and industry best practices. Combines classroom lectures with practical projects and presentations.
IA5210 Information System Forensics
Prereq: IA5010 or taken concurrently or permission of instructor. MS: Info Sec
Designed to allow students to explore the techniques used in computer forensic examinations. Examines computer hardware, physical and logical disk structure and computer forensic techniques. Hands-on experiences will be conducted on DOS, Windows operating systems, Macintosh, Novell, and Unix/Linux platforms. Students will build on basic computer skills and gain hands-on experience with the tools and techniques to investigate, seize and analyze computer based evidence using a variety of specialized forensic software in an IBM-PC environment.
IA5240 Ethics, Privacy and Digital Rights
Prereq: IA5010 or taken concurrently or permission of instructor. MS: Info Sec
Understand the legal and ethical issues associated with information security including access, use and dissemination. Emphasis on legal infrastructure relating to information assurance such as the Digital Millenium Copyright Act and Telecommunications Decency Act, and emerging technologies for management of digital rights. Examine the role of information security in various domains such as healthcare, scientific research, personal communications such as email. Examine criminal activities such as computer fraud and abuse, desktop forgery, embezzlement, child-pornography, computer trespass, and computer piracy.
IA7900 Capstone Project:
The team project is intended to draw together candidates from diverse backgrounds (technical, legal and/or law enforcement) in a collaborative activity to address one or more security issues from an integrated perspective. The project is generally industrially oriented with a project proposal submitted and accepted prior to the semester in which the project is to be undertaken.
Course Descriptions
HINF5101 Introduction to Health Informatics and Health Information Systems
Introduces the history and current status of information systems in health care: information architectures, administrative and clinical applications, evidence-based medicine, information retrieval, decision support systems, security and confidentiality, bioinformatics, information system cycles, the electronic health record, key health information systems and standards, and medical devices.
HINF5105 The American Health Care System
Reviews the organization, financing and performance of the American heathcare system through readings and case studies. The course will explore how the economic and political structure of healthcare systems help determine quality and efficiency outcomes. The course will cover the role healthcare technology plays in our current system and the factors that determine the rate of technology adoption.
HINF6210 Organizational Behavior, Workflow Design and Change Management
Reviews the concepts, issues and practices of organizational behavior at the individual, group and organizational levels. Students will learn to gather information from users, and understand the users’ point of view and problems. This course will examine processes and work flow in healthcare environments, understand organizational structures, and analyze business processes and how they are translated into specifications to build a RFP for vendors. Fundamentals of organizational behavior and change management will also be examined.
HINF6225 Health Information Systems Lab
Provides an in-depth view of commercial and proprietary information systems in healthcare. Students with heterogeneous backgrounds will be grouped. Each group will have to prepare an RFP to procure a key healthcare IT system (CPOE, EMR, EDIS, Radiology, PACs). Each group will create scenarios that systems’ vendors from industry will present in to the class. Students will then compare the systems and make a choice based on the demonstrations.
HINF5102 Data Management in Healthcare
Explores issues of data representation in healthcare systems, including patient and provider identification, audit trails, authentication, and reconciliation. Discusses underlying design of repositories for Electronic Health Records (EHR) and Computerized Provider Order Entry (CPOE) systems. Includes an overview of privacy issues, legislation, regulations and accreditation standards unique to healthcare.
HINF6220 Database Design, Access, Modeling & Security
Explores database design, data modeling, and implementation from the manager’s and the developer’s perspective. Design theories will focus on relational database and object-oriented models. Students will create and query relational databases using SQL and Oracle, and build web interfaces for access by healthcare professionals. Performance topics include integrity, security, recovery, and optimization.
HINF7701 Health Informatics Capstone Project
Interdisciplinary student teams (IT person, healthcare person) work together on a limited scope project defined by a potential employer in the healthcare industry. Course requirements include working with both healthcare professionals, IT professionals and the instructor to define and conduct the project. Involves frequent interaction with other students and the instructor via electronic conferencing. Students will write an in-depth research paper that summarizes and reflects upon their work.
HINF7370 Health Informatics Precepted Internship
Provides students with a real-world practical experience in applied healthcare informatics. With faculty oversight and guidance, students are matched with a preceptor working in a healthcare system (hospital, physician practice group, pharmaceutical/biotech company, software company, clinical research organization), work 8-10 hours per week for one semester.
HINF6230 Strategic Topics in Programming for Healthcare Professionals
This course is designed to provide an introduction to the theory and application of object-oriented programming. Toward this end, this course will provide instruction on the process of programming as well as the fundamental principles and components of object-oriented programming. Topics related to the process of programming include establishing an environment, naming conventions, and trouble-shooting. Coverage of principles of programming will include variables, operators, and flow control. Object-oriented principles of inheritance, encapsulation, and polymorphism will be implemented using Java. The course is designed to be hands on and its exercises incremental, culminating in a final project designed to reinforce the lessons learned.
HINF6202 Business of Healthcare Informatics
Focuses on the business practices relating to health information technology. This includes departmental design and management, capital and operating budgets, the budget planning process, and infrastructure design and strategic planning. Other topics include evaluation of vendors, vendor selection, clinical administration systems, and the design and management of integrated delivery networks.
HINF6205 Creation and Application of Medical Knowledge
Explore the relationship between knowledge and data. Topics include: how knowledge is created and used to improve clinical care, experimental research studies, storing, indexing and retrieving medical knowledge, and use of clinical decision support in different forms.
HINF6345 Design for Usability in Healthcare
This course expands the analysis and design repertoire of the students by providing up-to-date methods that are evolving to deal with the complexity of design in the IT world, focusing on the human-computer interface in healthcare. Design methodologies covered in this course will focus on design approaches such as user-centered-design, participatory design, contextual design and ethnography. Students will understand the role, function and use of various design approaches and when to use each approach.
HINF6330 Emerging Technologies in Healthcare
Examines trends and drivers of innovation in general and in healthcare, and how emerging technologies are adapted and evaluated. This course will introduce students to emerging technologies such as electronic health records, computerized provider order entry systems, regional health information organizations, personal health records, telemedicine, new imaging systems, robotic surgery, pharmacogenomics, and national level bio-surveillance.
HINF6355 Key Standards in Health Informatics
Covers terminology and standards in healthcare including: SNOMED, NMDS, UMLS, UNL, ICD, HL-7, CDA, CCR.
HINF6325 Legal & Social Issues in Health Informatics
Introduction to the ethical, legal and social issues arising in the use of computerized technology and information systems in the delivery of health care. Case studies will be used to: discuss the role of law in the design and implementation of health informatics systems; the U.S. healthcare regulatory environment; and the structure, concepts, and process of decision making on health matters in legislative, administrative and judicial bodies. Ethical issues in healthcare informatics.
HINF6335 Management Issues in Healthcare IT
Uses case studies to identify typical CIO issues in a healthcare organizations including: human resource management, strategic planning, project management, vendor contract negotiations, budgeting, service levels, etc.
HINF6350 Public Health Surveillance and Informatics
Students will learn the how public health information is generated, collected, transferred and shared. The principles and practice of public health surveillance, the analysis and interpretation of data and applying informatics standards and methods in the development and design of surveillance systems will also be discussed.
HINF6340 Introduction to Genomics and Bioinformatics
Introduction to the study of genes and their function, and to the principles, concepts, methods and tools used to process data from biological experiments, focusing particularly on biological sequence data. Includes topics such as: DNA and protein sequence alignment and analysis, sequence analysis software, and database searching.
HINF6215 Project Management
Introduce students to managing healthcare informatics projects including the tools and techniques used to manage small, medium, and large software and systems projects. Topics include project planning, project management tools, estimating, budgeting, human resource management, etc. All phases of a project are discussed and students are required to plan a project.
Prerequisite Courses
Introduction to Computing I
This introductory course focuses on the components (e.g. hardware, software, networks) of computer and information systems as well as concepts and principles pertaining to information and knowledge development, management, dissemination and application using computers. Fundamental concepts of programming languages, data representation, and algorithms will be reviewed. An overview of contemporary information technologies such as relational databases, web-based front-end data delivery, report generation, decision support systems, imaging systems, and biomedical monitoring devices will also be provided. The course will include illustrations and demonstrations of how computers and information systems are used in health care.
HINF0200 Health & Illness for Non-Clinicians
This course examines the social organization of healthcare in the United States, including discussion of the settings in which health care is provided, and the role of public and private organizations in funding and regulating health care. The course also provides an overview of how the biological aspects of the body integrate with the psychological and social aspects of the mind to influence both health behavior and health care delivery. Students will gain an understanding of how individuals, healthy and ill, access the health care system and move within the system to secure the appropriate level of care. Basic health care terminology will be introduced.