Computer & Information Science (CIS)

Courses

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 typically offered in Fall, Spring, Summer I and Summer II.

How can I tell if an e-mail message is really from my bank? If I do online banking, can other people see the information? Does playing the lottery make sense? Does it make sense to draw for an inside straight? How can polling results differ so much from the election --- or do they? Sometimes the winner of an election in the U.S. gets much less than 50% of the vote. Would it make sense to have a run-off in such cases? How long will the world's oil last, assuming that we use more each year? How long will a million dollars last you, assuming it earns interest until you spend it? If you bought your text online, could someone tap into the Internet and get your credit card number when it's transmitted? Why does the VIN on your car have so many digits? 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:
MATH 0701 to 0702| Required Courses:1|Minimum Grade of C-|May not be taken concurrently
OR MATH 0800 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC3 Y|May not be taken concurrently
OR MC4 Y|May not be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C-|May be taken concurrently
OR STT2 Y|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May be taken concurrently
OR STAT 1902|Minimum Grade of C-|May be taken concurrently
OR MC3A Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

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 typically offered in Fall.

How can I tell if an e-mail message is really from my bank? If I do online banking, can other people see the information? Does playing the lottery make sense? Does it make sense to draw for an inside straight? How can polling results differ so much from the election --- or do they? Sometimes the winner of an election in the U.S. gets much less than 50% of the vote. Would it make sense to have a run-off in such cases? How long will the world's oil last, assuming that we use more each year? How long will a million dollars last you, assuming it earns interest until you spend it? If you bought your text online, could someone tap into the Internet and get your credit card number when it's transmitted? Why does the VIN on your car have so many digits? NOTE: (1) This is an Honors course. (2) This course fulfills the Quantitative Literacy (GQ) requirement for students under GenEd and a Quantitative Reasoning (QA or QB) requirement for students under Core. (3) 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:
MATH 0701 to 0702| Required Courses:1|Minimum Grade of C-|May not be taken concurrently
OR MATH 0800 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC3 Y|May not be taken concurrently
OR MC4 Y|May not be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C-|May be taken concurrently
OR STT2 Y|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May be taken concurrently
OR STAT 1902|Minimum Grade of C-|May be taken concurrently
OR MC3A Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

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 1006. Informatics for Scientists. 2 to 3 Credit Hours.

This course is not offered every year.

This course introduces students to the interdisciplinary nature of science and shows how the use of computational tools facilitates better understanding and improvements in research and technology. The applications will be at the intersection of biological and computer sciences, using basic probabilistic/machine learning techniques to address biological problems and mine data sets including topics such as genome sequencing, drug screening, and DNA micro-arrays.

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
MATH 0701 to 0702| Required Courses:1|Minimum Grade of C-|May not be taken concurrently
OR MATH 0800 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC3 Y|May not be taken concurrently
OR MC4 Y|May not be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C-|May be taken concurrently
OR STT2 Y|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May be taken concurrently
OR STAT 1902|Minimum Grade of C-|May be taken concurrently
OR MC3A Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

CIS 1048. Introduction to IS&T. 3 Credit Hours.

This course is typically offered in Fall and Spring.

This course introduces students to the field of Information Systems Technology and outlines the material covered throughout the entire IS&T Program at Temple. The course addresses the three core issues: 1) Information (the basic science of data encoding, transmission and storage); 2) People (the interactions among technologies, users, institutions, and regulations; and 3) Technology (the design and operation of basic information technology devices). The course will be conducted as lectures and case studies where the students will learn how information flows in organizations, how data is stored and processed and how we can use technology to help people and organizations to perform efficiently. Students will work in teams to analyze scenarios and propose solutions by applying analytic techniques and theories covered in the course. Examples and cases will be drawn from a range of domains including: high tech, medical, business and government. Emphasis will be placed on writing proper reports and presentations. NOTE: For 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

Pre-requisites:
MATH 1021|Minimum Grade of C-|May not be taken concurrently
OR MATH 1022 to 3080| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C-|May be taken concurrently
OR STT2 Y|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May be taken concurrently
OR STAT 1902|Minimum Grade of C-|May be taken concurrently
OR MC6A Y|May not be taken concurrently.

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 is typically offered in Spring.

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 solve programming problems of these fields in an intuitive way, 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). This course is a good introduction for students who want to explore Python programming, and for beginners who feel that they need extra preparation for CIS 1068 Program Design and Abstraction (object oriented java).

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
MATH 1021|Minimum Grade of C|May not be taken concurrently
OR MATH 1022 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA03 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May not be taken concurrently
OR STAT 1902|Minimum Grade of C-|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

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:
MATH 0701 to 0702| Required Courses:1|Minimum Grade of C-|May not be taken concurrently
OR MATH 0800 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC3 Y|May not be taken concurrently
OR MC4 Y|May not be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C-|May be taken concurrently
OR STT2 Y|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May be taken concurrently
OR STAT 1902|Minimum Grade of C-|May be taken concurrently
OR MC3A Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

