Course information contained within the Bulletin is accurate at the time of publication in August 2023 but is subject to change. For the most up-to-date course information, please refer to the Course Catalog.

CIS 5001. Comp-Based Appl Prog. 3 Credit Hours.

The course emphasizes component-based application programming using the Microsoft Visual Studio Integrated Development Environment (IDE). Students will learn (and practice using) the VB .NET programming language, object-oriented software design techniques, and the principles of good user interface design. Topics include building quality software, including user interfaces to databases (using ADO.NET), sequential files, and graphics tools. Object-oriented concepts such as inheritance, polymorphism, static and dynamic binding, and interface (abstract class) components will be covered. The use of ASP.NET for client-server systems development is also elaborated. Note: Graduate credit will not apply for CIS MS/PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5002. Database Design & Programming. 3 Credit Hours.

This course provides an in-depth understanding of the modeling, design and implementation of database systems. Students develop an appreciation of the role of data, files and databases in information systems, gain an understanding of database development activities as part of the System Development Life Cycle (SDLC), and become familiar with data modeling concepts. Students are expected to be able to create databases and pose complex SQL queries of relational databases using Oracle and Microsoft Access. Topics include the relational model, E-R and Class Diagrams, normalization, advanced SQL, Oracle Enterprise system transaction processing, concurrency control, and recovery. Also covered are aspects of database administration, data integrity, security and authorization, stored procedures and triggers, the embedding of SQL in procedural languages and scripting languages, multi-tiered architectures, middleware, ODBC web-based databases, and web application integration. Students work in teams to implement large scale information system using a DBMS. CASE tools are used for data modeling. Note: Graduate credit will not apply for CIS MS/PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5003. Networking & Operating Systems. 3 Credit Hours.

This course covers the essentials of operating systems and computer networks. Topics include: the processor, data and program representation, computer memory systems, software system support for I/O including support for networking, and a thorough introduction to the TCP/IP protocol suite. Note: Graduate credit will not apply for CIS MS/PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5011. Programming and Data Structure. 3 Credit Hours.

Preparatory course for CIS graduate students who have an insufficient background in data structures, and need a stronger foundation before taking the required core course, Programming Techniques 5511 (formerly 8511). Note: Graduate credit will not apply for CIS MS/PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5012. System Software and Operating Systems. 3 Credit Hours.

Preparatory course for CIS graduate students who have an insufficient background in operating systems, and need a stronger foundation before taking the required core course, Operating Systems 5512. Note: Graduate credit will not apply for CIS MS/PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5013. Discrete Structure of Computer Science. 3 Credit Hours.

Preparatory course for CIS graduate students who have an insufficient background in discrete structures, and need a stronger foundation before taking the required core course, Automata & Formal Languages 5513. Note: Graduate credit will not apply for CIS MS/PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5015. Scripting for Sciences and Business. 3 Credit Hours.

Focus on three scripting languages and multiple operating environments for scientific computing and for business, practical scientific computing projects, and integration of numerical computation with experimental results.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5016. Data Structures and Objects. 3 Credit Hours.

Data structures are the fundamental building blocks for organizing data. This course teaches how to build data structures and what can be done with them, as well as fundamental object oriented concepts. Topics include object oriented programming, lists, stacks, queues, trees, heaps, hash tables, graphs, sorting, and recursion. Note: Students may not receive credit for both CIS 2168 and CIS 5016. Graduate credit will not apply for CS/CDS MS and CIS PHD programs without approval from CIS department.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5017. Operating Systems and Architecture. 3 Credit Hours.

This course provides an introduction to computer architecture and operating systems concepts to students without a background in computer systems. The objectives are to introduce the basic concepts for understanding and evaluating operating systems and the most important computer architecture issues impacting operating system design, implementation and selection. Note: Students may not receive credit for both CIS 2229 and CIS 5017. Graduate credit will not apply for CS/CDS MS and CIS PHD programs without approval from CIS department.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5105. IT Process Management. 3 Credit Hours.

An introduction to essential techniques for successfully creating, organizing and managing IT projects. The course provides the foundation for more advanced studies in process management and software engineering. Enterprise-wide requirements, long-range planning and managing all aspects of the development process will be emphasized. The course will stress the use of appropriate software tools and process modeling throughout the development lifecycle. Quality assurance techniques are introduced at the outset to guide IT processes and decision making. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5106. System Development Processes. 3 Credit Hours.

Methods and tools for the technical development of IT systems are presented and used in case projects. The course follows the normal development lifecycle, starting with the recognition and justification of the need for either a new system or an upgrade to an existing system. It then proceeds through analysis, specification, design, implementation, testing (quality assurance), client training and turnover, and maintenance. The importance of each development stage will be taught within the framework of systems reliability, effectiveness, security, scalability, and development cost. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5107. Computer Systems Security and Privacy. 3 Credit Hours.

