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 0822. Technological Horizons: Information Technology in the 21st Century. 3 Credit Hours.

This single semester course hopes to equip students with critical consciousness around information technologies. The course is designed with the presumption that living and working with 21st Century technologies requires not only vocational skills but also theoretical grounding. Key themes such as "Computational Thinking" or "21st Century Economics and Global Communication" embed an introduction to highly impactful technologies within a discussion of their historical, economic, and cultural contexts, highlighting the importance and impact information and communication technologies have on the students' lives today. Throughout the course, virtual coding lab will give students hands-on, practical experience with the computational thinking that underlies the many technologies addressed. By requiring all students to be exposed to a multi-faceted and rigorous understanding of computational thinking, societal and cultural issues raised by technology, critical and creative thinking, data and information analysis, along with some basic programming, Temple University can prepare them to thrive in a technological world.

Course Attributes: GS

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

CIS 0823. Math for a Digital World. 4 Credit Hours.

This course is not offered every year.

This course is about becoming an "informed user" of quantitative information. Do numbers make us more or less rational? What does "free" really mean? What's the difference between "correlation" and "cause"? How can we be misled by numbers? How can we make better decisions and have more effective discussions by understanding mathematics? Does it make sense to play the lottery? What are your chances of drawing the card you in need in a poker game? How long will it take you to save a million dollars assuming interest is earned but you keep spending? How does math play into the digital world that surrounds us, whether it is email, online tools or the creation of passwords, IDs or serial numbers? These and many other questions will be explored and answered throughout the course. NOTE: (1) This course fulfills the Quantitative Literacy (GQ) requirement for students under GenEd and a Quantitative Reasoning (QA or QB) requirement for students under Core. (2) Duplicate Course: Students cannot receive credit for CIS 0823/0923 if they have successfully completed MATH 0823/0923.

Course Attributes: GQ

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

Pre-requisites: Minimum grade of C- in (any MATH course numbered 0701 to 0702, any MATH course numbered 0800 to 0822 (may be taken concurrently), any MATH course numbered 0824 to 0922 (may be taken concurrently), any MATH course numbered 0924 to 4999 (may be taken concurrently), 'Y' in MC3, 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, STAT 1001 (may be taken concurrently), 'Y' in STT2, STAT 1102 (may be taken concurrently), STAT 1902 (may be taken concurrently), 'Y' in MC3A, 'Y' in MC6A, 'Y' in MATW, 'Y' in MC3S, 'Y' in MC3D, 'Y' in MC3O, 'Y' in MC3T, or 'Y' in MC6T)

CIS 0835. Cyberspace & Society. 3 Credit Hours.

This course is typically offered in Fall, Spring, Summer I and Summer II.

This course provides students with an understanding of the underlying foundations of technology that have an impact on their lives and integrates those principles with real-world activities. It promotes information fluency by giving students an understanding of the foundational concepts from which the technology is derived and helping them to develop higher-level intellectual capabilities for applying the technology. The class is broken into three sections - technology principles, technology's impact in society and labs. It is the combination of these three sections that will enable students to understand the foundation and the implementation of technology in their daily lives. Class lectures incorporating a myriad of digital technologies including computer hardware, readings, labs and student discussions will be utilized to integrate the application of technology and the impact facing society. NOTE: (1) Duplicate Course: No credit for students who have taken CIS 1055 (C055), 1955 (H095) or 0935. (2) This course fulfills a Science & Technology (GS) requirement for students under GenEd and Science & Technology Second Level (SB) for students under Core.

Course Attributes: GS

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

CIS 0923. Honors Math for a Digital World. 4 Credit Hours.

This course is not offered every year.

This course is about becoming an "informed user" of quantitative information. Do numbers make us more or less rational? What does "free" really mean? What's the difference between "correlation" and "cause"? How can we be misled by numbers? How can we make better decisions and have more effective discussions by understanding mathematics? Does it make sense to play the lottery? What are your chances of drawing the card you in need in a poker game? How long will it take you to save a million dollars assuming interest is earned but you keep spending? How does math play into the digital world that surrounds us, whether it is email, online tools or the creation of passwords, IDs or serial numbers? These and many other questions will be explored and answered throughout the course. NOTE: (1) This course fulfills the Quantitative Literacy (GQ) requirement for students under GenEd and a Quantitative Reasoning (QA or QB) requirement for students under Core. (2) Duplicate Course: Students cannot receive credit for CIS 0823/0923 if they have successfully completed MATH 0823/0923.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCHONORS, UHONORS, UHONORSTR.

Course Attributes: GQ, HO

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

Pre-requisites: Minimum grade of C- in (any MATH course numbered 0701 to 0702, any MATH course numbered 0800 to 0822 (may be taken concurrently), any MATH course numbered 0824 to 0922 (may be taken concurrently), any MATH course numbered 0924 to 4999 (may be taken concurrently), 'Y' in MC3, 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, STAT 1001 (may be taken concurrently), 'Y' in STT2, STAT 1102 (may be taken concurrently), STAT 1902 (may be taken concurrently), 'Y' in MC3A, 'Y' in MC6A, 'Y' in MATW, 'Y' in MC3S, 'Y' in MC3D, 'Y' in MC3O, 'Y' in MC3T, or 'Y' in MC6T)

CIS 0935. Honors Cyberspace & Society. 3 Credit Hours.

This course is typically offered in Fall and Spring.

This course provides students with an understanding of the underlying principles of technology that have an impact on their lives and how those principles are related to real-world activities. The course promotes information fluency by giving students an understanding of the foundational concepts on which the technology is derived and helping them to develop higher-level intellectual capabilities for applying the technology. The class is broken into three equal sections - technology, ethics and virtual labs. It is the combination of these three sections that will enable students to understand the foundation and the implementation of technology in their daily lives. Class lectures, readings, virtual labs and student discussions will be utilized to integrate the application of technology with social and ethical issues facing society. As examples, discussions might include: What is the impact of the Internet on intellectual property? How far can government surveillance go to detect criminal behavior without reducing our civil liberties? How can vulnerable groups be protected from predators, scam artists, and identity theft? Is it ethical to download free music and video from the Internet? NOTE: (1) Duplicate Course: No credit for students who have taken CIS 1055 (C055), 1955 (H095) or 0835. (2) This course fulfills a Science & Technology (GS) requirement for students under GenEd and Science & Technology Second Level (SB) for students under Core. (3) This is an Honors course.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCHONORS, UHONORS, UHONORSTR.

Course Attributes: GS, HO

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

CIS 1001. Introduction to Academics in Computer Science. 1 Credit Hour.

This course is typically offered in Fall and Spring.

Students will be introduced to the field of computing, including potential career opportunities, the Computer & Information Sciences department and its resources, the departmental faculty, and the Computer Science degree programs, as well as the opportunities for internships and research. There will be guest lectures by Computer & Information Sciences faculty, students and alumni, demonstrations of computing technology, and discussions to illustrate the interdisciplinary nature of Computer Science and Information Science and Technology. NOTE: This is a required course for all Computer Science and Information Science and Technology majors. It is also recommended for undecided students looking for a major.

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

CIS 1049. Comp Tools Competency. 1 Credit Hour.

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

CIS 1051. Introduction to Problem Solving and Programming in Python. 4 Credit Hours.

This course introduces computer programming using Python, a computer language which is widely used in industry, scientific research, game programming and web applications. Students will learn how to design a program to solve a problem using procedural programming constructs such as loops, branching structures, and functions. Students will write programs that are testable (using assertions) and maintainable (using good programming style, naming conventions, indentation, and comments). Topics covered also include the general characteristics of computers, techniques of problem solving, and algorithm specification. Students are also introduced to software engineering practices, including unit testing techniques, debugging techniques, and version control management.

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