CIS 1053. Programming in Matlab. 4 Credit Hours.

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

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:
MATH 1021|Minimum Grade of C|May not be taken concurrently
OR MATH 1022 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA03 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May not be taken concurrently
OR STAT 1902|Minimum Grade of C-|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

CIS 1055. Computers and Applications. 4 Credit Hours.

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

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 935 (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:
MATH 0701 to 0702| Required Courses:1|Minimum Grade of C-|May not be taken concurrently
OR MATH 0800 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC3 Y|May not be taken concurrently
OR MC4 Y|May not be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C-|May be taken concurrently
OR STT2 Y|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May be taken concurrently
OR STAT 1902|Minimum Grade of C-|May be taken concurrently
OR MC3A Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

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:
CIS 1052|Minimum Grade of C-|May not be taken concurrently.

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

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

Introduces students to computer and computer programming. Topics covered include the general characteristics of computers, techniques of problem solving, and algorithm specification, and the debugging and testing of computer programs in the C language. 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:
MATH 1021|Minimum Grade of C|May not be taken concurrently
OR MATH 1022 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA03 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May not be taken concurrently
OR STAT 1902|Minimum Grade of C-|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

CIS 1066. Mathematics Concepts for Computers. 4 Credit Hours.

This course is typically offered in Fall and Spring.

Introduction to mathematical concepts fundamental to IS&T. Topics include: number systems, data representation in computers, data structures, logic, set theory, and algorithms. 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:
(MATH 1021|Minimum Grade of C|May not be taken concurrently
OR MATH 1022 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC5 Y|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA03 Y|May not be taken concurrently
OR STAT 1001|Minimum Grade of C|May not be taken concurrently
OR STAT 1102|Minimum Grade of C-|May not be taken concurrently
OR STAT 1902|Minimum Grade of C-|May not be taken concurrently
OR MC6A Y|May not be taken concurrently)
AND (CIS 1048|Minimum Grade of C-|May be taken concurrently)
AND (CIS 1073|Minimum Grade of C-|May be taken concurrently).

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

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

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:
MATH 1022|Minimum Grade of C-|May not be taken concurrently
OR MATH 1038 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA04 Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

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

This course is typically offered in Fall and Spring.

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:
MATH 1022|Minimum Grade of C-|May not be taken concurrently
OR MATH 1038 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA04 Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently.

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:
MATH 1041|Minimum Grade of C|May be taken concurrently
OR MATH 1941|Minimum Grade of C|May be taken concurrently
OR MATH 1038|Minimum Grade of C|May be taken concurrently
OR MATH 1042|Minimum Grade of C-|May be taken concurrently
OR MATH 1044|Minimum Grade of C-|May be taken concurrently
OR MATH 1942|Minimum Grade of C-|May be taken concurrently
OR MATH 1951|Minimum Grade of C-|May be taken concurrently
OR MATH 2043 to 3080| Required Courses:1|Minimum Grade of D|May be taken concurrently
OR MA06 Y|May not be taken concurrently.

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:
MATH 1041|Minimum Grade of C|May be taken concurrently
OR MATH 1941|Minimum Grade of C|May be taken concurrently
OR MATH 1038|Minimum Grade of C|May be taken concurrently
OR MATH 1042|Minimum Grade of C-|May be taken concurrently
OR MATH 1044|Minimum Grade of C-|May be taken concurrently
OR MATH 1942|Minimum Grade of C-|May be taken concurrently
OR MATH 1951|Minimum Grade of C-|May be taken concurrently
OR MATH 2043 to 3080| Required Courses:1|Minimum Grade of D|May be taken concurrently
OR MA06 Y|May not be taken concurrently.

CIS 2033. Computational Probability and Statistics. 4 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 is composed of 3 hours lecture and 2 hours lab with programming assignments in Matlab. Consequently, the students will be able to immediately see their results with programming assignments in Matlab. No prior Matlab knowledge is required. The course offers a solid 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:
(CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1073|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1166|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 1041|Minimum Grade of C-|May not be taken concurrently
OR MATH 1038|Minimum Grade of C-|May not be taken concurrently
OR (MATH 1022|Minimum Grade of C-|May not be taken concurrently
AND MATH 1031|Minimum Grade of C-|May not be taken concurrently)
OR MATH 1941|Minimum Grade of C-|May not be taken concurrently
OR MATH 1042|Minimum Grade of C-|May be taken concurrently
OR MATH 1044|Minimum Grade of C-|May be taken concurrently
OR MATH 1942|Minimum Grade of C-|May be taken concurrently
OR MATH 1951|Minimum Grade of C-|May be taken concurrently
OR MATH 2043 to 3080| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MA05 Y|May not be taken concurrently
OR MA06 Y|May not be taken concurrently).

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 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, Electrical Engineering, Mathematics/Computer Science, Mathematics & Comp Sci w/Teach

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1073|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1166|Minimum Grade of C-|May not be taken concurrently).

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:
CIS 1073|Minimum Grade of C-|May not be taken concurrently
OR CIS 1068|Minimum Grade of C-|May not be taken concurrently.

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:
(MATH 1041|Minimum Grade of C|May not be taken concurrently
OR MATH 1941|Minimum Grade of C|May not be taken concurrently
OR MATH 1038|Minimum Grade of C|May not be taken concurrently
OR MATH 1042|Minimum Grade of C-|May be taken concurrently
OR MATH 1044|Minimum Grade of C-|May be taken concurrently
OR MATH 1942|Minimum Grade of C-|May be taken concurrently
OR MATH 1951|Minimum Grade of C-|May be taken concurrently
OR MATH 2043 to 3080| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MA06 Y|May not be taken concurrently)
AND (CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1968|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1166|Minimum Grade of C-|May not be taken concurrently
OR CIS 1966|Minimum Grade of C-|May not be taken concurrently
OR MATH 2111|Minimum Grade of C-|May not be taken concurrently).