Computer systems security and information privacy has become a critical area of computer science development and research. This course involves an analysis of the technical difficulties of producing secure computer information systems that provide guaranteed controlled sharing and privacy. Emphasis is on software modeling and design to better ensure the protection of resources (including data and programs) from accidental or malicious modification, destruction, or disclosure. Current systems and methods will be examined and critiqued. The possible certification of such systems will also be investigated. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5108. Emerging Technologies. 3 Credit Hours.

The purpose of this course is to provide students with an understanding of maturing and emerging technologies and their likely impact on the networked information paradigm and enterprise management. Both hardware and software technologies will be covered. Students will be introduced to advanced software tools that demonstrate how agency enterprises make use of vast information flows and interconnectivity. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5208. Knowledge Management. 3 Credit Hours.

Principles of knowledge management (KM) and their use in locating, evaluating, disseminating, and using information and knowledge. Application of these principles and techniques. Knowledge management incorporates data acquisition, information integrity, and management of knowledge and is crucial to everyone working in any field where information is stored, processed, and used. It places a premium on an IT-intensive organization to invest, cultivate, and fully utilize the intellect and knowledge of all staff. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5210. Seminar in Information Science and Technology. 3 Credit Hours.

An intermediate level graduate special topics course in current and emerging developments in information systems and technology. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs. This course is repeatable for credit.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 5221. Introduction to Mobile Application Development. 3 Credit Hours.

This course will introduce students to concepts in application development for mobile devices. Students will learn how to address challenges in hardware and user interfaces by incorporating software design and user-interaction design principles. Additionally, students will learn about mobile-centric concerns such as software and data distribution models, leveraging third party software, and managing data locally and remotely. Students should have prior experience in building applications that involve Object Oriented Development principles, such as inheritance, interfaces, encapsulation, and polymorphism. Additionally it would be good to have had a major role in working on a non-trivial software development project, such as a transactional system with CRUD (create, read, update, delete) operations, or a systems level program.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5274. Software Quality Assurance and Testing. 3 Credit Hours.

Software quality assurance consists of a means of monitoring the software engineering processes and methods used to ensure quality. The overarching goal of this class is to develop practical skills to help achieve software quality. The main objectives of this class are to understand the quality assurance process and to learn how to use testing techniques to achieve software quality. Students will learn 1) fundamental concepts in software testing, including software testing objectives, process, criteria, strategies, and methods; 2) various software testing techniques, including automated testing techniques, to support various levels of software testing: unit, integration, regression, and systems testing; 3) techniques and skills on how to use modern software testing tools to support software testing projects; 4) how to plan a test project, design test cases and data, conduct testing operations, manage software problems and defects, and generate a testing report; and 5) basic techniques in usability, performance, and security testing. Note: Students may not receive credit for both CIS 3374 and CIS 5274. Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5275. Software Project Management. 3 Credit Hours.

Project management knowledge and skills are critical to the success of every Information Technology (IT) project. This course will use IT project case studies to examine basic components of time, scope and resources within the project management processes defined by the Project Management Institute. At the completion of this course, students will be able to create project plans for software development projects as well as for IT infrastructure projects. They will know how to manage a team, how to write effective status reports, and make compelling presentations to management. This course exposes students to practical examples and tools that are used in typical IT projects in industry today. Note: Students may not receive credit for both CIS 3775 and CIS 5275. Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5301. Advanced Database Management Systems. 3 Credit Hours.

This course provides an in-depth understanding of the modeling, design and implementation of database systems. Topics include the relational model, E-R Diagramming and Class Diagrams, normalization, advanced SQL, Oracle Enterprise system transaction processing, concurrency control, and recovery. Also covered are aspects of database administration, security and authorization, stored procedures and triggers, the embedding of SQL in procedural languages and scripting languages, multi-tiered architectures, middleware, ODBC web-based databases, and web application integration. Students work in teams to implement large scale information system using a DBMS. CASE tools are used for data modeling. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5303. Usability Engineering. 3 Credit Hours.

This course focuses on the principles of usability engineering to design effective interfaces. In parallel with functional specification development, usability engineering identifies the usability specifications of the system, which includes information and interface design. In some modern day information systems, usability can be paramount and require as much or more effort and programming as functional requirements, i.e., information systems may provide relevant functionality, but if the system is not easy to learn and use, it may fail. Using theories and principles from software engineering and psychology, students learn to analyze usability requirements to improve user interface development. Note: Students may not receive credit for both CIS 3603 and CIS 5303. Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5304. Network Technologies. 3 Credit Hours.