Pre-requisites: Minimum grade of C- (except where noted) in (MATH 0702 (C or higher), any MATH course numbered 1021 to 4999 (may be taken concurrently), 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, STAT 1001 (C or higher), STAT 1102, STAT 1902, 'Y' in MC6A, 'Y' in MATW, 'Y' in CRMA01, 'Y' in CRMA04, 'Y' in CRST01, or 'Y' in MC6T)

CIS 1052. Introduction to Web Technology and Programming. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This course is designed to introduce students with no programming experience to the programming languages and techniques associated with the World Wide Web. The course will introduce web-based media-rich programming tools for creating interactive web pages. Basic animation programming is also introduced with an emphasis on media-rich content creation, distribution and tracking capabilities.

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

Pre-requisites: Minimum grade of C- in (any MATH course numbered 0701 to 0702, any MATH course numbered 0800 to 4999 (may be taken concurrently), 'Y' in MC3, 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, STAT 1001 (may be taken concurrently), 'Y' in STT2, STAT 1102 (may be taken concurrently), STAT 1902 (may be taken concurrently), 'Y' in MC3A, 'Y' in MC6A, 'Y' in MATW, 'Y' in MC3S, 'Y' in MC3D, 'Y' in MC3O, 'Y' in MC3T, or 'Y' in MC6T)

CIS 1053. Programming in Matlab. 4 Credit Hours.

Introduces students to computers and computer programming. Topics covered include the general characteristics of computers, techniques of problem solving and algorithm specifications, and the debugging and testing of computer programs in Matlab. NOTE: This course can be used to satisfy the university Core Quantitative Reasoning B (QB) requirement. Although it may be usable towards graduation as a major requirement or university elective, it cannot be used to satisfy any of the university GenEd requirements. See your advisor for further information.

Course Attributes: QB

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

Pre-requisites: Minimum grade of C- (except where noted) in (MATH 1021 (C or higher), any MATH course numbered 1022 to 4999 (may be taken concurrently), 'Y' in MC5, 'Y' in MC6, 'Y' in MA03, STAT 1001 (C or higher), STAT 1102, STAT 1902, 'Y' in MC6A, 'Y' in MATW, 'Y' in CRMA04, 'Y' in CRST01, or 'Y' in MC6T)

CIS 1055. Computers and Applications. 4 Credit Hours.

With the explosion of computer technology, knowledge of computing applications as tools for all disciplines has become a necessary asset. This course will introduce the student to understanding the components of a computer system; the use of the computer to process information; the technology behind computers and networks and how this technology is likely to change; purchasing and maintaining a personal computer system; understanding the technology of the Internet; and social and ethical implications of computing. The laboratory portion of this class will provide students with hands-on experience to supplement the lecture material. Operating system concepts, a working knowledge of collaborative software and the following applications are covered: advanced features of word processing, spreadsheets, presentation software and the resources of the Internet including developing a web site using sound design techniques to publish course documents and incorporating multi-media components. NOTE: (1) Duplicate Course: No credit for students who have taken CIS 0835 (GE-SCI 0060) or 0935 (GE-SCI H060). (2) This course can be used to satisfy the university Core Science & Technology Second Level (SB) requirement.

Course Attributes: SB

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

Pre-requisites: Minimum grade of C- in (any MATH course numbered 0701 to 0702, any MATH course numbered 0800 to 4999 (may be taken concurrently), 'Y' in MC3, 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, STAT 1001 (may be taken concurrently), 'Y' in STT2, STAT 1102 (may be taken concurrently), STAT 1902 (may be taken concurrently), 'Y' in MC3A, 'Y' in MC6A, 'Y' in MATW, 'Y' in MC3S, 'Y' in MC3D, 'Y' in MC3O, 'Y' in MC3T, or 'Y' in MC6T)

CIS 1056. Advanced Web Technology and Programming. 4 Credit Hours.

This course is typically offered in Fall.

In this course, students will learn how to write web applications using Java and JSP (Java Server Pages). This course focuses on fundamental programming concepts such as data types, type conversion, exception handling, assignment statements, methods, objects, conditions, and loops. SQL (Structured Query Language) will be used to communicate with a database. JSP implicit objects (e.g., session, response) will be employed for the management of log-in and security. Students are expected to have prior knowledge of basic web design, since HTML, CSS, and Javascript will be reviewed only briefly. By the end of the course, each student will have created a simple web application that accesses a database.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 1057. Computer Programming in C. 4 Credit Hours.

This course introduces students to computer programming using the C language. Students will solve programming problems using procedural programming constructs such as variable assignment, loops, branching structures, and functions. Students will write programs that are testable (using assertions) and maintainable (using good programming style, naming conventions, indentation, and comments). Topics covered also include the general characteristics of computers, techniques of problem solving, and algorithm specification. Students also begin the debugging and testing of computer programs in the C language. Students are also introduced to software engineering practices, including unit testing techniques, debugging techniques, and version control management. NOTE: This course can be used to satisfy the university Core Quantitative Reasoning B (QB) requirement. Although it may be usable towards graduation as a major requirement or university elective, it cannot be used to satisfy any of the university GenEd requirements. See your advisor for further information.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Course Attributes: QB

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

Pre-requisites: Minimum grade of C- (except where noted) in (MATH 0702 (C or higher), any MATH course numbered 1021 to 4999 (may be taken concurrently), 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, STAT 1001 (C or higher), STAT 1102, STAT 1902, 'Y' in MC6A, 'Y' in MATW, 'Y' in CRMA01, 'Y' in CRMA04, 'Y' in CRST01, or 'Y' in MC6T)

CIS 1068. Program Design and Abstraction. 4 Credit Hours.

Introduction to problem solving and programming in Java, software engineering, procedural and data abstraction, and object-oriented programming, including class hierarchies, inheritance and interfaces. Data types covered include primitive data types, strings, classes, arrays, vectors, and streams. Programming techniques include at least one technique for searching and sorting an array and an introduction to file processing. Note: For Computer Science Majors and IST Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- (except where noted) in (CIS 1051, CIS 1057, or 'Y' in CISA) and (MATH 0702 (C or higher), any MATH course numbered 1021 to 4999 (may be taken concurrently), 'Y' in MC4, 'Y' in MC5, 'Y' in MC6, 'Y' in MC6A, 'Y' in MC6T, or 'Y' in MATW)

CIS 1166. Mathematical Concepts in Computing I. 4 Credit Hours.

Introduction to the mathematical concepts fundamental to computer and information science. Topics include an introduction to predicate and propositional calculus; sets and set operations; functions and mappings; big-O notation and the growth of functions; algorithms, integers, and matrices; mathematical induction and recursive definitions; combinations, permutations, and binomial coefficients; discrete probability, expected value and variance. Students will also learn formal methods for writing mathematical proofs. Applications to computer science will be illustrated. NOTE: For Computer Science and Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (MATH 1021, any MATH course numbered 1022 to 4999 (may be taken concurrently), 'Y' in MC5, 'Y' in MC6, 'Y' in MC6A, 'Y' in MATW, or 'Y' in MC6T)

CIS 1951. Honors Introduction to Problem Solving and Programming in Python. 4 Credit Hours.