CIS 2168. Data Structures. 4 Credit Hours.

This course is typically offered in Fall and Spring.

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:
(CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1968|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1166|Minimum Grade of C-|May not be taken concurrently
OR CIS 1966|Minimum Grade of C-|May not be taken concurrently
OR MATH 2111|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 1022|Minimum Grade of C-|May not be taken concurrently
OR MATH 1038 to 4999| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA04 Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently).

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:
CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1073|Minimum Grade of C-|May not be taken concurrently.

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:
CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1073|Minimum Grade of C-|May not be taken concurrently
OR CIS 1056|Minimum Grade of C-|May not be taken concurrently.

CIS 2308. Web Application Programming. 4 Credit Hours.

This course is typically offered in Fall and 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:
(CIS 2107|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently
OR CIS 2173|Minimum Grade of C-|May not be taken concurrently).

CIS 3033. Computational Probability and Statistics. 4 Credit Hours.

This course is typically offered in Fall.

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 is composed of 3 hours lecture and 2 hours lab with programming assignments in Matlab. Consequently, the students will be able to immediately see their results with programming assignments in Matlab. No prior Matlab knowledge is required. The course offers a solid 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:
(CIS 1068|Minimum Grade of C|May not be taken concurrently
OR CIS 1073|Minimum Grade of C|May not be taken concurrently)
AND (MATH 1042|Minimum Grade of C|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2033|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 1166|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2107|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Mathematics/Computer Science

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
CIS 2166|Minimum Grade of C-|May not be taken concurrently.

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 1166|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2107|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 1042|Minimum Grade of C|May not be taken concurrently
OR MATH 1942|Minimum Grade of C|May not be taken concurrently
OR MATH 1951|Minimum Grade of C|May not be taken concurrently
OR MATH 2043 to 3080| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MA07 Y|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2166|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 1042|Minimum Grade of C-|May not be taken concurrently
OR MATH 1942|Minimum Grade of C-|May not be taken concurrently
OR MATH 1951|Minimum Grade of C-|May not be taken concurrently
OR MATH 2043 to 3080| Required Courses:1|Minimum Grade of C-|May be taken concurrently
OR MA07 Y|May not be taken concurrently).

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:
(CIS 2168|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3207|Minimum Grade of C-|May not be taken concurrently).

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.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Mathematics/Computer Science

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
CIS 2166|Minimum Grade of C-|May not be taken concurrently.

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.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Mathematics/Computer Science

Repeatability: This course may be repeated for additional credit.