Focuses on the design, construction and use of modern networks and inter-networks, including Internet, intranet, firewalls, VPN, e-mail, and wireless technologies. Prepares students to successfully create and operate modern secure networks. Key concepts and technologies include LAN design and construction, Internet architecture, internetworking (with an emphasis on the Internet), WAN connectivity, firewalls, Application Layer protocols, virtual private networks, wireless and network operation in real-world environments. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5306. Software Engineering. 3 Credit Hours.

A project-based course focusing on current methodologies employed in software design and development. The core material covers the key components of software engineering, including requirements analysis, specification development, detailed design, program development, quality control (verification and validation), configuration management, testing, and post-development maintenance. Emerging software development techniques - security engineering, service-oriented architecture (SOA), and aspect-oriented development are also introduced. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5405. Introduction to Digital Forensics. 3 Credit Hours.

This course is a broad introduction to the field of Digital Forensics. It covers various fundamental topics necessary for digital forensics investigation. The course begins with foundations of electronic evidence including cyber-crime laws, the 4th amendment, compliance and requirements, collection and handling, analysis, and reporting. The course also covers fundamentals of file systems with specific details pertaining to Microsoft FAT file systems. Students will learn two important forensics techniques - file recovery and file carving - among other things. Finally, forensics artifacts relevant to Windows Systems and Networks are discussed with relevant lab activities and students are also introduced to Antiforensics. Hands-on lab activities familiarize students with several relevant investigation techniques and the use of open source forensics tools. Students who have completed an equivalent course at Temple or another institution will take an elective as recommended by the program advisor.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in CIS 5017.

CIS 5410. Advanced Seminar in Information Science and Technology. 3 Credit Hours.

An advanced level graduate special topics course in current and emerging developments in the field of information systems and technology. Note: Graduate credit will not apply for CS/CDS MS and CIS PHD programs. This course is repeatable for credit.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 5413. Introduction to Privacy and Security for Internet-of-Things. 3 Credit Hours.

The Internet-of-Things (IoT) is an emerging field that embeds computing and communication capabilities into everyday objects to make them "smarter." From smart cities to smart power grids, from autonomous vehicles to AI-powered decision systems, this new Internet-of Things (IoT) world brings with it many new security and privacy challenges. The objective of this course is to introduce students to the new cyber-security and privacy issues in these emerging systems, as well as the latest research on defending against these threats. Some of the topics that will be covered include security of wireless protocols such as Bluetooth, Zigbee, etc.; security and privacy issues in various application domains such as smart homes, public safety, healthcare, and wearable systems; and the security of backend cloud computing used in IoT systems. Graduate credit will not apply for CS/CDS MS and CIS PHD programs. Note: Students must meet the course prerequisites or have the consent of the PSM director to enroll in this course.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of B- in CIS 5405.

CIS 5415. Ethical Hacking and Intrusion Forensics. 3 Credit Hours.

This class will introduce students to the field of hacking with the primary focus being the difference between White-hat Hacking (a.k.a Ethical Hacking) and Black-hat Hacking. The course will enable students to understand how to use hacking techniques to perform a hack within legal confines. The course will focus on both technical and social aspects of security, ranging from cryptography and biometrics to risk mitigation and disaster recovery aspects of organizational security. Of specific focus will be the following broad concepts - Reconnaissance, Scanning, numeration, and Sniffing and Evasion. Based on the ethical concepts built during the first half of the semester, students will learn the process involved with forensics investigations of intrusion attack.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in CIS 5017 and CIS 5107.

CIS 5418. Blockchain Application Development. 3 Credit Hours.

Blockchain technology is a fast-growing sector in the tech industry. There is a shortage of blockchain developers. Learning blockchain technology will expand students' choices in starting their IT career and increase their employability. This course covers both the technical knowledge and hands-on skill relevant to this technology but emphasizes more on hands-on skill. It includes technical fundamentals, such as cryptography, blockchain, distributed consensus, peer-to-peer network, smart contract, and decentralized application. Students are introduced to some advanced topics, such as scalability, security, privacy, and interoperability. Blockchain applications in different sectors are presented. In addition, the course covers hands-on coding using Solidity programming language and decentralized application development IDE tools. The course focuses on public blockchains and uses the two largest blockchains by market cap, Bitcoin and Ethereum, as examples of such blockchains.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in (CIS 5015 or CIS 5016)

CIS 5425. Audit and Compliance for Security and Digital Forensics. 3 Credit Hours.

Information Systems' audit and assurance professionals are faced with different requirements and different types of audit and assurance. This course will provide students with a basic understanding of enterprise IT security and the need for audit and compliance. Students will learn about IT Security Terminology, Governance, and the Security audit practice that has matured into given sets of frameworks, methodologies, approaches, and models with certain sets of underlying assumptions such as COBIT, SOX, DoD, FIPS 100/200, FISMA, NIST, HSPD, OMB. Students will be exposed to various governance standards and federal compliance requirements - ISO27000, SAS, GAAP. Students will also learn some fundamentals such as differences between policy, process and procedure and the purpose of policy, process and procedure. Students who have completed an equivalent course at Temple or another institution will take an elective as recommended by the program advisor.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5511. Programming Techniques. 3 Credit Hours.