An Honors version of CIS 1051, this course introduces computer programming using Python, a computer language which is widely used in industry, scientific research, game programming and web applications. Students will learn how to design a program to solve a problem using procedural programming constructs such as loops, branching structures, and functions. Students will write programs that are testable (using assertions) and maintainable (using good programming style, naming conventions, indentation, and comments). Topics covered also include the general characteristics of computers, techniques of problem solving, and algorithm specification. Students are also introduced to software engineering practices, including unit testing techniques, debugging techniques, and version control management. Expect the usual boundary between lab and lecture to be somewhat blurred as we look at design and implementation in both places, often in the context of small group activities. The course will end with small group programming projects of modest complexity chosen jointly by the students and instructor based on their areas of interest. These could include elements of graphics, robotics, applied mathematics, engineering, or projects from other disciplines.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCHONORS, UHONORS, UHONORSTR.

Course Attributes: HO

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

Pre-requisites: Minimum grade of C- (except where noted) in (MATH 1021 (C or higher), 'Y' in MATW, any MATH course numbered 1022 to 4999 (may be taken concurrently), 'Y' in MC5, 'Y' in MC6, 'Y' in MA03, STAT 1001 (C or higher), STAT 1102, STAT 1902, 'Y' in MC6A, 'Y' in CRMA04, 'Y' in CRST01, or 'Y' in MC6T)

CIS 1966. Honors Mathematical Concepts in Computing I. 4 Credit Hours.

An honors version of CIS 1166, this course provides an introduction to the mathematical concepts fundamental to computer and information science. Topics include an introduction to predicate and propositional calculus; sets and set operations; functions, sequences and matrices; big-O notation and the growth of functions; algorithms; number theory; mathematical induction and recursive definitions; combinations, permutations, and binomial coefficients; probability, relations. Students will also learn formal methods for writing mathematical proofs. Additional topics beyond the scope of an introductory course will be included. These topics will not only enrich the class, but also show how the concepts can be applied to solve cutting edge problems in science and technology.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCHONORS, UHONORS, UHONORSTR.

Course Attributes: HO

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

Pre-requisites: Minimum grade of C- (except where noted) in (MATH 1041 (C or higher; may be taken concurrently), MATH 1941 (C or higher; may be taken concurrently), MATH 1038 (C or higher; may be taken concurrently), MATH 1042 (may be taken concurrently), MATH 1044 (may be taken concurrently), MATH 1942 (may be taken concurrently), MATH 1951 (may be taken concurrently), any MATH course numbered 2043 to 3080 (D or higher; may be taken concurrently), 'Y' in MA06, 'Y' in MATW, 'Y' in CRMA08, or 'Y' in CRMA21)

CIS 1968. Honors Program Design and Abstraction. 4 Credit Hours.

An Honors version of CIS 1068, this course provides an introduction to problem solving and programming in Java, software engineering, procedural and data abstraction, and object-oriented programming, including class hierarchies, inheritance and interfaces. Data types covered include primitive data types, strings, classes, arrays, vectors, and streams. Programming techniques include at least techniques for searching and sorting an array. In addition to the standard materials for 1068, this course will look more deeply into the underlying representations of numeric data types, it will consider some more advanced language topics including a more detailed look at polymorphism, and it may consider additional techniques such as linked data structures and recursion. Expect the usual boundary between lab and lecture to be somewhat blurred as we look at design and implementation in both places, often in the context of small group activities. The course will end with small group programming projects of modest complexity chosen jointly by the students and instructor based on their areas of interest. These could include elements of graphics, robotics, applied mathematics, engineering, or projects from other disciplines.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCHONORS, UHONORS, UHONORSTR.

Course Attributes: HO

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

Pre-requisites: Minimum grade of C- (except where noted) in (CIS 1051, CIS 1057, or CIS 1951) and (MATH 1041 (C or higher; may be taken concurrently), MATH 1941 (C or higher; may be taken concurrently), MATH 1038 (C or higher; may be taken concurrently), MATH 1042 (may be taken concurrently), MATH 1044 (may be taken concurrently), MATH 1942 (may be taken concurrently), MATH 1951 (may be taken concurrently), any MATH course numbered 2043 to 3080 (D or higher; may be taken concurrently), 'Y' in MA06, 'Y' in MATW, 'Y' in CRMA08, or 'Y' in CRMA21)

CIS 2004. Sci+Tech Scholars Seminar. 1 Credit Hour.

This seminar course provides students participating in the Sci+Tech Scholars program with advanced preparation for success in exploring tech-focused science education and career opportunities. The goals of the course are to: 1) foster a cohort experience and build community among Sci+Tech Scholars; 2) enhance students' understanding of the social relevance and interdisciplinary applications of computing concepts within scientific industries; 3) explore professional development topics that enhance students' understanding of research, graduate school, and careers related to their sci+tech studies; and 4) support students' engagement in experiential service-learning projects that apply and enhance their technical skills. This course is repeatable for credit; Sci+Tech Scholars are expected to enroll in this seminar in each year of their participation in the Sci+Tech Scholars program.

Cohort Restrictions: Must be enrolled in one of the following Cohorts: SCITECHSCH.

Repeatability: This course may be repeated for additional credit.

CIS 2033. Computational Probability and Statistics. 3 Credit Hours.

This course is typically offered in Spring.

The goal is to introduce students to modern and extremely useful topics in computational statistics. It focuses on computational aspects and provides a hands-on introduction to fundamental concepts of data analysis. The course offers a foundation for further courses in data mining, machine learning, artificial intelligence, robotics, computer vision, and in general in computational statistics and scientific computing.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (CIS 1068 or CIS 1073), CIS 1166, and (MATH 1041, MATH 1038, (MATH 1031 and MATH 1022), MATH 1941, MATH 1042 (may be taken concurrently), MATH 1044 (may be taken concurrently), MATH 1942 (may be taken concurrently), MATH 1951 (may be taken concurrently), any MATH course numbered 2043 to 3080 (may be taken concurrently), 'Y' in MA05, 'Y' in MA06, or 'Y' in MATW)

CIS 2082. Independent Research I. 1 to 4 Credit Hour.

This course is typically offered in Fall, Spring, Summer I and Summer II.

Prerequisites: Completion of CIS 2168 with at least a C-, and a GPA of 3.0 or better in the major. Supervised research under the direction of a faculty member in the Department of CIS. All students must obtain the approval of the CIS Administrative Coordinator. NOTE: Not available for major credit and does not count in the major GPA. This course is repeatable.

Repeatability: This course may be repeated for additional credit.

CIS 2100. Special Topics in CIS. 1 to 6 Credit Hour.

The aim of this course is to examine current problems in Computer Science. Subject matter varies from semester to semester.

Repeatability: This course may be repeated for additional credit.

CIS 2107. Computer Systems and Low-Level Programming. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This course introduces computer systems architecture at the level required to understand low-level systems programming. It examines issues of information representation, the form of machine instructions and addressing, the implementation of programming language constructs in terms of machine instructions, the interfaces to peripheral devices. Programming is done in assembly language and in C. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Computer Science and Physics, Data Science: Comp Analytics, Mathematics/Computer Science, Mathematics & Comp Sci w/Teach.

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

Pre-requisites: Minimum grade of C- in (CIS 1068 or CIS 1073) and CIS 1166.

CIS 2109. Database Management Systems. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This is an introductory course in database management systems (DBMS) and file management systems. The course covers data modeling concepts, various file management techniques, data definition and manipulation using SQL, issues in data management, development and implementation of database applications, and a perspective on emerging issues in database systems. Students work in the Lab on various assignments including prototyping and SQL, utilizing state of the art DBMS and CASE tools. NOTE: (1) Duplicate Course: No credit for students who have completed CIS 4331 (0331). (2) Prior to fall 2016, the course title was "Database and File Management Systems."

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (CIS 1051, CIS 1057, CIS 1068, CIS 1951, or CIS 1968)