Pre-requisites:
(CIS 2168|Minimum Grade of C|May not be taken concurrently)
AND (CIS 3207|Minimum Grade of C|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2109|Minimum Grade of C-|May be taken concurrently
OR CIS 4331|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently
OR CIS 2173|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 1022|Minimum Grade of C-|May not be taken concurrently
OR MATH 1038 to 4999| Required Courses:1|Minimum Grade of C-|May not be taken concurrently
OR MC6 Y|May not be taken concurrently
OR MA04 Y|May not be taken concurrently
OR MC6A Y|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2107|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2168|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2107|Minimum Grade of C-|May not be taken concurrently
OR CIS 2229|Minimum Grade of C-|May not be taken concurrently).

CIS 3342. Networked Application Systems. 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: For Information Science and Technology 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: Information Science & Technolo

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2109|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3309|Minimum Grade of C-|May not be taken concurrently).

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:
(CIS 2109|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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:
(CIS 2109|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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 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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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:
(CIS 2107|Minimum Grade of C-|May not be taken concurrently
OR CIS 2229|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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:
(CIS 2166|Minimum Grade of C-|May not be taken concurrently
OR MATH 2101|Minimum Grade of C-|May not be taken concurrently
OR ENGR 2011|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1051|Minimum Grade of C-|May not be taken concurrently
OR CIS 1057|Minimum Grade of C-|May not be taken concurrently
OR CIS 1068|Minimum Grade of C-|May not be taken concurrently
OR CIS 1968|Minimum Grade of C-|May not be taken concurrently).

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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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:
CIS 3309|Minimum Grade of C-|May not be taken concurrently.

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:
CIS 3309|Minimum Grade of C-|May not be taken concurrently.

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:
(CIS 2109|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3309|Minimum Grade of C-|May not 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.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Mathematics/Computer Science

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 3207|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3223|Minimum Grade of C-|May not be taken concurrently).

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.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Mathematics/Computer Science

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2166|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3207|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3223|Minimum Grade of C-|May not be taken concurrently).

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.

Field of Study Restrictions: Must be enrolled in one of the following Fields of study: Computer & Information Science, Computer Science, Mathematics/Computer Science

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 3207|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3223|Minimum Grade of C-|May not be taken concurrently).

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:
(CIS 3207|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently).

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:
(CIS 2168|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently).

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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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

This course is not offered every Fall.

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:
(CIS 2107|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently).

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:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 3309|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2168|Minimum Grade of C-|May not be taken concurrently).

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, Mathematics/Computer Science, Mathematics & Comp Sci w/Teach

Repeatability: This course may be repeated for additional credit.

Pre-requisites:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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, Mathematics/Computer Science, Mathematics & Comp Sci w/Teach

Repeatability: This course may be repeated for additional credit.

Pre-requisites:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
CIS 2109|Minimum Grade of C-|May not be taken concurrently
OR CIS 4331|Minimum Grade of C-|May not be taken concurrently.

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2229|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3309|Minimum Grade of C-|May not be taken concurrently).

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
CIS 2168|Minimum Grade of C-|May not be taken concurrently.

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.

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 2229|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3329|Minimum Grade of C-|May not be taken concurrently).

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:
(CIS 4296|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 3342|Minimum Grade of C-|May not be taken concurrently
OR CIS 4342|Minimum Grade of C-|May not be taken concurrently).

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

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

Students undertake research under the supervision of a CIS faculty member. The research project must be approved by the chair of the Computer Science undergraduate program. Students must apply by 11/15 for Spring and 4/15 for Fall; minimum requirements include a 3.0 GPA overall and a 3.3 GPA in the major as well as readiness for CIS 4398. Students are strongly urged to take an independent study with their research professor prior to enrolling in this course. NOTE: (1) This course can be used to fulfill the capstone requirement. (2) 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 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.

Class Restrictions: Must be enrolled in one of the following Classes: Senior 90 to 119 Credits, Senior/Fifth Year 120+ Credits