Prerequisites: CIS 2168 and CIS 3223.

A more formalized view of data structures. Stacks, trees, tables, lists, multilinked structures, strings and files are considered. These are viewed in terms of their general usefulness in the construction of algorithms and in their efficient implementation. Both theoretical results and programming techniques will be stressed.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5512. Operating Systems. 3 Credit Hours.

Prerequisites: CIS 3207 and CIS 3223.

Basic principles of operating systems; multi-tasking systems; control and coordination of tasks; deadlocks; synchronization, mutual exclusion, sharing; memory management, virtual memories, segmentation, paging; protection; file systems; resource management; evaluation and prediction of performance; design and implementation of operating systems in high-level languages.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5513. Automata and Formal Languages. 3 Credit Hours.

Prerequisites: CIS 2166 and CIS 3242.

Types of grammars. Finite automata and regular languages. Kleene's Theorem. Closure properties and decidable problems of regular languages. Derivation trees. Normal forms of context-free grammar. The self-embedding properties, closure properties and decidable problems of context-free languages. Methods of syntax analysis for context-free languages. Context-sensitive languages and linear bounded automata. Turing machines.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5515. Design and Analysis of Algorithms. 3 Credit Hours.

The course objective is to provide students with an understanding of the principles and techniques used in the design and analysis of efficient algorithms. The main topics cover Greedy Algorithms, Divide and Conquer, Dynamic Programming, Network Flow, and Approximation Algorithms. Theoretical results related to NP-completeness will also be discussed.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in CIS 5511.

CIS 5516. Principles of Data Management. 3 Credit Hours.

Prerequisites: CIS 5511 (or 8511).

This course covers fundamental concepts in constructing database management systems, including relational query languages, such as SQL and relational algebra, file organizations, storage management, system architectures, query processing, query optimization, transaction management, recovery, and concurrency control. Additional topics may include distributed databases, NoSQL databases and data integration.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5517. Data-Intensive and Cloud Computing. 3 Credit Hours.

Prerequisites: CIS 2168 and (CIS 2166 or MATH 2101 or ENGR 2011 or MATH 3045).

This course will expose students to recently emerged and fast moving technology of big data and cloud computing. It will cover a spectrum of topics from core techniques in data management and analysis to highly-scalable data processing using parallel database systems. Students will be introduced to big data ecosystems such as Hadoop, Spark, Storm and MapReduce; cloud technologies such as Amazon EC2, Microsoft Azure and Google Cloud; data management tailored to cloud and big data such as No SQL, Google Big Table/Apache HBase, and introductory applications to Big Data and cloud environment. Students will work directly with a selected set of these platforms, compare and contrast their relative strengths and weaknesses, and characterize the problems they are designed to solve. Note: Students may not receive credit for both CIS 5517 and CIS 4517.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5523. Knowledge Discovery and Data Mining. 3 Credit Hours.

Prerequisites: MATH 2043 and (CIS 2166 or MATH 2101 or ENGR 2011) and (MATH 3031 or ECE 3522 or STAT 2103 or BIOL 3312) and (CIS 1051 or CIS 1057 or CIS 1068).

Basic concepts and techniques for the automated extraction of interesting patterns in large databases. Topics covered include: association-rule mining, sequence mining, web and text mining, data warehousing, information filtering, classification and clustering analysis, Bayesian and neural networks, classification and regression trees, hypotheses evaluation, feature extraction, dimensionality reduction, singular value decomposition, data compression and reconstruction, visualization of large data sets, fractals in databases, and indexing methods that support efficient data mining and queries by content. Special emphasis is given in multimedia, business, scientific, and medical databases. Note: Students may not receive credit for both CIS 5523 and CIS 4523.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5524. Analysis and Modeling of Social and Information Networks. 3 Credit Hours.

Prerequisites: MATH 2043 and (CIS 2166 or MATH 2101 or ENGR 2011) and (MATH 3031 or ECE 3522 or STAT 2103 or BIOL 3312) and (CIS 1051 or CIS 1057 or CIS 1068).

This course will include methods for analyzing and modeling the following aspects of social networks: the small-world network models, centralized and decentralized social network search algorithms, power-laws and preferential attachment, diffusion and information propagation in social networks, influence maximization in social networks, community detection in social networks, models of network cascades, models of evolving social networks, links and attributes prediction. Note: Students may not receive credit for both CIS 5524 and CIS 4524.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5525. Neural Computation. 3 Credit Hours.

Prerequisites: STAT 8003/8103 and undergraduate-level understanding of probability, statistics, and linear algebra.