CIS 2166. Mathematical Concepts in Computing II. 4 Credit Hours.

This course is typically offered in Fall and Spring.

A continuation of CIS 1166. Concepts include recursion and recursive algorithms; relations including equivalence, congruence, and order; introduction to graphs and trees. Additional topics include Boolean algebra and finite automata. Applications to computer science will be illustrated. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- (except where noted) in (MATH 1041 (C or higher), MATH 1941 (C or higher), MATH 1038 (C or higher), MATH 1042 (may be taken concurrently), MATH 1044 (may be taken concurrently), MATH 1942 (may be taken concurrently), MATH 1951 (may be taken concurrently), any MATH course numbered 2043 to 3080 (may be taken concurrently), 'Y' in MA06, 'Y' in MATW, 'Y' in CRMA08, or 'Y' in CRMA21), (CIS 1068 or CIS 1968), and (CIS 1166, CIS 1966, or MATH 2111)

CIS 2168. Data Structures. 4 Credit Hours.

A continuation of CIS 1068. Program style organization and design with continued emphasis on the object-oriented design paradigm. Understanding and use of data abstraction through Java classes and class libraries. Understanding and use of the following Abstract Data Types: strings, stacks, queues, priority queues, lists, linked lists, binary trees, heaps, and hash tables. Introduction to expression evaluation and other applications. Introduction to recursion and comparative analysis of searching and sorting algorithms and data structures. Sorting algorithms include insertion sort, mergesort, heapsort, and quicksort. Searching algorithms include binary search, hashing, and Huffman coding. NOTE: For Computer Science and Information Science and Technology Majors.

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

Pre-requisites: Minimum grade of C- in (CIS 1068 or CIS 1968), (CIS 1166, CIS 1966, or MATH 2111), and (MATH 1022, any MATH course numbered 1038 to 4999 (may be taken concurrently), 'Y' in MC6, 'Y' in MA04, 'Y' in MC6A, 'Y' in MATW, or 'Y' in MC6T)

CIS 2229. Architecture, Operating Systems and Networking. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This course provides an introduction to computer system architecture, operating systems concepts, and network organization, structure, and management. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (CIS 1051, CIS 1951, CIS 1057, CIS 1068, or CIS 1968)

CIS 2305. Mobile Computing Technologies. 4 Credit Hours.

This course is typically offered in Spring.

This course provides an environment for students to learn and experiment with mobile computing technologies in different platforms, such as iPhone, Android and Windows Mobile (in partnership with Microsoft Research). The actual platform may rotate according to students' interest, device and instructor availability. The course is tutorial and project oriented. The first eight weeks are for tutorials and laboratories. The remaining weeks are for group projects. Each team will consist of students with programming, management and critical analysis skills. NOTE: For Information Science & Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (CIS 1068, CIS 1073, or CIS 1056)

CIS 3100. Special Topics in CIS. 1 to 6 Credit Hour.

The aim of this course is to examine current problems in Computer Science. Subject matter varies from semester to semester.

Repeatability: This course may be repeated for additional credit.

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

CIS 3191. Independent Research II. 1 to 4 Credit Hour.

This course is typically offered in Fall, Spring, Summer I and Summer II.

Prerequisites: Completion of CIS 2168 and [CIS 3223 or CIS 3309] with at least a C-, and a GPA of 3.0 or better in the major. Research under the direction of a faculty member in the Department of CIS. All students must obtain the approval of the CIS Administrative Coordinator. NOTE: Not available for major credit and does not count in the major GPA. This course is repeatable.

Repeatability: This course may be repeated for additional credit.

CIS 3203. Introduction to Artificial Intelligence. 4 Credit Hours.

This course is typically offered in Fall.

Introduction to the issues and ideas of artificial intelligence using LISP and PROLOG. Knowledge of representation, search, problem solving, learning and mathematical reasoning. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2033, CIS 2166, and CIS 2168.

CIS 3207. Introduction to Systems Programming and Operating Systems. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This course is concept-oriented, not specialized to a particular operating system, and not trying to teach how to code the kernel of an operating system. After reviewing a number of system programming issues, it examines the basic components of modern operating systems in terms of their function, domain, design, principles and implementation techniques, use and impact on systems programming. It describes and uses in programming homework two modern operating systems (UNIX and Windows NT). Design and implementation of a number of concurrent programs is examined. Hardware support for operating system functions is discussed. Performance issues are considered through the course. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 1166, CIS 2107, and CIS 2168.

CIS 3211. Automata, Computability, and Languages. 3 Credit Hours.

This course is not offered every year.

Finite automata, their limitations and capabilities, and Kleen's theorem or regular expressions. Other types of automata and their events. Turing machine and computability, computable functions, and halting problems. Introduction to context-free languages. Syntactical analysis of such languages with application to translation. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 3217. Computer Architecture. 3 Credit Hours.

This course covers the fundamentals of computer architecture with an emphasis on how application software is executed on computing systems. The primary goal is to provide a deeper understanding of how machines are built and execute programs so that students learn to develop software that runs on modern multiprocessing computing systems more efficiently and become more effective at program debugging. Students also gain exposure to techniques and tools used by system designers such as code profilers, disassemblers, debuggers, and other performance measurement tools.

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

Pre-requisites: Minimum grade of C- in CIS 2107 and CIS 2168.

CIS 3219. Computer Graphics and Image Processing. 4 Credit Hours.

This course is typically offered in Spring.

An analysis of the techniques used in computer manipulation of two- and three-dimensional images. Hardware and software for displaying images, two- and three-dimensional transformations, the hidden line problem, picture processing, character recognition, and two-dimensional filtering. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- (except where noted) in CIS 1166, CIS 2107, CIS 2168, and (MATH 1042 (C or higher), MATH 1942 (C or higher), MATH 1951 (C or higher), any MATH course numbered 2043 to 3080 (may be taken concurrently), 'Y' in MA07, 'Y' in MATW, 'Y' in CRMA09, or 'Y' in CRMA11)

CIS 3223. Data Structures and Algorithms. 3 Credit Hours.

This course is typically offered in Fall and Spring.

Comparative analysis of algorithms and data structures. Data structures include heaps, priority queues, binary and general trees, binary search trees, AVL trees, Red-Black trees, B-trees, and graphs. Algorithms include heapsort, topological sort, breadth-first search, depth-first search, shortest path algorithms, and Greedy algorithms. Students will gain experience working in a group on at least one moderate-size project. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2166, CIS 2168, (CIS 2033 or MATH 3031), and (MATH 1042, MATH 1942, MATH 1951, any MATH course numbered 2043 to 3080 (may be taken concurrently), 'Y' in MA07, or 'Y' in MATW)

CIS 3238. Software Design. 4 Credit Hours.

This course is typically offered in Spring.

Provides direct experience in the design, development, documentation, testing and maintenance of medium size software projects, in the use of modern software problem solving abstractions and solution patterns, and in the use of software development environments. This course is the capstone of the programming course sequence.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2168 and CIS 3207.

CIS 3242. Discrete Structures. 3 Credit Hours.

This course is typically offered in Fall.

Introduction to algebraic structures fundamental to various areas of computer science. Graphs, planar graphs, algorithms on graphs and their analysis, sequential machines and their minimization, semi-groups, and groups and their application to computer science. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 3281. Cooperative Education Experience in Information Science & Technology. 4 Credit Hours.

This course is typically offered in Fall, Spring and Summer I.