Course Attributes: WI

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
(CIS 3238|Minimum Grade of C-|May not be taken concurrently
OR CIS 3287|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not 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:
CIS 3515|Minimum Grade of C-|May not be taken concurrently.

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:
(CIS 2168|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently
OR MATH 2101|Minimum Grade of C-|May not be taken concurrently
OR ENGR 2011|Minimum Grade of C-|May not be taken concurrently
OR MATH 3045|Minimum Grade of C-|May not be taken concurrently).

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:
(MATH 2043|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently
OR MATH 2101|Minimum Grade of C-|May not be taken concurrently
OR ENGR 2011|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 3031|Minimum Grade of C-|May not be taken concurrently
OR ECE 3522|Minimum Grade of C-|May not be taken concurrently
OR STAT 2103|Minimum Grade of C-|May not be taken concurrently
OR BIOL 3312|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1051|Minimum Grade of C-|May not be taken concurrently
OR CIS 1057|Minimum Grade of C-|May not be taken concurrently
OR CIS 1068|Minimum Grade of C-|May not be taken concurrently).

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:
(MATH 2043|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently
OR MATH 2101|Minimum Grade of C-|May not be taken concurrently
OR ENGR 2011|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 3031|Minimum Grade of C-|May not be taken concurrently
OR ECE 3522|Minimum Grade of C-|May not be taken concurrently
OR STAT 2103|Minimum Grade of C-|May not be taken concurrently
OR BIOL 3312|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1051|Minimum Grade of C-|May not be taken concurrently
OR CIS 1057|Minimum Grade of C-|May not be taken concurrently
OR CIS 1068|Minimum Grade of C-|May not be taken concurrently).

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

This course is typically offered in Fall.

The course objective is to provide students with an understanding of the principles and techniques used in the design and analysis of efficient algorithms. The main topics cover Greedy Algorithms, Divide and Conquer, Dynamic Programming, Network Flow, and Approximation Algorithms. Theoretical results related to NP-completeness will also be discussed. 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:
(MATH 2043|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 2166|Minimum Grade of C-|May not be taken concurrently
OR MATH 2101|Minimum Grade of C-|May not be taken concurrently
OR ENGR 2011|Minimum Grade of C-|May not be taken concurrently)
AND (MATH 3031|Minimum Grade of C-|May not be taken concurrently
OR ECE 3522|Minimum Grade of C-|May not be taken concurrently
OR STAT 2103|Minimum Grade of C-|May not be taken concurrently
OR BIOL 3312|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 1051|Minimum Grade of C-|May not be taken concurrently
OR CIS 1057|Minimum Grade of C-|May not be taken concurrently
OR CIS 1068|Minimum Grade of C-|May not be taken concurrently).

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:
CIS 3319|Minimum Grade of C-|May not be taken concurrently
OR CIS 4378|Minimum Grade of C-|May not be taken concurrently.

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:
(CIS 2229|Minimum Grade of C-|May not be taken concurrently)
AND (CIS 4378|Minimum Grade of C-|May not be taken concurrently).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CIS 5105. IT Process Management. 3 Credit Hours.

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

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

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

CIS 5106. System Development Processes. 3 Credit Hours.

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

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

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

CIS 5107. Comp Systems Security&Privacy. 3 Credit Hours.

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

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

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

CIS 5108. Emerging Technologies. 3 Credit Hours.

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

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

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

CIS 5208. Knowledge Management. 3 Credit Hours.

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

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

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

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

An intermediate level graduate special topics course in current and emerging developments in information systems and technology. Note: This is an MS/IST course. No credit for Graduate CS programs. This course is repeatable for credit.

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

Repeatability: This course may be repeated for additional credit..

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

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

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

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

CIS 5275. Software Project Management. 3 Credit Hours.

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

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

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

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

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

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

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

CIS 5303. Usability Engineering. 3 Credit Hours.

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

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

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

CIS 5304. Network Technologies. 3 Credit Hours.

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

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

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

CIS 5306. Software Engineering. 3 Credit Hours.

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

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

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

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

An advanced level graduate special topics course in current and emerging developments in the field of information systems and technology. Note: This is an MS/IST course. No credit for Graduate CS programs. This course is repeatable for credit.

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

Repeatability: This course may be repeated for additional credit..

CIS 5511. Programming Techniques. 3 Credit Hours.

Prerequisites: CIS 2168 and CIS 3223.

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

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

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

CIS 5512. Operating Systems. 3 Credit Hours.

Prerequisites: CIS 3207 and CIS 3223.

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

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

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

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

Prerequisites: CIS 2166 and CIS 3242.

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

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

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

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

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

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

Repeatability: This course may not be repeated for additional credits

Pre-requisites:
CIS 5511|Minimum Grade of C|May not be taken concurrently.

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

Prerequisites: CIS 5511 (or 8511).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CIS 5525. Neural Computation. 3 Credit Hours.

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

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

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

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

CIS 5526. Machine Learning. 3 Credit Hours.

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

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

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

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

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

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

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

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

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

CIS 5535. Probabilistic Graph Models. 3 Credit Hours.

Prerequisites: CIS 2033 and CIS 3223.

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

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

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

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

Prerequisites: CIS 2033.

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

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

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

CIS 5543. Computer Vision. 3 Credit Hours.

Prerequisites: CIS 2033 and CIS 3219 and CIS 3223.

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

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

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

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

Prerequisites: Special authorization required.

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

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

Repeatability: This course may be repeated for additional credit..

CIS 5603. Artificial Intelligence. 3 Credit Hours.

Prerequisites: CIS 2166 or MATH 3098, and CIS 2168 and CIS 2033.

Since today's AI is mostly learning and inference, we will focus on both subjects. This course is designed as the first graduate course in learning and inference. It introduces the basic concepts by focusing on their intuitive understanding and algorithmic perspective. It is intended to prepare beginning graduate students for further graduate courses in machine learning, data mining, robotics, and computer vision. The course project will focus on programming and practical experiments with our high end robot PekeeII from Wany Robotics.

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

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

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

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

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

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

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

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

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

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

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

CIS 5636. Ad Hoc Networks. 3 Credit Hours.

Prerequisites: CIS 3223, and CIS 4319 or 4329.

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

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

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

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

Prerequisites: CIS 3329 or CIS 4319 or CIS 5003.

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

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

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

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

Prerequisites: CIS 3207 and CIS 3223.

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

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

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

CIS 5642. Computer Architecture. 3 Credit Hours.

Prerequisites: CIS 2168 and CIS 3207.

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

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

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

CIS 5644. Distributed Systems. 3 Credit Hours.

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

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

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

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

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

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

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

Repeatability: This course may be repeated for additional credit..

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

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

Department restrictions: Must be enrolled in one of the following Departments: CST:Computer & Info Sci
Level Registration Restrictions: Must be enrolled in one of the following Levels: Graduate
College Restrictions: Must be enrolled in one of the following Colleges: Science & Technology

Repeatability: This course may be repeated for additional credit..

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

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

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

Repeatability: This course may be repeated for additional credit..

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

Prerequisites: Permission of instructor.

Topics to be decided individually.

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

Repeatability: This course may be repeated for additional credit..

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

Prerequisites: CIS 5511 or 8511.

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

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

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

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

Prerequisites: CIS 5511 or 8511.

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

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

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

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

Prerequisites: CIS 5511 (or 8511) and CIS 5513 (or 8513).

General techniques for developing algorithms. Divide and conquer Greedy dynamic programming. Search and traverse. Backtracking. Branch and Bound. Some theoretical results will be discussed, for example, those relating to NP - completeness.

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

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

CIS 9618. Web Applications Development. 3 Credit Hours.

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

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

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

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

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

Prerequisites: CIS 5603 or 8603.

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

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

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

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

Prerequisites: Basic knowledge in Data Base Systems (CIS 5516 or 9616); programming skills; basic statistics, graph theory, & linear algebra.

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

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

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

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

Prerequisites: CIS 5516 or 9616.

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

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

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

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

Prerequisites: CIS 5617 or 9617.

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

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

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

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

Prerequisites: CIS 9618.

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

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

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

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

Prerequisites: CIS 5617 or 9617.

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

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

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

CIS 9991. Project in Computer Science. 1 to 3 Credit Hour.

Project to be carried out under the direction of a faculty member.

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

Repeatability: This course may be repeated for additional credit..

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

Preparation for the Preliminary Examinations after coursework completion.

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

Repeatability: This course may be repeated for additional credit..

CIS 9995. Master Research in IS&T. 3 Credit Hours.

This is a required capstone elective course for the MS in IS&T program. It is designed to ensure that all MS in IS&T graduates have had a one semester group learning project experience implementing of an information system for an external client. In special, approved cases, special projects and/or a research paper may be substituted for the project. The course may be counted at most once toward the MS in IS&T degree.

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

Repeatability: This course may be repeated for additional credit..

CIS 9996. Thesis in Computer Science. 1 to 6 Credit Hour.

Thesis to be carried out under the direction of a Graduate Faculty member. Total of 6 credits required.

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

Repeatability: This course may be repeated for additional credit..

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

Following coursework and passing of the Preliminary Examinations, students work with their advisors on the dissertation proposal.

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

Repeatability: This course may be repeated for additional credit..

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

All Ph.D. candidates must enroll in this course for at least one to three credit hours each semester until the successful completion of the dissertation. Minimum of 6 credits of CIS 9999 are required.

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

Repeatability: This course may be repeated for additional credit..