Neural networks provide powerful techniques to model and control nonlinear and complex systems. The course is designed to provide an introduction to this interdisciplinary topic. The course is structured such that students from computer science, engineering, physics, mathematics, statistics, cognitive sciences, and other disciplines learn the main principles of this area as well as have an opportunity to explore promising research topics through hands-on experience with neural network simulators applied to classification and prediction problems ranging from biomedical sciences to finance and business.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5526. Machine Learning. 3 Credit Hours.

Prerequisites: MATH 2043 and (CIS 2166 or MATH 2101 or ENGR 2011) and (MATH 3031 or ECE 3522 or STAT 2103 or BIOL 3312) and (CIS 1051 or CIS 1057 or CIS 1068).

The goal of the field of machine learning is to build computer systems that learn from experience and are able to adapt to their environments. This introductory machine learning course will present modern machine learning algorithms for supervised and unsupervised learning. It will provide the basic intuition behind the algorithms as well as a more formal understanding of how and why they work. Students will learn how to apply machine learning algorithms on a range of real-life problems and how to evaluate their performance.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5527. Data Warehousing, Filtering and Mining. 3 Credit Hours.

Prerequisites: CIS 5511 (or CIS 8511) and an undergraduate course in databases.

The course is devoted to information system environments enabling efficient indexing and advanced analyses of current and historical data for strategic use in decision making. Data management will be discussed in the content of data warehouses/data marts; Internet databases; Geographic Information Systems, mobile databases, temporal and sequence databases. Constructs aimed at an efficient online analytic processing (OLAP) and those developed for nontrivial exploratory analysis of current and historical data will be discussed in detail. The theory will be complemented by hands-on applied studies of problems in such fields as financial engineering, e-commerce, geosciences, and bioinformatics.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5528. Predictive Modeling in Biomedicine. 3 Credit Hours.

Biomedical data science has emerged as analytics frontiers in reaping the benefits of statistical and machine learning toward advanced modeling of massive biological and medical data. This course introduces classical and state-of-the-art methodology development in machine learning applied to bioinformatics and biomedical data science. Topics include classical and emerging algorithms in predictive modeling that are particularly useful in biomedical data analytics. By the end of the class, students will have gained the knowledge of diverse statistical and machine learning methods and evaluate relevant scientific publications, as well as the capability of developing open-source programs to analyze and interpret biological and biomedical data.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5535. Probabilistic Graph Models. 3 Credit Hours.

Prerequisites: CIS 2033 and CIS 3223.

Probabilistic graphical models are very important machine learning tools for knowledge representation and reasoning under uncertainty. They have been widely used in machine learning and related fields, such as computer vision, natural language processing, data mining, bioinformatics and even computer network research. This course aims to make a comprehensive introduction over the most important theories, algorithms, and applications of probabilistic graphical models, and facilitate the advanced research within the computer & information sciences department and related disciplines outside.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5538. Text Mining and Language Processing. 3 Credit Hours.

Prerequisites: CIS 2033.

This course will cover a broad overview of problems and techniques in text mining and natural language processing. It will also provide in-depth coverage of the latest natural language processing research in selected topics. The in-depth part of the course will focus on the latest research in unsupervised information extraction. This part of the course will cover such techniques as pointwise mutual information, pattern-matching, bootstrapping, Hidden Markov Models, Conditional Random Fields, and language modeling techniques, among others.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5543. Computer Vision. 3 Credit Hours.

Prerequisites: CIS 2033 and CIS 3219 and CIS 3223.

The objective of the course is to introduce the theory and application of computer vision. The theoretic part introduces the analysis of visual patterns and the generative models behind them. The application part uses real world tasks to help students to learn practical computer vision technologies. The course covers the following topics: image formation (camera model, color space, illumination model, etc.), low level vision processing (edge detection, intensity based segmentation, etc.), popular research tools in computer vision, visual matching and registration, visual recognition, image and category classification, scene understanding, object detection, visual tracking, activity and action analysis, and selected advanced topics. In addition to course lectures, the course uses homework assignments, in-class discussions and course projects.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5590. Topics in Computer Science. 3 Credit Hours.

Prerequisites: Special authorization required.

Current topics and issues in Computer Sciences are covered. This course is repeatable for credit.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 5603. Artificial Intelligence. 3 Credit Hours.

Artificial intelligence encompasses the algorithms and representations used to design computers and agents for problem-solving and learning. This course covers the classic and modern methods that support technology such as game-playing agents, autonomous vehicles, and virtual assistants. The topics covered include: search, reasoning, knowledge representation, and learning. The course is intended to prepare graduate students for further study in machine learning, data mining, robotics, and computer vision.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5617. Computer Networking and Communication. 3 Credit Hours.

Prerequisites: CIS 5511 (or 8511) and CIS 5512 (or 8512).