Prerequisites: Completion of CIS 2168 with at least a C-. All students must obtain the approval of the IST Faculty Advisor. In this course, students undertake directed study in Information Science and Technology, which integrates academic program and work experience. The course is coordinated by an Information Science & Technology faculty member, but supervised by the student’s work supervisor. At the end of the semester students will turn in a final report detailing the work done on the project. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Repeatability: This course may be repeated for additional credit.

CIS 3287. Software Design/Practicum. 4 Credit Hours.

This course is typically offered in Fall.

Provides direct experience in the design, development, documentation, testing and maintenance of medium size software projects, in the use of modern software problem solving abstractions and solution patterns, and in the use of software development environments. This course is the capstone of the programming course sequence. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Repeatability: This course may be repeated for additional credit.

Pre-requisites: Minimum grade of C in (CIS 2168 or 'Y' in CRCI02) and (CIS 3207 or 'Y' in CRCI03)

CIS 3296. Software Design. 4 Credit Hours.

This course provides direct experience in the design, development, documentation, testing and maintenance of medium size software projects, in the use of modern software problem solving abstractions and solution patterns, and in the use of software development environments. This course is the capstone of the programming course sequence. By its very nature, the capstone course is a method of summative evaluation of students' previous learning in computer science disciplines. It provides a forum that allows an instructor to assess the student's overall collegiate learning experience. Students are assumed to have gained adequate computer language (C and Java in particular) and programming skills in their early-year curriculum. As this is a writing-intensive course, students are required to submit written assignments that go through an iterative writing cycle: a student submits an assignment, the instructor gives feedback on the assignment, student revises and resubmits work, and the instructor assigns a grade for the revised version. Writing assignments in this course will be grounded in the expression of technical computer science concepts and are designed to help students to develop and practice skills in writing for the computer science discipline.

Course Attributes: WI

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

Pre-requisites: Minimum grade of C- in CIS 2168 and CIS 3207.

CIS 3308. Web Application Programming. 4 Credit Hours.

This course is typically offered in the Spring.