Introduction to the design and analysis of computer networks and communications systems, including the Physical, Data Link, Network, Transport and Application layers. The Internet (TCP/IP) model will be emphasized and compared and contrasted with other current technologies. Major themes include the distinction between service and protocol, performance metrics, analysis techniques, and fundamental performance tradeoffs.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5618. Energy Management in Data Centers and Beyond. 3 Credit Hours.

Students are expected to have a background in data structures and algorithms as well as computer architecture and operating systems. Comprehensive coverage of energy management in data centers: essential concepts in data center architecture, including the computing core, data center network, and storage systems; energy management in computing elements, caches, "in-the-box" interconnects, primary memory, storage systems, and data center network; data center level issues including power, thermal, and cooling management at data center level and interaction of data centers with smart grid. Other issues covered include design of energy efficient software, virtualization and energy management of VMs, energy issues in cloud computing, and modeling of energy-performance interplay.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Course Attributes: SI

Repeatability: This course may not be repeated for additional credits.

CIS 5635. Security in Cyber-Physical Systems. 3 Credit Hours.

Prerequisites: CIS 3207 and CIS 3223.

Cyber-Physical Systems (CPS) augment physical systems with monitoring, communication and control capabilities to enhance their efficiency, flexibility, safety, and resilience. The course will start with an overview of these opportunities and challenges and then gradually explore a few physical systems including their monitoring, communications, control, safety, and security requirements, as well as potential attack vectors and solutions.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5636. Ad Hoc Networks. 3 Credit Hours.

Prerequisites: CIS 3223, and CIS 4319 or 4329.

A comprehensive approach to fundamentals of ad hoc networks including media access protocols, routing protocols, implementation and communication performance analysis.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5637. Network & Information Security. 3 Credit Hours.

Prerequisites: CIS 3329 or CIS 4319 or CIS 5003.

This course introduces fundamental knowledge of cryptography and its applications to network and information security.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5639. Wireless Network and Communication. 3 Credit Hours.

Prerequisites: CIS 3207 and CIS 3223.

This course introduces the fundamental design and performance issues of wireless networks and communications.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5642. Computer Architecture. 3 Credit Hours.

Prerequisites: CIS 2168 and CIS 3207.

Since 1951, there have been thousands of new computers using a wide range of technologies and having widely varying capabilities. Dramatic changes that have occurred in just over 50 years. After adjusting for inflation, price/performance has improved by almost 100 billion in 55 years, or about 58% per year. Another way to say it is we've seen a factor of 10,000 improvement in cost and a factor of 10,000,000 improvement in performance. This course covers the recent developments in modern computer architectures and the emerging design methods for high performance computing.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5643. Emerging Storage Systems and Technologies. 3 Credit Hours.

Prerequisite: CIS 3207.

Storage systems are of increasing importance because of ever-growing volume, velocity, and heterogeneity of data produced by a wide variety of computer systems. This course will provide a comprehensive coverage of storage and file systems that underlie bigdata systems with respect to both technological and application related challenges.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5644. Distributed Systems. 3 Credit Hours.

Prerequisites: CIS 2166 and CIS 2168 and CIS 5512 (or 8512).

We consider a distributed computer system that consists of multiple autonomous processors that do not share primary memory but cooperate by sending messages over a communication network. Discussion of special problems related to distributed control such as election and mutual exclusion, routing, data management Byzantine agreement, and deadlock handling.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 5701. Introduction to Teaching Computer Science Principles. 3 Credit Hours.

This course provides students with a foundation in the concepts and computational thinking practices central to the discipline of computer science. The content in this course is organized around ideas that are foundational to the study of computer science: creativity, abstraction, data and information, algorithms, programming, and the global impact of computing. By the end of the course, students will be able to apply creative processes and computational thinking skills to develop a computer program in order to solve a problem. In addition, students will engage in pedagogical content related to equitable and inclusive teaching of computer science principles in secondary education. This course assumes no prior knowledge of computing. It is designed to support K12 teachers who are new to the computer science discipline and want to integrate computational thinking and computer science principles into their classroom teaching activities. This course cannot be taken for credit towards any other graduate programs offered by CIS.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in MATH 1021.

CIS 5702. Teaching Advanced Computer Science Principles. 3 Credit Hours.

Creating computer programs that solve problems is facilitated by the use of abstractions. Building on the computational thinking concepts and practices learned in the previous course, this course will extend students' knowledge of computational thinking, problem solving, and programming abstractions. Students will extend their knowledge and practice the use of simple algorithms as part of a computer program. In addition, students will extend their knowledge of basic types used to represent data in programming languages, including primitive data types, strings, classes, arrays, and streams. Students will also be introduced to more advanced programming language concepts (e.g., parameter passing techniques) and basic object-oriented programming abstractions (e.g., classes, objects, inheritance, and polymorphism). Searching and sorting algorithms will be covered, with a focus on exposing students to different algorithm design strategies (iterative vs. recursive). Finally, students will apply pedagogical principles related to equitable and inclusive teaching of computer science principles in secondary education to begin developing a portfolio of teaching materials that they can use in their own classrooms. This course cannot be taken for credit towards any other graduate programs offered by CIS.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in CIS 5701.