This course introduces the techniques used in the design and implementation of web applications. Using development environments such as Dreamweaver, Visual Studio, Eclipse, Netbeans, and SQL Management Studio, students write code for the browser (HTML, Cascading Style Sheets, javascript, ajax), web application server (JSP, PHP, or C# .NET), and database server (SQL, stored procedures, triggers). Students learn about internet protocols and how to work with web application objects (e.g., request, response, session). Students learn how design patterns such as MVC (Model-View-Controller) can and should be applied to the multi-tiered, distributed software that make up today's web applications. XML (a format commonly used to transfer data over the internet) and web services (a method call to a remote computer over the internet) are discussed and demonstrated. Each student will program their own web application, expanding on its functionality each week in the lab.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2107 and (CIS 2168 or CIS 2173)

CIS 3309. Component-Based Software Design. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This course emphasizes component-based software development using a modern object-oriented programming (OOP) language (currently C#). Students are introduced to software development techniques applicable in a component (class)-based, integrated software development environment (IDE). Students will learn (and practice using) the OOP language, object-oriented software design techniques, and the principles of good user interface design. Students will also learn how to navigate in, and take full advantage of, an IDE in building quality software, including user interfaces to databases, 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 primary focus is on windows-based software products, but the use of ASP.NET for client-server systems development is also introduced. NOTE: (1) Duplicate Course: Students may not get credit for both CIS 4309 and 3309. (2) For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (CIS 2109 (may be taken concurrently) or CIS 4331), (CIS 2168 or CIS 2173), and (MATH 1022, any MATH course numbered 1038 to 4999, 'Y' in MC6, 'Y' in MA04, 'Y' in MC6A, 'Y' in MATW, or 'Y' in MC6T)

CIS 3319. Wireless Networks and Security. 4 Credit Hours.

This course is typically offered in Spring.

The students are expected to learn fundamental knowledge of cryptography, several types of important wireless networks, and security issues and defenses in the wireless networks and systems.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2107 and CIS 2168.

CIS 3329. Network Architectures. 4 Credit Hours.

This course covers the operation of computer networks and internets. It provides the background to enable students to evaluate alternative approaches to client-server computing and n-tier software development. To accomplish this the course includes communications technology, computer network technology internetworking using the TCP/IP protocol suite, client-server protocols, client-server computing, network program component models as well as issues involving security, privacy, authentication, intellectual property rights, and social changes related to computer networking. NOTE: For Information Science and Technology Majors and Minors only.

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

Pre-requisites: Minimum grade of C- in CIS 2168 and (CIS 2107 or CIS 2229)

CIS 3342. Server-Side Web Application Development. 4 Credit Hours.

This course is typically offered in Fall and Spring.

The objective of this course is to provide further depth, beyond CIS 3309, into the development of network deployed systems. Its emphasis is on distributed, multi-tier architectures. The course is divided into 3 parts. First is the theory associated with software engineering design principles and distributed processing in client/server architectures and database systems. The second part is a deeper knowledge of the ASP.NET and C#.NET languages beyond CIS 3309. This would include such topics as web and windows applications, user interfaces, event handling, database design and ADO.NET, Web Services, Ajax, user controls, and report generation. The third part of the course is a project that the student will perform in the design and programming of a distributed client/server application. NOTE: (1) For Information Science and Technology Majors. (2) Prior to fall 2017, the course title was "Networked Application Systems."

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2109, CIS 3309, and CIS 3344.

CIS 3344. Client-Side Scripting for the Web. 4 Credit Hours.

This course is typically offered in Fall and Spring.

Today's web applications are becoming more interactive, doing more on the client side and less on the server side. A new software design goal is to write a single code base that can support many formats, from mobile phones, to tablets, to computer monitors. This course will focus on current technologies in client side web scripting, such as: HTML, CSS, responsive web design techniques, JavaScript, JavaScript libraries (such as jQuery), JSON (or other web data formats), Ajax (a technique using JavaScript to make asynchronous calls to web APIs), and client side web application frameworks (such as AngularJS). Students will create web applications that access a database using client side code that invokes web APIs. NOTE: (1) For Information Science and Technology Majors. (2) Prior to fall 2016, the course title was "Advanced Web Application Design and Scripting."

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

Pre-requisites: Minimum grade of C- in CIS 2109 (may be taken concurrently) and CIS 2168.

CIS 3374. Quality Assurance & Testing. 4 Credit Hours.

This course is typically offered in Fall.

Learn the techniques for creating quality systems. This course discusses the crucial steps to be taken to assure that systems: do what they are intended to do; work reliably; satisfy the client's requirements; are completed on time and within budget. Quality practices will be introduced and reviewed to give you a perspective as to why some systems succeed and others fail. Most importantly, students will learn techniques for building quality systems. A number of software tools will be introduced and discussed. Participants will be expected to complete one research paper on test automation, write test plans, and develop the skills to improve the software development process. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 3376. Enterprise Resource Planning (ERP) Design and Implementation. 3 Credit Hours.

This course is typically offered in Spring.

This course is designed to teach students about implementation of integrated information system for the enterprise using SAP ERP. The course will explain the fundamental concepts of ERP implementations, including cost/benefit, infrastructure design and integration issues. Online tutorials will be used to provide an introduction to the SAP and navigation exercises to acquaint students with getting around within SAP ERP. Students then will work in teams on case studies that execute business process integration in five key areas: sales logistics, production logistics, procurement logistics, accounting/controlling, and human resources. Additionally, students are introduced to SAP master data creation and use. NOTE: For Information Science & Technology Majors.

NOTE: This is a new course number for the SAP course, which had been offered as CIS 4340. Students may not take this course if you already took CIS 4340. For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2109 and CIS 2168.

CIS 3381. Cooperative Education Experience in Computer Science. 4 Credit Hours.

This course is typically offered in Fall, Spring, Summer I and Summer II.

Students undertake directed study in Computer Science, which integrates academic program and work experience. The course is coordinated by a Computer Science faculty member, but supervised by the student's work supervisor. Students will submit a weekly log and turn in a final report detailing the work completed at the end of the semester. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Repeatability: This course may be repeated for additional credit.

CIS 3441. Software Security. 3 Credit Hours.

This course will familiarize students with the common vulnerabilities that plague developed code as outlined in publications like the OWASP Top 10 and SANS Top 25. They will understand what type of development behaviors lead to vulnerabilities and how to avoid those behaviors when creating secure code. Students will learn how to perform a threat model on development features to understand what threats could impact code, where they come from and how to mitigate them. They will also review and operate analysis tools that are available to developers in order to analyze their code and discover vulnerabilities, allowing them to be corrected early in the development life cycle.

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

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

CIS 3513. Introduction to iOS Application Development. 4 Credit Hours.

One of the two major mobile computer system platforms, the Apple iOS SDK has proven to be a powerful platform upon which to build sophisticated mobile applications. Students will learn to design, build and test mobile applications on Intel Apple Mac computers using a freely available compiler and simulator. The applications can be transferred to iOS devices such as iPhones and iPads. Students will become proficient in the object-oriented language Objective-C or Swift, Apple iOS Frameworks, and the XCode development environment.

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

Pre-requisites: Minimum grade of C- in (CIS 3207 or CIS 3342)

CIS 3515. Introduction to Mobile Application Development. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This course will introduce students to application development for mobile devices, and the various concerns of mobile platforms. Students will learn about the various constraints inherent to mobile applications as well as the new opportunities that they present. They will learn how to address challenges in hardware and mobile interface modalities by incorporating software design and user-interaction design principles. Additionally, students will be exposed to new models of software and data distribution, leveraging third party software, and managing local and remote data.

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

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

CIS 3603. User Experience Design. 3 Credit Hours.

This course is typically offered in the Fall and Spring.

This course will focus on the effective understanding and implementation of the iterative UX design process. Students will learn to have empathy for users by putting into practice each phase of the design process, including Scoping, Research, Analysis, Ideation, Design, Validation, and more. Students will gain exposure and experience in a simulation of a real-world experience.

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

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

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

This course is typically offered in Fall.

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.

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

Pre-requisites: Minimum grade of C- in (CIS 2107 or CIS 2229) and CIS 2168.

CIS 3715. Principles of Data Science. 4 Credit Hours.

This course is typically offered in Spring.

Introduction to the practice of data science. Students will leave the class with a broad set of practical data analytic skills based on building real analytic applications on real data. Skills include collecting, accessing, and transferring data, applying methods from machine learning and data mining to analyze data, and visualization and presentation of results. The students will gain experience in processing "big data" which are too big to fit in the computer's memory. NOTE: For Computer Science and Information Science and Technology Majors.

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

Pre-requisites: Minimum grade of C- in (CIS 2166, MATH 2101, MATH 2103, or ENGR 2011) and (CIS 1051, CIS 1057, CIS 1068, or CIS 1968)

CIS 3755. Introduction to Information Visualization. 3 Credit Hours.

Data is everywhere. People, organizations, and governments are increasingly using this data to inform personal behaviors, guide decision-making, and craft public policy. However, data is not objective. The way it is collected, analyzed, and presented can strongly influence the story that is communicated. In the worst case, charts can even be designed to mislead and misinform. This course will help students learn how to communicate important insights about people through data and visualization. They will be able to identify ineffective and misleading visualizations. Through a series of in-class activities, take-home assignments, and group projects, students will have opportunities to flex their new skills and develop portfolio items to showcase their ability to craft and publish compelling data stories.

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

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

CIS 3775. Information Technology Project Management. 3 Credit Hours.

This course will be offered in the Fall and Spring semesters.

Strong business leaders in today's marketplace use project management knowledge and skills as a key differentiator driving success in their organizations. This course will use case studies to examine basic components of time, scope and resources within the project management processes defined by the Project Management Institute. This course lays the foundation for learning project management with practical examples and tools used in actual business situations. Learn how project management can be driven not only from a monitoring and numbers perspective but also from a people perspective to reach business goals. NOTE: For Information Science and Technology Majors.

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

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

CIS 4083. Directed Reading/Study. 1 to 4 Credit Hour.

This course is typically offered in Fall, Spring, Summer I and Summer II.

Prerequisites: Completion of CIS 2168 and [CIS 3223 or CIS 3309] with at least a C-, and a GPA of 3.0 or better in the major. A tutorial opportunity for a student to work with a faculty member to investigate areas of study not covered by courses in the department. All students must obtain the approval of the CIS Administrative Coordinator. NOTE: Not available for major credit. Counts toward the major GPA. This course is repeatable.

Repeatability: This course may be repeated for additional credit.

CIS 4105. Information Technology Process Management. 3 Credit Hours.

This course is typically offered in Fall.

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. 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: For Information Science & Technology Majors.

NOTE: For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 4106. System Development Process. 3 Credit Hours.

This course is typically offered in Spring.

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: For Information Science & Technology Majors.

NOTE: For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 4108. Emerging Technologies and Tools for Enterprise Management. 3 Credit Hours.

This course is typically offered in Spring.

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: For Inforomation Science & Technology Majors.

NOTE: For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

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

This course is typically offered in Fall, Spring, Summer I and Summer II.

Research under supervision of a faculty member.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Repeatability: This course may be repeated for additional credit.

CIS 4296. Information Systems Analysis and Design. 4 Credit Hours.

This course is typically offered in Fall and Spring.

The analysis and design phases of the System Development Life cycle are covered in detail. Methodologies for systems analysis, specifications, and design are covered. Both the Traditional Structured and Object Oriented methodologies are used by the students, working in teams, to develop real-life information systems. Emphasis is placed on well-written documentation as well as oral communication typically required during the software development life cycle. Project management tools are employed by students to monitor their progress and the costs associated with their projects. CASE tools are employed for data and information modeling and specification. NOTE: (1) Duplicate Course: No credit for students who have completed CIS 4298 (W338). (2) For Information Science and Technology Major.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Course Attributes: WI

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

Pre-requisites: Minimum grade of C- in CIS 2109, CIS 3309, and CIS 3342 (may be taken concurrently)

CIS 4305. Real Time Computer Systems. 4 Credit Hours.

This course is not offered every year.

Introduction to the problems and techniques of designing and developing real-time systems. Topics will include components of real-time and embedded systems, system and device architecture, synchronous and asynchronous event handling, multi-tasking in real-time systems, scheduling and synchronization, and real-time data acquisition and control. The laboratory component involves building systems and simulations in real-time environments, with real-time kernels. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 3207 and CIS 3223.

CIS 4307. Introduction to Distributed Systems and Networks. 4 Credit Hours.

This course is not offered every year.

Introduction to the concepts that are fundamental for understanding distributed systems and the technical infrastructure that makes them possible. Lectures will mostly be expository and conceptual. Directed closed laboratories and home assignments will be applied and involve the solution of distributed programming problems. NOTE: For Computer Science Majors.

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

Pre-requisites: Minimum grade of C- in CIS 2166, CIS 3207, and CIS 3223.

CIS 4308. Development of Multi-tier Client/Server Systems. 4 Credit Hours.

This course is not offered every year.

The objective of this course is to teach the principles and development of multi-tiered distributed systems. It is introduced with a basic review of internet communications and the architecture of client and server sites, including the functions of and relationships among the browser, web server, operating and file systems, middle-ware, database server, and application servers. Concepts involving various types of client/server side processing and remote connectivity methodologies are reviewed, including scripting languages, HTML, Dynamic HTML, XML, ASP, CGI, and DCOM. About 30% of the course is devoted to the above-described theory. The remainder of the course will be devoted to putting some of these principles and techniques into practice using the DCOM technology. A series of progressively sophisticated problems will be studied and programmed in the lab. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 3207 and CIS 3223.

CIS 4319. Computer Networks and Communications. 4 Credit Hours.

This course is not offered every Fall.

Introduction to computer networks and communications. Local and wide area networks. Network topology and routing. Internet and ISO protocols. Applications including remote procedure calls, remote logon, and file transfer. Network operating systems. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 3207 and CIS 2166.

CIS 4324. Compiler Design. 4 Credit Hours.

This course is not offered every year.

The student will learn what a compiler is and how it works. Topics covered include: how to specify what a legal program is in a language (syntax); how to specify what a legal program does (semantics); how a computer uses these specifications to recognize a legal program and translate this program into the machine's language. Students will develop a working compiler for a simple object-oriented programming language using an Object-Oriented approach, using Java, and the compiler construction tool ANTLR. The target will be the Java Virtual Machine. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2168 and CIS 2166.

CIS 4330. Current Topics in Information Science & Technology. 3 Credit Hours.

This course is typically offered in Fall and Spring.

Current problems in information science and technology. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

This course is repeatable for credit.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Information Science & Technolo.

Repeatability: This course may be repeated for additional credit.

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

CIS 4331. Principles of Database Systems. 4 Credit Hours.

This course will cover the fundamental concepts of database systems, with an emphasis on relational database systems. It will cover both the theory and practice of relational databases, including Codd's original relational model, the relational algebra and calculus, and normalization. Students will learn how to do database design using the (extended) entity-relationship model. There will be a semester-long project in which students will design and implement an actual database, using an existing relational database management system, such as Access, MySQL, or Oracle. NOTE: (1) Duplicate Course: No credit for students who have completed CIS 2109. (2) For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2107 and CIS 2166.

CIS 4340. Seminar in Information Science & Technology. 4 Credit Hours.

This course is typically offered in Spring.

Current problems in information science and technology. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

This course is repeatable for credit.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Information Science & Technolo.

Repeatability: This course may be repeated for additional credit.

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

CIS 4344. Advanced Web Application Design & Scripting. 4 Credit Hours.

This course is typically offered in Fall and Spring.

A principal objective of the course is to present web site design and web application programming as separate technical disciplines and, at the same time, to show how they must be carefully integrated to produce effective results. The course will provide the student with the principal design techniques and associated implementation languages for creating dynamic web pages and for both client and server side processing via scripting and an object oriented, event driven language. The new concepts associated with Web 2.0 are presented. These capabilities are sometimes collectively described as Rich Internet Applications (RIA). They greatly enhance the dynamics and interactivity of web presentation and include the "push" vs. "pull" paradigms. Prevalent technologies and languages for web design to be taught are XHTML, CSS, XML, XSL, and DaM, Javascript, Action Script and Adobe FLEX. The prerequisite courses will provide students with the necessary elements of VB.NET for server side processing as well as SQL for database design. Together, the client side scripting languages and the server side .NET and SQL languages will enable students to create applications for the complete client/server cycle. Two other technologies will also be introduced as important contributors to RIA: (1) AJAX, which enhances the effectiveness and speed of the client/server interaction, and (2) Really Simple Syndication (RSS), which provides new delivery modes of web based information in terms of the "push" paradigm. Online tutorials and reference manuals will be made available for all languages used in the course as a supplement to the Text Book. The course will emphasize good web design practice, client server architecture, and the principles of event oriented programming. It will be shown how the use of an Integrated Development Environment (IDE) and other specialized tools can enhance programmer/designer productivity and quality of the final product. NOTE: For Information Science and Technology Majors. Prior to spring 2011, the course title was "Client/Server Scripting Languages for Web Development."

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 3309 and CIS 2168.

CIS 4345. Introduction to Cloud Computing. 3 Credit Hours.

Cloud Computing is concerned with the use and architecture of this model of computation. We study the services provided by clouds, their internal structure, and their possibilities and limitations. Topics include: Infrastructure as a Service, Middleware (Platform) as a Service, Software as a Service, Service-oriented architectures, Web Services and standards, cloud security, reliability, governance, and wireless clouds.

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

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

CIS 4350. Seminar on Topics in Computer Science. 4 Credit Hours.

This course is typically offered in Fall.

Current problems in computer science. NOTE: For Computer Science Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

This course is repeatable for credit.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Computer Science and Physics, Data Science: Comp Analytics, Data Science, Mathematics/Computer Science, Mathematics & Comp Sci w/Teach.

Repeatability: This course may be repeated for additional credit.

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

CIS 4360. Seminar on Topics in Computer Science. 3 Credit Hours.

Course content varies from semester to semester and is concerned with current issues in computer science. Note: For Computer Science Majors.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Computer Science and Physics, Data Science: Comp Analytics, Data Science, Mathematics/Computer Science, Mathematics & Comp Sci w/Teach.

Repeatability: This course may be repeated for additional credit.

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

CIS 4362. Application System Development Using Relational Technology. 4 Credit Hours.

This course is not offered every year.

This course will assist in achieving a significant level of understanding and synergy of a variety of Oracle tools, environments and languages including SQL*Plus, PL/SQL, Oracle Forms and Reports. As a parallel line it will be supported by a course project done in a team environment where every team member will do independent work in addition to learning how to work in a team. The course project will include a functional requirements specification, database design, SQL queries, SQL-based listings and reports, reports developed using Oracle Reports, online interface using Oracle Forms, and PL/SQL code supporting the developed application system. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in (CIS 2109 or CIS 4331)

CIS 4372. C++ Applications Programming. 4 Credit Hours.

This course is not offered every year.

The C++ programming language is used extensively for interest and applications programming. This course is aimed at providing students with the object-oriented programming experience needed in applying C++ to these problem areas. The objectives are two-fold. One aim is to enhance the student's ability to organize large scale programming tasks using the object oriented approach. The second aim is to further the student's ability to develop error-free maintainable code. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2229 and CIS 3309.

CIS 4376. E-Commerce System Development. 4 Credit Hours.

This course is typically offered in Fall.

The objective of this course is to teach the technical aspects of developing a commercial web site. This process combines a number of technologies: (1) web page and style sheet design, (2) dynamic web pages that access data from relational and XML databases, (3) client and server side transaction processing, (4) principles of internet security, scalability, and database reliability, (5) distributed component integration using packages for major functions such as credit card validation, shopping cart management, order fulfillment and inventory management. Students will develop a site as a course project. They will use the Microsoft Visual Studio.NET as the principal software development tool. This includes the ASP.NET and VB.NET languages. Tools to perform the other tasks include Front Page for web design, an XML editor for XML pages, and the Microsoft Enterprise Manager for the management of SQL Server databases and VS.NET component deployment. The course will provide numerous online references to all of these languages and tools. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

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

CIS 4378. Computer and Network Security. 4 Credit Hours.

This course is typically offered in Spring.

This course provides an introduction to the inherent insecurities in today's computer systems and networks, and the commonly used tools and techniques used to secure them. Topics include cryptography basics, virtual private networks, secure sockets, e-mail security, firewalls, building secure software, kerberos, web server security, viruses, intrusion detection systems, and privacy issues. NOTE: For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

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

Pre-requisites: Minimum grade of C- in CIS 2229 and CIS 3329.

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

This course is typically offered in Fall, Spring, Summer I and Summer II.

Research under supervision of a faculty member.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Repeatability: This course may be repeated for additional credit.

CIS 4396. Information Systems Implementation. 4 Credit Hours.

This course is typically offered in Fall and Spring.

This is a capstone course where teams of students implement the information system for which they developed specifications in CIS 4296 (W281). The teams create the database, programs, procedures and documentations necessary for their project. Techniques of modular design, program development, testing and integration are employed. Emphasis is placed on writing documentations, oral presentations and project management. NOTE: (1) Duplicate Course: No credit for students who have completed CIS 4398 (4339, 0339). (2) For Information Science and Technology Majors.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Course Attributes: WI

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

Pre-requisites: Minimum grade of C- in CIS 4296 and (CIS 3342 or CIS 4342)

CIS 4397. Independent Research in Computer Science. 3 Credit Hours.

This course is typically offered in Fall, Spring, and Summer (12 weeks).

Students undertake research under the supervision of a CIS faculty member. The research project must be approved by the chair of the student's undergraduate program. Students must apply by November 15 for Spring, March 15 for Summer, and April 15 for Fall. Requirements include a 3.0 GPA overall and a 3.3 GPA in the major, and students must have completed all required courses in the major except for no more than 2 required electives in the major (CIS, Math, or Data Science Electives). Students are strongly urged to take an independent study with their research professor prior to enrolling in this course. Note: (1) This course is used to fulfill the capstone requirement in the major and (2) For Computer Science, Math & Computer Science, and Data Science majors.

Course Attributes: WI

Repeatability: This course may be repeated for additional credit.

CIS 4398. Projects in Computer Science. 3 Credit Hours.

This course is typically offered in Fall and Spring.

Team-oriented design and implementation of large programming project. Students will propose topics for review and acceptance early in the semester. Students will provide written documentation of their completed projects and will demonstrate the operation of their completed projects in an oral presentation. Projects will be solicited from industry and other departments at the University. NOTE: For Computer Science Majors (For Math/CS Majors see your advisor).

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Course Attributes: WI

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

Pre-requisites: Minimum grade of C- in (CIS 3238, CIS 3287, or CIS 3296) and CIS 3223.

CIS 4419. Securing the Internet of Things. 3 Credit Hours.

We are seeing the rise in popularity of embedding 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 cybersecurity and privacy issues in these emerging systems, as well as the latest research on defending against these threats. Students will build on their knowledge of fundamental cybersecurity concepts and techniques from CIS 4378 or CIS 3319, and learn to apply them in these new problems. Upon successful completion of the course, students are expected to demonstrate knowledge and understanding of these contemporary systems and be able to identify the vulnerabilities in these systems as well as countermeasures to address these threats. Some of the topics that will be covered include: 1) Security of standards and protocols used in smart environments such as MQTT, CoAP, UPnP, 2) Security and privacy of wireless communications used in IoT systems, including Bluetooth, Zigbee, RFID, 3) Security and privacy issues in various application domains such as smart homes, public safety, healthcare, and wearable systems, and 4) Security and privacy challenges of AI-enabled systems such as autonomous vehicular networks, voice/facial recognition, virtual and augmented reality (VR/AR), etc.

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