CIS 5703. Teaching Networked Computing Systems. 3 Credit Hours.

This course provides an introduction to computer networks with a strong focus on the Internet. Topics introduced include the layered network architecture, types of connectivity, addressing, packet switching, routing, reliable data transmission, and network security. The course will include discussions regarding Internet security, privacy, modern networked applications, and social implications and ethics. It will also build on knowledge of algorithms and data structures, introducing queues, graphs, trees, and related algorithms used in the function of network protocols and the Internet. In addition, students will engage in pedagogical content related to equitable and inclusive teaching of networked computer systems concepts in secondary education.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in CIS 5702.

CIS 5704. Teaching the Use of Data, Algorithms, and Creativity for Problem Solving. 3 Credit Hours.

In this course, students will advance their understanding of computer science principles through the development of a creative computational artifact that can be demonstrated and used for teaching purposes in secondary education classrooms. Through this experience, students will develop knowledge about how to represent and store data as well as how to appropriately select and apply algorithms to solve problems. Students will also explore user interaction and user experience design choices and their impact on populations of users. An essential learning objective is to understand the impact of the choice of data type and algorithm on the quality attributes of programs. Searching and sorting algorithms will be covered, with a focus on exposing students to different algorithm design strategies (iterative vs. recursive). In addition, students will develop, compile, present, and evaluate portfolios of pedagogical content related to equitable and inclusive teaching of computer science in secondary education, with a focus on strategies to increase student engagement and broaden participation of underrepresented groups in computing. This course cannot be taken for credit towards any other graduate programs offered by CIS.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

Pre-requisites: Minimum grade of C in CIS 5702.

CIS 9182. Independent Study. 1 to 6 Credit Hour.

Independent research supervised by a Computer and Information Sciences faculty member. NOTE: Only six credits of independent study can be counted towards any MS degree.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9190. Seminars in Computer and Information Science. 1 Credit Hour.

Throughout the semester, various guest lecturers will discuss their area of research. Students are required to attend at least five lectures and submit five short papers on the topics presented. This course counts in the same category as independent study when it comes to program requirements (MS and/or PhD degree). This course is recommended for PhD students who have passed the qualifying exam, to broaden their research interests. This course is recommended for MS students who are interested in CIS research and want to take 10 credits per semester.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.
College Restrictions: Must be enrolled in one of the following Colleges: Science & Technology.

Repeatability: This course may be repeated for additional credit.

CIS 9282. Independent Study. 1 to 6 Credit Hour.

Independent research supervised by a Computer and Information Sciences faculty member. NOTE: Only six credits of independent study can be counted towards any MS degree.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9590. Seminar in Advanced Topics in Computer Science. 3 Credit Hours.

Prerequisites: Permission of instructor.

Topics to be decided individually.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9601. Computer Graphics and Image Processing. 3 Credit Hours.

Prerequisites: CIS 5511 or 8511.

An analysis of techniques used in computer manipulation of two- and three-dimensional images. Although elements of computer graphics are covered (e.g., two- and three-dimensional transforms), the main focus is on image processing techniques. We will also gain insight into basic techniques in computer vision. Topics covered include image filters, image segmentation, similarity of images, object detection, object recognition, and shape representation and similarity. Nowadays it is an easy task to transfer visual input of a camera to a computer's memory. However, image and video understanding belong still to unsolved problems of computer science. The main objective of the course is to convey basic intuitions behind the unsolved and solved problems and to introduce some of the techniques that provided solutions to some of the problems.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9602. User Interface Design and Systems Integration. 3 Credit Hours.

Prerequisites: CIS 5511 or 8511.

This course focuses on the principles of usability engineering to design effective interfaces and as the basis for integrating existing systems to form new systems. The course builds on knowledge of networking, databases, and programming. The course outline is partly based on the recommendations of the ACM Special Interest Group on Computer-Human Interaction for an introductory graduate course on user interface design.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9618. Web Applications Development. 3 Credit Hours.

Prerequisites: CIS 5511 (or 8511) and CIS 5512 (or 8512).