Pre-requisites: Minimum grade of C- in CIS 2168 and (CIS 2107 or CIS 3329)

CIS 4496. Projects in Data Science. 3 Credit Hours.

This course provides students an experience in the design and implementation of an end-to-end pipeline for a challenging real-world data science project. Students will work in teams of 4-6 to identify a practical problem scenario, apply knowledge synthesized from previous courses to design a solution, and learn new skills and techniques in the process of implementing the proposed solution. Lecture times will be used to discuss components of a data science project life cycle, to consider common issues in data science projects, to deliberate over business case studies, to brainstorm ideas for addressing stumbling blocks in team projects, and to seek and share feedback on project decisions and progress. Lab times will be used to develop project design, code, and documentation. Students will receive project feedback from the instructor as well as from student peer groups which will be used for iterative development and improvement. Upon completion of the course, students are expected to have gained essential professional and technical skills to enter the work force as a data science professional.

Course Attributes: WI

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

Pre-requisites: Minimum grade of C- in CIS 2168, CIS 3715, and MATH 3032 (may be taken concurrently)

CIS 4515. Advanced Mobile Application Development. 4 Credit Hours.

This course is typically offered in Spring.

This course will introduce students to advanced concepts in application development for mobile devices. Students will learn to leverage the various novel components found in modern mobile devices such as NFC, Bluetooth, and GPS, to build applications that are aware of and act based on their environment. Students will learn to work in teams to design and implement complex applications and learn how to address challenges in hardware and user interfaces by incorporating software design and user-interaction design principles. Students will also be introduced to current software distribution models and the ethics of managing user data.

Note: Students can enroll in this course without the prerequisite if instructor permission is granted.

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

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

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

This course is typically offered in Spring.

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 NoSQL, 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 4517 and CIS 5517.

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

Pre-requisites: Minimum grade of C- in CIS 2168 and (CIS 2166, MATH 2101, MATH 2103, ENGR 2011, or MATH 3045)

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

This course is not offered every year.

Basic concepts and techniques for the automated extraction of interesting patterns in large databases. Topics covered include: association-rule mining, sequence mining, web and texting 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 4523 and CIS 5523.

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

Pre-requisites: Minimum grade of C- in MATH 2043, (CIS 2166, MATH 2101, or ENGR 2011), (MATH 3031, ECE 3522, STAT 2103, or BIOL 3312), and (CIS 1051, CIS 1057, or CIS 1068)

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

This course is not offered every year.

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 4524 and CIS 5524.

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

Pre-requisites: Minimum grade of C- in MATH 2043, (CIS 2166, MATH 2101, or ENGR 2011), (MATH 3031, ECE 3522, STAT 2103, or BIOL 3312), and (CIS 1051, CIS 1057, or CIS 1068)

CIS 4526. Foundations of Machine Learning. 3 Credit Hours.

This course is typically offered in Fall.

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 from 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. Note: Students may not receive credit for both CIS 4526 and CIS 5526.

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

Pre-requisites: Minimum grade of C- in MATH 2043, (CIS 2166, MATH 2101, MATH 2103, or ENGR 2011), (CIS 2033, MATH 3031, ECE 3522, STAT 2103, or BIOL 3312), and (CIS 1051, CIS 1057, CIS 1068, CIS 1951, or CIS 1968)

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

This course is typically offered in Spring.

This class teaches students how to use hacking techniques to perform a hack within legal confines. Such hacking is more commonly referred to as a white-hat or an ethical hack. 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 security. Based on the ethical concepts built during the first half of the semester, students will learn the process involved with intrusion attack detection and forensics investigation. Finally, the course will significantly emphasize the key factors that differentiate a hacker (adversary/black-hat) from an ethical hacker, stressing the importance of being within legal confines, an important prerequisite for a successful ethical hacking career. NOTE: For Computer Science and Information Science and Technology Majors.

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

Pre-requisites: Minimum grade of C- in (CIS 3319 or CIS 4378)

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

This course is typically offered in Spring.

This course will provide students with a basic understanding of IT systems and the need for audit and compliance. Students will learn about IT terminology, governance, and the IT audit practice that has matured into given sets of frameworks, methodologies, approaches, and models with certain sets of underlying assumptions such as COBIT and SOX. Students will be exposed to various governance standards and federal compliance requirements. NOTE: For Computer Science and Information Science and Technology Majors.

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

Pre-requisites: Minimum grade of C- in CIS 2229 and CIS 4378.