This course takes a technology-based approach to software engineering of networked application systems design and programming. It draws on new Microsoft .NET technology, together with former object-oriented design and programming, for its theoretical, architectural, and system design foundations. The course bridges software engineering principles in their most abstract and conceptual sense, with programming technique in its most concrete and pragmatic sense. It demonstrates how to optimize productivity of the software engineer, integrate the best that open technologies have to offer, and build large-scale systems that operate most efficiently on the internet. The course is divided into three parts: 1) theory that flows from .NET and object-oriented methodologies, including Application System Architectures, Design Methodologies, Quality Assurance, Scalability, and Security; 2) development of a working skill set in two .NET languages: ASP.NET and VB.NET and its major development tool, VS.NET; and 3) design and programming of a small but complete web-deployed application.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9651. Artificial Intelligence, Heurisitic Models, and Education. 3 Credit Hours.

Prerequisites: CIS 5603 or 8603.

Introduction to how artificial intelligence and heuristic models are used to build better computer-based educational systems. Current as well as past models are explored (e.g. PROUST, GUIDON, SOAR, etc.). Key issues to be examined include student models, interfaces, pedagogical expertise, domain expertise, and collaborative learning systems.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9665. Advanced Topics in Data Base Systems. 3 Credit Hours.

Prerequisites: CIS 5516 or 9616.

Survey of recent developments in database systems with an emphasis on object-oriented databases (OODB's). Prototype and operational OODB systems will be analyzed. Applications of OODB's to computer-aided software engineering (CASE) environments, integrated application development environments, and geographical information systems.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9666. Advanced Networks and Client-Server Computing. 3 Credit Hours.

Prerequisites: CIS 5617 or 9617.

Computer networks, network technology, protocols, routing algorithms, reliability and design issues. Data transmission and transmission media, data communications fundamentals, transmission efficiency, wide-area networks, local area networks, wireless networks, TCP/IP and other protocol architectures, client/server computing, network management, and network security.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9668. Design and Development of E-Commerce Systems. 3 Credit Hours.

Prerequisites: CIS 9618.

This course teaches the technical aspects of developing a commercial website, including the business-to-consumer and business-to-business models. This process combines a number of integrated technologies: Web page and style sheet design; dynamic web pages that access data from relational and XML databases; server side transaction processing; client/server and distributed processing; principles of internet security, scalability, and database reliability; and .NET programming. Students develop a site as a course project using custom coding using .NET and Microsoft's web site development system Commerce Server 2000. Other tools to be used are Dreamweaver or FrontPage for web design, VS for .NET program development, and the Microsoft Enterprise Manager for the management of SQL Server databases.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9669. Distributed and Parallel Computer Systems. 3 Credit Hours.

Prerequisites: CIS 5617 or 9617.

Intended for students interested in the advances of scalable parallel computing systems. The main goal is to apply distributed and parallel computing theories to practical scalable parallel application development and new parallel programming tool construction.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may not be repeated for additional credits.

CIS 9991. Master's Research Projects. 1 to 6 Credit Hour.

Short-term, limited research project or laboratory project in the field. This course is not the capstone project course, nor can it be used for thesis based research. The course is for master's students only, including PSM, MA or MS. This class will not confer full-time program status unless nine credits are taken.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9994. Preliminary Examination Preparation. 1 to 6 Credit Hour.

This course is required for students who are preparing for the preliminary or candidacy examination. Students should enroll after coursework is completed or when preparing for the candidacy exam until the time that the preliminary or candidacy examination is completed. This course will confer full-time status at the minimum credit hour registration limit of one credit. All students must complete a minimum of one credit of this course. Students must complete a total of 6 credit hours of 9994, 9998 and 9999.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9995. Capstone Project. 1 to 6 Credit Hour.

Capstone project for master's students including students in PSM, MA or MS. This class will provide full-time status. Students in PSM programs need to register for at least one credit of this course to fulfill program requirements. Additional credits may be required for specific programs. This course will confer full-time status at the minimum credit hour registration limit of one credit.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9996. Master's Thesis Research. 1 to 6 Credit Hour.

Course for master's thesis research. Only intended for students in thesis bearing master's programs. A minimum of one credit is required. This course will confer full-time status at the minimum credit hour registration limit of one credit.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9998. Pre-Dissertation Research / Elevation to Candidacy. 1 to 6 Credit Hour.

This course is intended for students who are performing research prior to candidacy. Students can register for this course after required courses are completed. This course will confer full-time status at the minimum credit hour registration limit of one credit. Students must be registered for this course during the semester that they are to be elevated to candidacy examination. Students must complete a total of 6 credit hours of 9994, 9998 and 9999.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.

Repeatability: This course may be repeated for additional credit.

CIS 9999. Dissertation Research. 1 to 6 Credit Hour.

The course is for Ph.D. students who have been elevated to candidacy. During the course of their candidacy students must complete a minimum of two credits of dissertation research. This course will confer full-time status at the minimum credit hour registration limit of one credit. Students must complete a total of 6 credit hours of 9994, 9998 and 9999.

Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate.
Student Attribute Restrictions: Must be enrolled in one of the following Student Attributes: Dissertation Writing Student.

Repeatability: This course may be repeated for additional credit.