Computer and Information Sciences (CISC)

CISC MTNC. MAINTENANCE-COMP.SCIENCE. (0 Credits)

CISC 0900. COMPUTER SCIENCE SEMINAR. (0 Credits)

CISC 0912. REQUIREMENT PREPARATION. (0 Credits)

For Ph.D. and Master's students, registration necessary to maintain continuous enrollment while preparing for a milestone requirement, such as comprehensive exam, Master's thesis, or dissertation submission.

Attribute: Z410.

CISC 0914. REQUIREMENT PREPARATION IN SUMMER. (0 Credits)

For Ph.D. and Master's students, registration necessary to maintain continuous enrollment while preparing for a milestone requirement during the summer. (e.g., to be used by Ph.D. students after the oral examination/defense and prior to receiving the degree).

CISC 1100. STRUCTURES OF COMPUTER SCIENCE. (3 Credits)

An introductory course in the discrete structures used in computer and information technology. Emphasis will be placed on the ability to solve problem and develop logical thinking. Topics such as sets, functions, elementary combinatorics, discrete probability, logic, Boolean algebra, recursion and graphs will be covered through the use of algorithmic and concrete construction. The learned materials are reinforced by computer laboratory assignments. This course also fulfills the Mathematical Reasoning requirement of the Core Curriculum.

Attribute: MCR.

CISC 1250. COMPUTER APPLICATIONS. (3 Credits)

Introductory course designed for the beginning students. It will define the scope of the discipline, acquainting the students with modern computing. Topics include introduction to programming, database use, accessing the Internet, construction of World Wide Web home pages and email, using ACCESS, EXCEL and MS Windows.

CISC 1400. DISCRETE STRUCTURES. (4 Credits)

This course covers basic materials in discrete structure and algorithms which are used in computing science, information technology, and telecommunications. Topics include sets, permutation/combinations, functions/relations/graphs, sum/limit/partition, logic and induction, recursion/recurrence relation, system if equations and matrices, graphs/digraphs/networks, searching and sorting algorithms, database structure and data analysis. Practical examples of applications will be shown and programming will be used to reinforce understanding of the concepts. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: MCR.

CISC 1401. DISCRETE STRUCTURES. (3 Credits)

This course covers basic material in discrete structure and algorithms which are used in computing science, information technology, and telecommunications. Topics include sets, permutation/combinations, functions/relations/graphs, sum/limit/partition, logic and induction, recursion/recurrence relation, systems of equations and matrices, graphs/digraphs/networks, searching and sorting algorithms, data structure and data analysis. Practical examples of applications will be shown and programming will be used to reinforce understanding of the concepts. The technical material will be presented within the context of understanding how this material servers as the foundation for computer science and its’ resulting technologies. Particular focus will be placed on internet queries and social networks.

Attributes: EP1, MANR, MCR.

CISC 1450. INTRODUCTION TO WEB PROGRAMMING. (3 Credits)

Introduces students to the world of computer science, information technology, and communication science through the Internet and World Wide Web. No programming background is required. We will focus on areas such as Web design, internet communications, and appications.

CISC 1600. COMPUTER SCIENCE I. (3 Credits)

Introductory course designed for the beginning students. It will define the computing concepts using a high-level programming language. Emphasis will be placed on program design, coding, debugging and documentation of programs. This course together with Structures of Computer Science (CS 1100) serve as the introductory courses for both the computer science and the computer systems management applications major.

Attribute: MCR.

Corequisite: CISC 1610.

CISC 1610. COMPUTER SCIENCE I LAB. (1 Credit)

A series of programming and laboratory assignments to reinforce the materials learned in CISC 1600.

Corequisite: CISC 1600.

CISC 1800. INTRODUCTION TO COMPUTER PROGRAMMING. (3 Credits)

This course introduces stuents to the foundational knowledge in computing and programming via a scripting languages such as Python. This course covers the following topics: principles of computing, control structures, functions, recursion, file systems, web applications, and object-oriented programming. The students will learn how to apply computing concepts, structures and algorithms to solve real world problems.

CISC 1810. INTRODUCTION TO COMPUTER PROGRAMMING LAB. (1 Credit)

Introduction to computer programming LAB : to reinforce the materials learned in CISC 1800.

Corequisite: CISC 1800.

CISC 1999. TUTORIAL. (1 Credit)

CISC 2000. COMPUTER SCIENCE II. (3 Credits)

A second-level programming course with concentration on object-oriented programming techniques. Topics include: classes, subclasses and inheritance, polymorphism; class hierarchies; collection classes and iteration protocols.

Corequisite: CISC 2010.

Prerequisite: CISC 1600.

CISC 2010. COMPUTER SCIENCE II LAB. (1 Credit)

A series of programming and laboratory assignments to reinforce the materials learned in CISC 2000.

Attribute: ZLB3.

Corequisite: CISC 2000.

CISC 2011. PROGRAMMING FOR MATH AND SCIENCE. (4 Credits)

Basic Python programming and scripting and basic algorithms of linear algebra. Students will develope their own Python implementations of these algorithms, which form the basis of many computational methods in the sciences. The course is accessible to students in the physical and social sciences, computer science and math. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 2020. BIOMEDICAL INFORMATICS. (3 Credits)

Advances in microarrays, recombinant DNA technologies, genome sequencing and imaging technologies have been creating huge amounts of data in biological and medical research. Computing and information science have been advancing rapidly with a variety of applications in humanities, social sciences, finance and natural sciences. This course explores the interaction of the two, illustrates the principles of biomedical informatics and introduces methods of genomics, proteomics, genomic medicine and pharmocogenomics. This course is supplemented by the lab course CISC 2021.

CISC 2021. BIOMEDICAL INFORMATICS LAB. (2 Credits)

In conjunction with CISC 2020: Biomedical Informatics, this course covers the following sequence of wet and dry laboratory sessions: DNA purification, genotyping using PCR, Y2H, in vitro transcription and translation, and protein on the gel; data bases and real time information retrieval, BLAST, and gene alignment, protein structure prediction, phylogenetics, microarray gene expression and virtual screening and drug discovery.

CISC 2100. DISCRETE STRUCTURES II. (3 Credits)

Students will study fundamental mathematical structure and logic principles that are essential to computer science. Students will develop a sound foundation upon which to build a deeper understanding of the elements of computing. Predicate logic, proof techniques, and essential topics in calculus and discrete probability will be covered. Problems and examples will be drawn from various subjects of computer science and programming activities will be introduced to reinforce the learning and application of mathematical subjects. 3.000 Credit hours.

Corequisite: CISC 2110.

CISC 2110. DISCRETE STRUCTURES II LAB. (1 Credit)

Discrete Stucture II LAB : to reinforce the materials learned in CISC 2100.

Corequisite: CISC 2100.

CISC 2200. DATA STRUCTURES. (4 Credits)

A survey and analysis of the major types of structure in programs that handle data: arrays, stacks, queues, linked lists, trees and graphs; recursive, iterative, search and sort techniques. Methods of organizing and manipulating files will be referenced. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: FCRH.

Prerequisite: CISC 2000.

CISC 2201. SYSTEMS ANALYSIS. (4 Credits)

Analysis and design of computerized information systems. Topics include planning and design of information systems, configuration analysis, cost analysis, proposal development. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 2261. COMPUTER GRAPHICS APPLICATIONS. (4 Credits)

Computer graphics is widely used in many fields, including data visualization, engineering design, computer imaging and video gaming and other multimedia entertainment. This course is an introduction to computer-based graphical techniques. Basic programming and mathematical concepts related to computer graphics are covered as needed, assuming little or no background in these areas. The emphasis in this course will be on the hands-on implementation of software applications which employ graphics. Applications for laptop/desktop computers and for mobile devices will be covered. Topics covered will include bitmap filtering, color manipulation, shading, animation and three-dimensional projections. Application areas covered will include biomedical engineering, visual identification, engineering design and global positioning systems. Having taken this course, a student can expect to have a basic understanding of computer graphics and its widespread applications; they will be able to design simple computer graphics applications to suit their own objectives, and they will be able to implement and test these applications. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 2350. INFORMATION AND WEB PROGRAMMING. (4 Credits)

Using a process of incremental development, students will learn the latest technologies used in developing dynamic, database-driven websites. Principles of good web design will be covered, as well as techniques and languages for layout and scripting. The course is open to students of all backgrounds. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NMDD.

CISC 2500. INFORMATION AND DATA MANAGEMENT. (4 Credits)

This course will introduce the fundamentals of information storage, access and retrieval using a variety of structures, formats, and systems in computing, internet and information technologies. Projects and case studies will be drawn from the sciences, social sciences, arts and humanities and professional studies in medicine and health, business and commerce, justice and law, and education. Students will have hands-on experience in the acquisition and management of information from a diverse on-line and remote database. (e.g. Gene Bank, digital archives). Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: NMDD, URST.

CISC 2530. DIGITAL VIDEO AND MULTIMEDIA. (4 Credits)

This course introduces students to the technology of digital video and multimedia with special emphasis on the web and games. Topics covered include: digital representation of sound, images, video and graphics, compression, multimedia scripting, mixing graphics and video. Practical laboratory exercises include working with Javascript and integrated multimedia systems (e.g. Macromedia Director). Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NMDD.

CISC 2540. INTRODUCTION TO VIDEO GAME DESIGN. (4 Credits)

This course provides a gentle and fun introduction to the design and production of computer-based video games, for students with no prior programming experience. Students will learn principles of game design, and apply them to create an actual computer game. Students will also research aspects of games and/or the game industry, write term papers about their topics, and give presentations on them. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: COMM, DTEM, EP3, NMDD.

CISC 2850. COMPUTER AND DATA ANALYSIS. (4 Credits)

Over the past decade, methods for analyzing data and extracting useful information from data in several application domains have increasingly relied on "intelligent" computer systems. In this course we will review these methods and systems and apply them to real-world problems, using state-of-the-art data analysis/data mining tools including basic algorithms and statistics. It is intended for social sciences, business and other science majors who have a strong desire and/or urgent need to analyze data using computers in their disciplines and at work after graduation. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NMDD.

CISC 3020. COMPUTER GRAPHICS. (4 Credits)

A rigorous introduction to computer-based graphical techniques. Core programming and mathematical concepts related to computer graphics are covered as needed. The emphasis in this course will be on the hands-on implementation and synthesis of software applications which employ graphics. Applications for laptop/desktop computers developed within Visual Studio/VB.net  IDE environments will be synthesized and analyzed. Topics covered will include bitmap filtering, color manipulation, shading, animation and three-dimensional projections, optcode color composition and decomposition, resolution, interpolation, and coordinate transformations. After completing this course, students will be proficient in developing and implementing graphics modules, have an understanding of software and hardware interfaces relating to continuous accessing of visual screen objects, able to understand GUI interfaces, and have a working knowledge of the major mechanisms which comprise 2-d and 3-d computer graphics development which include animation, projection and color migrations. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3060. INTRODUCTION TO ROBOTICS. (4 Credits)

This class is an introduction to robotics and AI for students with a background in programming. Students will work in small groups to build and program robots from kits. They will learn the basics of embedded programming, using sensor information to control motor activity for a variety of tasks such as wall following, obstacle avoidance, and simple navigation of a maze. Students will learn algorithms and data structures for representing and reasoning about space and motion, for working in robot teams, and for planning to achieve a goal. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3130. UNIX SYSTEMS PROGRAMMING. (4 Credits)

An introduction to systems programming under the UNIX operating system, using the C and C++ programming languages. UNIX concepts include processes and scheduling, I/O and queues, and standard system utilities and functions. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 3250. SYSTEMS NEUROSCIENCE. (4 Credits)

This course studies integrative neuroscience from a holistic view at the systems and network level. It covers the cells of the nervous system and how they process information as well as the interconnection of neurons and how they aggregate information. It also covers networks of interactive networks or modules and how they produce cognitive functions and behavioral tasks such as vision, memory, perception and emotion. Computing and informatics techniques are used and various examples are illustrated using modeling, simulation, visualization and imaging modalities. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: BISC 1404 or NSCI 1404 and CISC 2500.

CISC 3270. HEALTH AND MEDICAL INFORMATICS. (4 Credits)

Databases , information systems, an computer-based approaches have greatly transformed the research of medicine and the practice of physicians in the proper diagnosis and management of patients with a variety of common diseases and disorders. This course will cover the development and evaluation of methods for managing medical data and the integration of diverse and multifaceted hardware and software systems to provide enhanced value in medicine and healthcare. Informatics is not only embraced for imaging and diagnosis but also for clinical practice, decision making, quality and safety, and clinical research. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3300. INTERNET AND WEB PROGRAMMING. (4 Credits)

This course covers web programming in the Internet and interactive environment. Students will gain understanding of operating system usage on a server and interactive web system design. Languages used include PERL, HTML, CGI and JAVA script. (Formerly titled Programming for the Web). Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 3400. JAVA PROGRAMMING. (4 Credits)

This course covers Java programming and internet computing with various applications. Topics include: Java programming, object-oriented programming, graphical user interfaces (GUI's), applets and applications, multimedia, files and streams, and server communications. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2200.

CISC 3500. DATABASE SYSTEMS. (4 Credits)

This course begins with the introduction of the characteristics of the data base approach and the advantages of using data base systems. Course topics include the basic concepts and architecture of data base systems, the Relational Data Model concepts, integrity constraints, schemas, views, SQL, data modeling using the Entity-Relationship (ER) model as well as using the Enhanced ER model, UML diagram, practical data base design methodology, normalization process, physical design and system implementation and tuning. Data base security issues will also be discussed. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 3580. CYBERSECURITY AND APPLICATIONS. (4 Credits)

This course provides an introduction to cybersecurity concepts, technologies, and related applications. It covers cybersecurity basics, public and private key cryptosystems, access control, firewalls, security protocols, malware detection, cyber attacks, and related topics. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3593. COMPUTER ORGANIZATION. (4 Credits)

A further look at the design of a computer system, including instruction decoding and execution, memory organization, caching, I/O channels and interrupt systems. RISC and CISC paradigms. Microcoding, pipelining, multiple instruction issue and multiprocessing. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 1600 and CISC 1100 or CISC 1400.

CISC 3595. OPERATING SYSTEMS. (4 Credits)

The objective is to develop an understanding of the role of operating systems in the management of the hardware used to process application programs. Problems of resolving deadlock, exclusion, and synchronization, and inter-process communication, queuing, and network control are covered. Topics include: memory management, device management, interrupt systems and systems programming. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 3593 and CISC 2200.

CISC 3598. SOFTWARE ENGINEERING. (4 Credits)

Emphasis is placed on software design process, software implementation, software testing and maintenance. System and software planning, requirement analysis and software concept will be discussed. Topics covered include detailed design tools, data structure-oriented design, program design, program implementation and testing. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2200.

CISC 3600. SECURE CYBER NETWORKS. (4 Credits)

This course covers the essentials of designing and building a secure local area network, incorporating all elements of the seven layers of ISO-OSI Model. Students will learn the capabilities, limitations, and vulnerabilities of a cyber network. Students will gain hands-on experience by implementing a secure network environment that is robust in preventing various adversary actions including, among others, extreme backing and virus propagation. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 3650. FORENSIC COMPUTING. (4 Credits)

Computing and digital technology has transformed society and the way we live. Today, our world is filled with an array of complex multi processing and interconnected machines that we have all become accustomed to. This course studies technologies and practices for investigating the use, misuse and the adversarial potential of computing systems and digital devises. It will provide insight into the digital forensics and legal world, emphasized with practical lab projects. (Pre-req: CISC 1600) Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 1600.

CISC 3760. FCLS HONORS: MIND, MACHINES. (4 Credits)

This course will be grounded by examining the question of computation and how it relates to cognition, while exploring perspectives of intelligence as it relates to machines. The course will draw on supporting documents from history, psychology, economics, philosophy and literature. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 3800. INTERNSHIP COMPUTER SCIENCE. (3 Credits)

CISC 3850. INFORMATION RETRIEVAL SYSTEMS. (4 Credits)

The basic concepts and principles of information retrieval, covering the definition, nature and needs of information systems. Course topics include the design of IRLs, algorithms for document and request translation, natural to descriptor language transformation, semantic information data base organization and feedback problems in information retrieval systems. Application in MIS and expert systems will be discussed. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: NMDD.

Prerequisite: CISC 1600.

CISC 3999. TUTORIAL. (3 Credits)

Independent research and readings with supervision from a faculty member.

CISC 4001. COMPUTERS AND ROBOTS IN FILM. (4 Credits)

This course will examine how historical, socio-economic and psychological factors impact the portrayal of robots and computers in film. The course will focus on a small number of key questions, such as: why are computers and robots so often portrayed as trying to take over the world and what is the role of humans in our increasingly computerized society. The class will require the viewing of 10-15 films and extensive class discussion of these films. This course satisfies the ICC requirement. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: AMST, COMC, COMM, DTEM, ICC, NMDD.

CISC 4006. BRAINS AND BEHAVIOR IN BEASTS AND BOTS. (4 Credits)

This course is an interdisciplinary, comparative study of human, animal and robot behavior, in which both Psychological and Computer Science disciplines provide mutually enriching and contrasting ways to understand behavior. This course will focus on several key questions and issues in natural animal and human behaviors taken in relation to the ‘designed’ behaviors of single and multiple robot systems as well as to human-robot behaviors. It offers students a hands-on opportunity to design and build robot behaviors using robotics kits – an Engineering or Computer Science perspective, and then experimentally evaluate behaviors and compare with similar human and animal behaviors, a Psychological perspective. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: ICC.

CISC 4020. BIOINFORMATICS. (4 Credits)

This course involves the study of the sequence, structure and function of genes and proteins in all living organisms. The machine learning, data mining, information fusion and computational techniques for analyzing large biological data sets will be presented. Topics include: genomics, proteomics, phylogenetics, microarray and gene expression, disorder and disease, virtual screening and drug discovery, databases, data mining, and ethical, societal, and legal issues. This course will have a laboratory component and exercises. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4080. COMPUTER ALGORITHMS. (4 Credits)

The study of a broad variety of important and useful algorithms for solving problems suitable for computer implementation. Topics include mathematical algorithms, sorting and searching, string processing, geometric algorithms, graph algorithms, combinatorial optimization techniques, and other advanced topics; average and worst-case analysis, time and space complexity, correctness, optimality, and implementation. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2200 and CISC 2100 or MATH 2001.

CISC 4090. THEORY OF COMPUTATION. (4 Credits)

An introduction to the classical and contemporary theory of computation: finite state automata and regular expressions, context-free languages and pushdown automata, computability by Turing machines and recursive functions; undecideability problems and the Chomsky hierarchy; introduction to computational complexity theory and the study of NP-complete problems. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2200 and (CISC 2100 or MATH 2001).

CISC 4400. MOBILE DEVICE PROGRAMMING. (4 Credits)

This course provides a hands-on introduction to mobile device (smartphone, tablet) programming, with a focus on Android based devices. Based on conceptual understanding of the Android operating system and its API frameworks, students practice with Android application development through projects with features including user interface design, multimedia, web application, sensor access, and networking. Design criteria such as energy awareness, security, and privacy will be emphasized in all projects. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 2000 or CISC 3400.

CISC 4510. COMPUTER SECURITY SYSTEMS. (4 Credits)

Topics include vulnerabilities of operating systems and data bases, types of attacks, hardware aids, administrative responsibilities, classical and public- key encryption, and disaster recovery and planning. Pre-req CISC 2200 required or by permission. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 4500.

CISC 4515. ADVANCED DATABASE SYSTEMS. (4 Credits)

Emphasis is placed on effective data base design. Topics include concurrency control, recovery techniques, security, and integrity considerations. Concepts and design principles, distributed data base systems, and data base machines will also be presented. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisites: CISC 3500 or CISC 2200.

CISC 4597. ARTIFICIAL INTELLIGENCE. (4 Credits)

Definition and rational of heuristic approach; cognitive processes; objectives and scope of artificial intelligence; general information processing and problem solving, including learning, representation, adaptation and use of knowledge; analysis and simulation of inductive and deductive process; natural language processing; robotics: man-machine interaction. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2000.

CISC 4615. DATA COMMUNICATIONS AND NETWORKS. (4 Credits)

The course presents the basic concepts of data communications: data transmission, data encoding, data link control, multiplexing, error detection techniques. It covers communication networking techniques: switching, protocols line control procedures, local networks. Communication carrier facilities and systems planning considerations will also be discussed. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2000.

CISC 4621. MACHINE LEARNING. (4 Credits)

This course covers methods, models and algorithms used in the exploratory data analysis and knowledge discovery of large-scale data sets and multi-model databases in complex living or artificial systems. Topics include induction logic reasoning, statistical inference, support vector machines, graph algorithms, neural networks, and evolutionary computation. Practical projects will be drawn from information engineering, computing and information retrieval. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2000.

CISC 4625. WIRELESS NETWORKS. (4 Credits)

This course covers the architecture, protocols, and applications of wireless communications and networks. Topics include: wireless networking, routing, standards including 802.11, Bluetooth and others; embedded operating systems, programming tools, power consumption, mobility, resource management, operating systems and security. Examples and experiments will be drawn from ad-hoc and sensor networks, wireless LAN, satellite networks, networking and human-machine interactions. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 4615.

CISC 4631. DATA MINING. (4 Credits)

This course introduces data mining methods for extracting knowledge from data. It balances theory and practice--the principles of data mining methods will be discussed, but students will also acquire hands-on experience using state-of-the-art software to solve real-world problems. Covered topics include: data preprocessing, classification and prediction (decision trees, neural networks, etc.), association analysis, and clustering. Additional specialized topics of interest may also be covered (e.g., web and text mining). Applications are drawn from a variety of areas, such as: marketing, business, economic forecasting, and bioinformatics. Non-majors are encouraged to take this course since the methods are applicable to a wide range of disciplines. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4641. WIRELESS SENSOR DATA MINING. (4 Credits)

This course surveys the emerging field of wireless sensor networks and in, the use of cell phones and other mobile devices as platforms for collecting sensor data. This class will also focus on how sensor data can be mined in order to produce useful knowledge. Topics will include geo-spatial data mining, automatic customization of devices, biometrics, and ubiquitous computing. Various sensor modalities will be studied, including accelerometer data, GPS data, audio data, image data and the data generated from a variety of scientific equipment. This research-oriented course will have students read 2-3 papers a week and write short summaries of each paper. Each student, working individually or in small groups, will be expected to work on a related course project. Android cell phones will be made available to students for collecting sensor data and for the course projects. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4650. CYBERSPACE: ISSUES AND ETHICS. (4 Credits)

The impact of computer information and communication technology on the way people act, think, live, behave and communicate will be studied. Students will be given hands-on experience of the Internet. Information and communication facilities such as the World Wide Web, gopher, chat groups and Bulletin boards are investigated. The course is designed to promote the student's awareness of and sensitivity to the ethical and social dimensions of living in the contemporary world, which is undergoing an information revolution. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: AMST, COMM, EP4, NMDD, SRVL, VAL.

CISC 4660. MINDS, MACHINES, AND SOCIETY. (4 Credits)

While assuming no mathematical or computer background, this course examines modern computing and its impact on society. Perceptions of technology are challenged while discovering how technology affects our daily interactions. The notion of computer intelligence is studied in depth and the effect of such technology on making both moral and practical decisions in the future is examined. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attributes: EP4, NMDD, VAL.

CISC 4700. NETWORK AND CLIENT SERVER. (4 Credits)

This course deals with network computing the client/server environment. Topics include: operation systems, network protocols, network architecture, network security and network computing using languages such as PERL, Visual Basic and Java. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Prerequisite: CISC 2200.

CISC 4750. SCIENTIFIC COMPUTATION USING MATLAB. (4 Credits)

An introduction to computer science concepts, programming skills, and algorithmic problem-solving in MATLAB. Assumes basic programming background. Design and analysis of numerical algorithms including numerical integration, numerical differentiation, curve fitting and differential equations. Introduction to Monte Carlo methods. Application of MATLAB in computational science and computational engineering. Solution of linear systems and eigenvalue problems. Complex numbers algebra Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

Attribute: EP3.

Prerequisites: CISC 1600 or MATH 1207.

CISC 4800. PROJECT AND INTERNSHIP. (4 Credits)

Students will work in teams on large projects selected from practical problems in the public or private sector. Students also gain on-job experience by working as interns in the field of computer science and information technology. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4900. SEMINAR AND DIRECTED STUDY. (4 Credits)

Students attend seminars given by outside professionals, read technical articles, and present their study under the guidance of the instructor. Student will gain state-of-the-art knowledge and information in computer and information science. Four-credit courses that meet for 150 minutes per week require three additional hours of class preparation per week on the part of the student in lieu of an additional hour of formal instruction.

CISC 4999. TUTORIAL. (1-4 Credits)

Juniors or seniors may undertake independent study if their topics are approved by the professor and the program facilitator.

CISC 5009. NETWORK ESSENTIALS. (3 Credits)

This graduate course covers the essentials of designing, building and maintaining a local area network, incorporating all elements of the seven layers of the ISOOSI Model. Students will learn various aspects of networking fundamentals including TCP/IP, network topology, network design, hardware configuration, software configuration, installation, and maintenance. Students will gain handson experience by performing the tasks necessary to engineer a working network from the ground up.

CISC 5030. INTERNET & WEB PROGRAMMING. (3,4 Credits)

This course covers web programming in the internet and interactive environment. Students will gain understanding of operating system usage on a server and interactive web design. Languages used will include PERL, HTML, CGI,and JavaScript.

CISC 5100. FOUNDATIONS OF COMP SCI. (3 Credits)

This course is designed to give a solid foundation for the study of computer science at the graduate level. It covers a wide variety of subjects including recursion and induction, analysis of algorithms, graph theory, pattern searching and processing, logic, complexity and optimization.

Attribute: ZLB3.

CISC 5109. BIG DATA ANALYTICS. (3 Credits)

This course focuses on solving big data analytics problem in real world such as finance, healthcare, and social media, by applying state-of-the-art big data analytics techniques and tools. It also aims to fostering and enhancing students’ data analytics and software development capabilities in handling big data. After taking this class, students should be able to employ big data management and analytics tools to conduct problem solving and investigation in big data fields. The following topics will be covered in this class: Principle of big data analytics, Apache Spark, Spark machine learning, high-frequency trading, EHR and TGGA data mining, social network data analytics, and big data visualization techniques, etc. This course assumes students grasp at least one programming language (e.g. Python/R)

CISC 5200. COMPUTER LANGUAGE THEORY. (3,4 Credits)

An introduction to computer language theory; finite state automata and regular expressions, pushdown automata and context-free languages, Turing machines, undecidability problems and Chomsky hierarchy; and an introduction to computer complexity and the study of NP-complete problems.

Attribute: ZLB3.

CISC 5220. DATA STRUCTURES. (3 Credits)

This course provides a survey and analysis of the major types of structures in programs that handle data; arrays, stacks, queues, linked lists, trees and graphs. Recursive, iterative, search and sorting techniques are also studied. This "bridge" course is intended for graduate students lacking an undergraduate CS degree and will not be counted toward the requirements for the MSCS degree.

CISC 5250. COMPUTER ORGANIZATION. (3 Credits)

Study of the design of a computer system, including instruction decoding and execution, memory organization, caching, I/O channels and interrupt systems. RISC and CISC paradigms. Microcoding, pipelining, multiple instruction issue and multiprocessing.

CISC 5300. COMPUTER PROGRAMMING C++. (3 Credits)

C and C++ programming: The course will focus on object-oriented programming using C++. Topics include objects, methods, Abstraction, Encapsulation, Inheritance and Polymorphism. Particular emphasis will be given to real-life programming problems.

CISC 5350. FINANCIAL PROGRAMMING. (3-4 Credits)

This is an introductory programming course using C++ that features the object-oriented language, in addition to data structures. The basics of programming, including data types, pointers, arrays, control structures, and functions are covered. The course then continues to more advanced topics such as dynamic memory managements, data structures, the Standard Template Library, and object -oriented programming: classes (encapsulation), inheritance, and virtual functions (polymorphism). Programming examples and exercises will be drawn from the field of finance. Additional topics inclulde: an introduction to design patterns, as well as relational database programming with SQL.

CISC 5352. FINANCIAL PROGRAMING AND APPLICATIONS. (3 Credits)

This course aims at developing students’ capabilities in financial programming. It assumes prior knowledge of C++ programming. The topics in this class include foundations of financial programming, financial models and its implementations (e.g., ARCH, ARMA), algorithmic trading, machine learning methods in algorithmic trading, high frequency financial data analytics, post-trade profitability analysis, financial big data analytics (TAQ), and Monte Carlo Simulations. After taking this class, students should be able to implement complex financial models, develop trading algorithms, and develop financial trading and business analytics software.

CISC 5380. PROGRAMMING WITH PYTHON. (3 Credits)

Thi s course aims to equi student s with fundatmental problem - solving skills and program implementation using Python. Topics covered include: principles of programming, like systems, control structure, functions, recursion , sorting, web and web search, ect. The students will work on large programming projects and precent them in class .

CISC 5400. DISCRETE STRUCTURES. (3,4 Credits)

An introduction to Discrete Mathematics; propositional and predicate logic, first and second principle of mathematical induction, sets, counting, inclusion/exclusion principle, binomial theorem, relations and functions, introduction to matrix algebra, introductory graph theory.

CISC 5410. MOBILE DEVICE PROGRAMMING. (3 Credits)

This course provides a hands-on introduction to mobile device (smartphone, tablet) programming. Students will learn about mobile operating systems and API frameworks and will develop mobile programs with an emphasis on user interface design, multimedia, web application, sensors, and networking. Design criteria such as energy awareness, security, and privacy will be emphasized.

CISC 5420. APPLIED STATISTICS & PROBABILITY. (3 Credits)

This course provides an introduction to applied statistics and probability theory. It is intended for students who may have some basic background in probability, at the level of CISC 5400 Discrete Structures, but not a full semester course in statistics. This course will cover discrete random variables, probability distributions, sampling schemes, the central limit theorem, confidence intervals, hypothesis testing, correlation analysis, and Analysis of Variance (ANOVA). Students will also gain experience using a statistical package.

CISC 5500. DATA ANALYTICS TOOLS&SCRIPTING. (3 Credits)

Data Analytics involves many steps: data has to be acquired, preprocessed, visualized, and possibly transformed into a different representation before it can be analyzed. This foundational class provides the practical knowledge and skills to handle all of these steps. A variety of tools and techniques will be introduced and applied for fetching data (e.g., scraping web pages) and manipulating data. Scripting languages and general purpose languages suitable for these purposes will be covered (e.g., Linux shell, PERL, Python). A number of data mining and data analytic tools will also be introduced, which may include tools such as Matlab, R, and Python, and important Python libraries will be covered (e.g. Numpy). Hands- on exercises will be provided throughout the course. This class will provide the skills necessary to excel in data analytics. It is geared toward graduate students in Data Analytics, but is appropriate for other Computer Science graduate students and graduate students in other fields that rely on data analysis. Basic familiarity with computer programming is expected. Prerequisites: CISC 5300 Computer Programming or equivalent.

CISC 5520. PROGRAMMING LANGUAGES. (3 Credits)

This course introduces the basic concepts behind programming languages, illustrating those concepts with concrete examples, and exploring the reason why languages were designed in certain ways. Languages using static and dynamic typing and functional and object-oriented languages are compared. Students completing this course will be able to learn new programming languages quickly and choose the most appropriate language for a given task. Students will be exposed to several diverse programming languages.

CISC 5550. CLOUD COMPUTING. (3 Credits)

This course provides the needed knowledge to understand the technologies and services that enable cloud computing, discuss different types of cloud commutating models and investigate security and legal issues associated with clod computing. Topics include Cloud infrastructure components and the interfaces; Essential Characteristics of Cloud Platform; Common Deployment Modes; Techniques for deploying and scaling cloud resources; and Security implication of cloud resources.

CISC 5595. OPERATING SYSTEMS. (3 Credits)

This course studies how operating systems manage computer hardware, thereby supporting application programs. Topics covered include multiprogramming, synchronization, inter-process communication, memory management, file systems and I/O device management. The concepts and theories presented in this class are reinforced by actual system programming projects.

CISC 5640. NOSQL DATABASE SYSTEMS. (3 Credits)

This class will introduce the students to the core concepts of NoSQL, followed by an exploration of how different database technologies implement these core concepts and hands-on projects with representative systems in each category to manage some real world datasets.

CISC 5650. CYBER SECURITY ESSENTIALS. (3,4 Credits)

This course provides a holistic perspective on the structure of the cyber space ecosystem, the interoperability of the physical and social networks, and methods and techniques in building a functional cyber space which is secure and sustainable. Topics include global networking and communication, data mining and information fusion, secure cyber network and intrusion detection, forensic computing and investigation, incident response and risk management, security and privacy, security and privacy, and policy and assurance. The course also features expert lectures and case-based projects on cyber security in several areas including health care, finance, media, government, defense, and critical infrastructures.

CISC 5700. COGNITIVE COMPUTING. (3 Credits)

This course covers method, practices and apprections of cognitive computing. Topics include: structured vs. unstructured information management, data correlation vs. information diversity, concepts vs. keyword search, description vs. predictive analysis, NLP and semantic integration, deep Q&A, and computing data rest vs. in motion.

CISC 5725. NETWORK ADMINISTRATION. (3 Credits)

Provides and introduction to system administration tools and principles. Students will learn how to set up a Local Area Network through hubs, switches, and routers. (wired or wireless), and will learn how to configure a network server to provide common services such as HTTP, DNS, and secure remote access. There will be a strong emphasis on laboratory work and students will work in groups to complete a series of network administration projects.

CISC 5728. Security of e-Systems and Networks. (3 Credits)

This course deals with the fundamental concepts and tools of security of e-based systems and networks and its range of applications. Among the topics to be covered in this course include: security of e-commerce, e-business, e-service, e-government, authentication of users, system integrity, confidentiality and digital signature, e-security tools such as public key infrastructure (PKI) systems, bio-metric-based security systems, trust management systems in communications networks, intrusion detection systems, protecting against malware and computer network security risk management.

CISC 5750. INFORMATION SECURITY AND ETHIC. (3,4 Credits)

The goal of this course is to give students a comprehensive introduction to information security and its applications in relations to ethics. It covers topics in cryptography, access control, network and operating system securities, software security, database security, cyberlaw and ethics. The students are assumed to have basic knowledge in programming and discrete structures.

CISC 5800. MACHINE LEARNING. (3 Credits)

This course covers theory, algorithms, and applications of constructing computer programs that can learn, and improve with prior knowledge and existing experience. Topics include: learning problems and systems, concepts learning, learning decision trees and neural networks, ML from statistical, Bayesian, ect.

CISC 5825. COMPUTER ALGORITHMS. (3 Credits)

The study of a broad variety of important and useful algorithms for solving problems suitable for computer implementation. Topics include mathematical algorithms, sorting and searching, string processing, geometric algorithms, graph algorithms, combinatorial optimization techniques, and other advanced topics; average and worst-case analysis, time and space complexity, correctness, optimality, and implementation.

CISC 5835. ALGORITHMS FOR BIG DATA. (3 Credits)

The first part of the course covers material traditionally covered in a computer algorithms class: average and worst case analysis, time and space complexity, and searching, sorting, and graph algorithms. In the second part of the class specialized algorithms for handling big data are covered. This includes algorithms that operate in a single pass of the data, algorithms for streaming data, and massively parallel algorithms.

CISC 5850. THE SOCIAL NETWORK. (3,4 Credits)

This course is an introduction to social networks which entails the structure, the function, and various applications. Topics include the Internet, information networks and the World-Wide Web, information retrieval and search engine optimization, social media analysis, crowd sourcing, social activity and voting, graph theory and social networks, network dynamics, text mining, natural language processing, and concept search. Emphasis will be on the social network itself.

Prerequisites: CISC 1600 or CISC 1400.

CISC 5900. INFORMATION FUSION. (3,4 Credits)

A study of the structure and function of information fusion. Efficient and effective combination of data or information from a variety of diverse sources, sensors, features, and decisions. Applications and case studies of information fusion and decision making to a plethora of diciplines including science and engineering, cybersecurity and digital networks, medicine and health, social choices and human cognition, business and finance, and management and innovation.

Attribute: ZLB3.

CISC 5920. COMPILER CONSTRUCTION. (3 Credits)

An introduction to syntax-directed translation of high-level languages into executable code. This course covers both theoretical and practical aspects. Topics include lexical analysis, syntax analysis, intermediate code generation, and optimization; time permitting, object code generation and memory use will be covered. Students who take this course should have completed courses in discrete mathematics and data structures (it is recommended to have also completed a course in computer language theory/theory of computation).

CISC 5950. BIG DATA PROGRAMMING. (3 Credits)

Big data analytics has been an emerging field in data mining, health care, bioinformatics, and business analytics. This course provides students both theoretical background and hands-on computing techniques in big data analytics and its applications. The students will learn how to collect, query, and analyze data, and will study related visualization and storage techniques froma computing standpoint. Students will also be exposed to theoretical models in big data analytics. This course covers topics in big data essentials, big data magangement, algorithms in big data mining and knowledge discovery, and big data applications in health informatics, social media, finance, mobile computing and other fields. The students are expected to complete several large big data projects and present their results.

CISC 6080. CAPSTONE PROJECT IN DATA ANALYTICS. (3 Credits)

The goal of this class is to sharpen students’ skills in data analytics by designing and implementing a capstone project. After this class, students should gain a deep understanding in state-of-art data analytics technologies and knowledge. Students are required to finish a large capstone project and are expected to present and write one or more research papers in this class.

CISC 6081. I DATA ANALYTIC PRACTICUM. (3 Credits)

This course is for students who desire experience in applying the knowledge and skills acquired in their course work and laboratory sessions. Students are responsible for arranging a practicum/internship with a business or organization that is related to data analytics.

CISC 6085. MASTER THESIS IN DATA ANALYTICS I. (3 Credits)

Exceptional students may choose to write a master’s thesis. The thesis topic must be approved by the Department Graduate Committee. The work should adequately demonstrate the student’s proficiency in the subject material. A thesis supervisor will be assigned by the department and an oral defense is required.

CISC 6086. MASTER THESIS IN DATA ANALYTICS II. (3 Credits)

Exceptional students may choose to write a master’s thesis. The thesis topic must be approved by the Department Graduate Committee. The work should adequately demonstrate the student’s proficiency in the subject material. A thesis supervisor will be assigned by the department and an oral defense is required.

CISC 6090. CAPSTONE PROJECT IN CYBERSECURITY. (3 Credits)

The goal of this class is to sharpen students’ skills in Cybersecurity by designing and implementing a capstone project. After this class, students should gain a deep understanding in state-of-art cybersecurity, technologies and knowledge. Students are required to finish a large capstone project and are expected to present and write one or more research papers in class.

CISC 6091. CYBERSECURITY PRACTICUM. (3 Credits)

This course is for students who desire experience in applying the knowledge and skills acquired in their course work and laboratory sessions. Students are responsible for arranging a practicum/internship with a business or organization that is related to cybersecurity.

CISC 6095. MASTER THESIS MSCY I. (3 Credits)

Exceptional students may choose to write a master's thesis. The thesis topic must be approved by the Department Graduate Committee. The work should adequately demonstrate the student's proficiency in the subject material. A thesis supervisor will be assigned by the department and an oral defense is required.

CISC 6096. MASTER THESIS IN MSCY II. (3 Credits)

Exceptional students may choose to write a master's thesis. The thesis topic must be approved by the Department Graduate Committee. The work should adequately demonstrate the student's proficiency in the subject material. A thesis supervisor will be assigned by the dept. and an oral defense is required.

CISC 6100. SOFTWARE SYSTEM DESIGN. (3 Credits)

Design, development and implementation techniques leading to the construction of reliable, efficient and cost-effective software; analysis of requirements, software design, testing procedures, software development tools and management considerations. Modern techniques of operating system design, object oriented design, synchronization, mutual exclusion and deadlock will be covered. Students will work in group on a project of practical application.

CISC 6170. SPEC TOPICS IN DATA ANALYTICS. (3 Credits)

A course designed to concentrate on special state-of -the art topics in the field of data analytics: the course content will change semester to semester.

CISC 6200. COMPUTER ELEMENTS & ARCH. (3 Credits)

Study of the structure, behavior and design of computers; review of the organization of a computer to the gate, register and processor levels, processor design including parallelism, control design and microprogramming, memory organization, computer system organization including multiple CPU systems. The hardware,software interface and its implications for operating system design will be addressed.

CISC 6300. COMPUTATIONAL FINANCE. (3 Credits)

This course covers the state-of-the art quantitative models and their implementations in financial engineering with an emphasis on the computational methods of handling large-scale financial data or big data. The major topics include fixed-income pricing, derivatitives and equity instruments, financial time series analysis, numerical PDE methods, Monte Carlo simulations, algorithmic trading models, and related topics. This course assumes students have proficiency in C++ and basic knowledge in quantative finance models, or equivalent experience/training. Students are required to complete several large projects and present their results in class.

CISC 6325. DATABASE SYSTEMS. (3,4 Credits)

This course covers recent advances in database technology, focusing on the manipulation of objects to support new types of applications, including computer-aided desigin (CAD), computer-aided software engineering (CASE), computer-aided manufacturing (CAM), office automation, scientific applications, expert systems, and other applications with complex and interrelated objects and procedural data. Object-oriented database systems and extended relational systems will be discussed.

Attribute: ZLB3.

CISC 6345. ADVANCED DATABASE SYSTEMS. (3 Credits)

CISC 6350. ADVANCED FINANCIAL PROGRAMMING. (3 Credits)

This course aims to enhance students' software development capabilities and machine learning skills in financial computing. After taking this class, the students should be able to implement complicated financial models or trading algorithms. This course assumes audiences have proficiency in C++ and have basic knowledge in quantitative finance models. The prerequisite is CISC 5350- Financial Programming or equivalent. The following topics will be covered in this class. Introduction to Financial Software Design; Boost C++; Black-Scholes-Merton variants; Finite difference methods and trees in Option pricing; Monte Carlo Simulations; Machine Learning Models for Trick data; Implementing High-Frequency Trading Systems, and Post-Trade Profitability Analysis.

Prerequisite: CISC 5350.

CISC 6352. ADVANCED COMPUTATIONAL FINANCE. (3 Credits)

This course covers the state-of-the-art quantitative models & algorithms and their implementations in financial engineering with an emphasis on the computational methods of handling large-scale financial data or big data. The major topics include derivatives and equity instruments, financial times series analysis, numerical PDE methods, Monte Carlo simulations, algorithmic trading and high frequency trading (HFT) models, risk management of HFT, and related topics. This course assumes students have proficiency in C++ or equivalent programming knowledge. The knowledge in quantitative finance models is recommended but not required. Students are required to complete several large projects and present their results in class.

CISC 6375. OBJECT SOFTWARE DESIGN. (3 Credits)

This course is designed as an advanced course in Software Engineering. It includes the following: Short introduction to Object Oriented (OO) technology; Comparisons of C++ and Smalltalk for OO development; the definition of system requirements using OO techniques; the evaluation and selection of OO methods, techniques, and management tools; the collection analysis and testing and use of project metrics; the establishment of requirements for testing and quality assurance. The course will use examples of OO technology in the development of Information Systems and of Real-Time Systems.

Attribute: ZLB3.

CISC 6376. SOFTWARE DESIGN PATTERNS. (3 Credits)

This programming-intensive course provides an in-depth view of software design patterns, which are reusable solutions to common software problems. The course will begin by providing the rationale and benefits of software design patterns. Example problems will then be studied to investigate the development of good design patterns. Specific design patterns, such as the Observer, State, Adapter, Strategy, and Abstract Factory patterns, will be discussed and utilized in significant programming assignments. Students will become familiar with common design patterns, learn to use design patterns appropriately, and improve their object-oriented design and programming skills. Students will also learn to work collaboratively on significant programming projects. Prerequisite: Knowledge of Object-Oriented Programming is required. CISC 6375 Object Software Design is recommended.

CISC 6400. ROBOTICS AND ANIMATION. (3 Credits)

This course presents students with a thorough background in the method and practice of designing and programming advanced robotic and graphical systems, and will include topics such as motion planning, navigation and mapping, visual perception, depth perception (sonar, sterovision, laser ranging), sensor fusion, behavior-based systems, action planning, and multi-agent systems.

CISC 6500. BIOINFORMATICS. (3 Credits)

This course studies the relation of (interaction between) molecular biology and information science and the impact and applications of combinatorics, computing, and informatics on the biomedical sciences and clinical processes. Topics include: DNA sequence and alignment, database searching and data analysis, phylogenetic analysis and evolution, genomic and proteomics, structure and function, gene regulatory networks and metabolic pathways, microarray technology, and gene expression algorithms.

CISC 6525. ARTIFICIAL INTELLIGENCE. (3 Credits)

Introduction to the study of the ideas and techniques that enable computers to function intelligently; heuristic approach, cognitive processes, general information processing and problem solving, learning and reasoning; representation, adapation and use of knowledge; analysis and simulation of inductive and deductive processes, natural language, robotics and man-machine interaction.

Attribute: ZLB3.

CISC 6550. SYSTEMS NEUROSCIENCE. (3 Credits)

This is an introductory course in the study of the structure and function of the brain at the cellular, systems, and cognitive levels. It covers the cells of the nervous systems and how they process information such as electrical and chemical signals. It studies the aggregate, or networks, of neurons, how a brain develops and establishes its complex circuitry, and how they produce higher brain functions such as vision, movement, memory, and learning, perception, emotion, and consciousness. Both invertebrate and vertebrate nervous systems will be included.

CISC 6600. SECURE CYBER NETWORKS. (3 Credits)

This graduate course covers the essentials of designing and building a secure local area network, incorporating all elements of the seven layers of the ISO-OSI Model. Students will learn the capabilities, limitations, and vulnerabilities of a cyber network. Students will gain hands-on experience by implementing a secure network environment that is robust in preventing various adversary actions including, among others, extreme hacking and virus propagation.

CISC 6630. WIRELESS SECURITY. (3 Credits)

CISC 6635. EXPLORATORY DATA ANALYSIS AND VISUALIZATION. (3 Credits)

Data may essential and helpful to inform decision-making and impact public or corporate policy, never the less when visualized with proper context, data has the power to make a change in the world. This course explores the underlying theory and practical concepts in creating visual representations of large amounts of data. It covers core topics in data visualization including: data representation, visualization toolkits, information visualization, flow visualization, and volume rendering techniques. This course will include a significant project component that will typically require programming. Prerequisite CISC 5500 .

Prerequisite: CISC 5500.

CISC 6640. PRIVACY AND SECURITY IN BIG DATA. (3 Credits)

This course targets the security and privacy issues associated with systems that process and store large amounts of data. The main concern is to process this data in a timely manner without compromising security and privacy of the users. Real world examples will be studied and analyzed to enable students to apply the suitable technological tools and techniques to protect the system and evaluate the suggested solutions. Covered topics include access control mechanisms, privacy protocol and methods, data confidentiality and integrity, security challenges and attacks on big data systems.

CISC 6650. FORENSIC COMPUTING. (3-4 Credits)

Computing and digital technology has greatly transformed society and the way we live. Today, our world is filled with an array of complex multiprocessing and interconnected machines that we've all become accustomed to. This course studies technologies and practices for investigating the use, misuse and the adversarial potential of computing systems and digital devices. It will provide umparalleled insight into the digital forensics and legal world, emphasized with practical laboratory projects.

CISC 6660. APPLIED CRYPTOGRAPHY. (3 Credits)

This course provides an introduction to cryptographic primitives and techniques that comprise the heart of secure protocols that are used in computer and network security. The course has the target of introducing students to the practical applications of cryptography with an overview of its theoretical basis. Students are expected to have some programming familiarity and basic mathematical skills. Covered topics include steganography, block and stream ciphers, secret key encryption (DES, AES. RC-n), primes, random numbers, factoring, and discrete logarithms; Public key encryption (RSA, Diffie-Hellman, Elliptic curve cryptography); Key management, hash functions, digital signatures, certificates and authentication protocols.

CISC 6680. INTRUSION DETECTION AND NETWORK FORENSICS. (3 Credits)

This course provides students both theoretical knowledge and hands-on techniques in identifying intrusion detection and network traffic analysis. The students will learn how to identify different attacks through different traceback techniques and grasp network analysis methods and tools to conduct information retrieve from a network forensic standing point. This course covers topics in network forensics, intrusion detection and response, malware forensics, case studies, and related topicsin cyber law and ethics. This class assumes the students have basic knowledge in network, and Linux/Unix operating systems. The students are expected to complete several programming oriented team projects and present their results.

CISC 6700. MEDICAL INFORMATICS. (3 Credits)

Databases, information systems, and computer-based approaches have greatly transformed the research of medicine and the practice of physicians in the proper diagnosis and management of patients with a variety of common diseases and disorders. This course will cover the development and evaluation of methods for managing medical data and the integration of diverse and multifaceted hardware and software systems to provide enhanced value in medicine and healthcare. Informatics is not only embraced for imaging and diagnosis but also for clinical practice, decision making, quality and safety, and clinical research.

CISC 6725. DATA COMMUNIC & NETWORKS. (3 Credits)

Introduction to computer networks, network components and message transport technologies; transmission links and protocols, SDLC, x.25, BSC, and start/drop; network architectures, topological design and analysis, local area network design, voice and integrated networks, and network reliability.

Attribute: ZLB3.

CISC 6735. WIRELESS NETWORKS. (3 Credits)

This course covers the fundamental techniques in the design, operation, and evaluation of wireless networks. Among the topics covered: first, second, third, fourth generation wireless systems, fifth generation-LTE systems cellular wireless networks, medium access techniques, physical layer, protocols (AMPS, IS-95, IS-136, GSM, SPRS, EDGE, WCDMA, cdma2000, etc.) satellite systems, fixed wireless systems, personal area networks (PANs) including Bluetooth and HRF systems, wireless local area networks, (WLAHs) technologies, architectures, protocols, and standards, mobility management, wireless sensor networks, and cognitive radio networks and advanced topics. This course is intended for graduate students who have some background on computer networks.

Attribute: ZLB3.

CISC 6745. DATA VISUALIZATION. (3 Credits)

Data may be essential and helpful in inform decision- making and impact public or corporate policy, never the less when visualized with proper context, data has the power to make a change in the world. This course explores the underlying theory and practical concepts in creating visual representation, visualization tool-kits, information visualization, flow visualization, and volume rendering techniques. This course will include a significant project component that till typically require programming.

Prerequisite: CISC 5390.

CISC 6750. IOT FORENSICS AND SECURITY. (3 Credits)

With the exponential growth of Internet of Things (IoT) technology, the forensic examination and security of these objects has garnered increased attention. Moreover, digital forensic examiners have been presented with a unique set of challenges in order to understand how such devices secure, store and process data. This course is structured utilizing modules which will provide students with extensive hands experience in an interactive lab environment that will delve into the issues in IoT forensics and security. Through experimental testing participants will investigate and review the security of home IoT devices. The testing will include: traffic capture, device scanning and the analysis of wireless signals. In addition, a review and analysis of privacy exposure will be conducted, outlining the security vectors and malware used to attack and control IoT devices. Subsequent modules will be comprised of explanation, theory and numerous hands on exercises, culminating in discussion regarding the IoT technology stack and how it impacts digital forensics. Through use of existing digital forensic tools and methodology, we will introduce students to the application of digital forensics in the IoT framework by examining ordinary home devices. Examinations will provide students with hands on experience into a hunt for artifacts, identifying formats of stored data, encoding methods, while documenting their efforts throughout the process. Respective analysis of collection techniques, device workflow and the object data repositories will provide participants with an understanding of the full forensic value of these devices.

CISC 6795. INTERNET COMP & JAVA PRO. (3 Credits)

Computing on the Internet and java programming with various applications, including Web authoring, multimedia, and large Web-site development. Topics include: Internet/Web technology introduction, HTML and Web authoring tools, Java, Javascript and graphical user interfaces (GUI's), applets and applications, multimedia (images, image map, animation, and audio), files and streams (networking), and server communications.

Attribute: ZLB3.

CISC 6800. MALWARE ANALYTICS AND SOFTWARE SECURITY. (3 Credits)

This course is the introduction to the fields of the malware analytics and software security at the early graduate level. It covers one of the most important aspects of the cybersecurity - the software perspective of the issue. It approaches the issue from mainly two ends, namely analyzing malicious software, which is intended to compromise the security requirements, and the software development strategies and tactics to prevent vulnerability in the face of attacks. This course will have enough technical details in exemplary scenarios for the students to dissect real world problems, but the main purpose is to establish enough theoretical and background knowledge so that they know where to start an endeavor and how to make an effective investigation or design for new software security problems.

CISC 6850. LEADERSHIP AND MANAGEMENT IN CYBER SECURITY. (3 Credits)

In the highly interconnected and instrumented society, big data with great volume, variety and velocity can be an asset but also a liability for individuals and organizations. This course covers a variety of technological, systematic, and policy issues in the management if cyber risk for individual citizens, governmental organizations, and business enterprises. Students will meet with global leaders in cyber security on projects and case studies related to best practices and real life experiences.

CISC 6875. PARALLEL COMPUTATIONS. (3 Credits)

Introduction to parallel and multiprocessor/multicore computation, parallel architectures and programming, clusters and grids, parallel algorithms on different models of interconnection networks, network topologies, network reliability and fault tolerance.

CISC 6920. INCIDENT RESPONSE & RISK MGMT. (3 Credits)

The goal of this course is to provide students knowledge and hands-on forensic techniques in incident detection, analysis, response, and risk management. The course covers topics in incident handling procedures, forensic evidence collection techniques, forensic report writing, investigations in trademark and copyright infringement, corporate espionage, and related topics in cyber law and ethics. The students are assumed to have basic knowledge in Forensic computing. Students are expected to finish team projects, write research paper and present their results.

CISC 6930. DATA MINING. (3 Credits)

This course covers methods, algorithms, and applications of data mining. Topics include: representation, measurement, and visualization of data; analysis of large data set using information fusion and statistical combinatorial, and computational techniques; data mining algorithms and models (e.g. decision trees, neural networks, associative rules, support vector machines, machine learning, and genetic algorithms); descriptive vs. predictive modeling; and management of large diversified database systems. Applications are drawn from a variety of areas including information retrieval, market analysis and CRM, e-commerce, financial computing, economic forecasting, social choices, security and safety analysis, bioinformatics, and virtual screening for drug discovery and development.

CISC 6950. ALGORITHMS & DATA ANALYS. (3 Credits)

This course will cover data mining and machine learning algorithms for analyzing large data sets as well as the practical issues that arise when applying these algorithms to real-world problems. It will balance theory and practice--the principles of data mining methods will be discussed but students will also acquire hands-on experience using state-of-the-art data mining software to solve scientific and business problems. Students will learn about data mining algorithms for: classification and prediction (decision trees, neural networks, nearest-neighbor, genetic algorithms, Naive Bayes), clustering (K-means), association rule mining (Apriori) and algorithms for handling complex data types (text-mining, image-mining, etc.). In addition, the process for mining/analyzing data will be covered. Each student will, with the aid of the instructor, select and complete an application-oriented or research-oriented course project.

Attribute: ZLB3.

CISC 7050. PENETRATION TESTING. (3 Credits)

The course introduces principles and methods in penetration testing and related techniques. This course focuses on understanding and implementing state-ofthe-art penetration testing technologies. This course covers topics in penetration testing methods and framework, scanning techniques, penetration test techniques for different network threats and related topics. Students are expected to finish several large team projects, write research paper, and present their results.

CISC 8050. PROJECTS AND INTERNSHIPS. (3 Credits)

A course designed to concentrate on special and state-of-the-art topics in computer science; topics are changed from time to time to reflect the rapid change of computer and information technology.

CISC 8070. PROJECTS& INTERNSHIPS IN CYBER. (3,4 Credits)

CISC 8100. SPECIAL TOPICS IN COMP.SCIENCE. (3 Credits)

A course designed to concentrate on special and state-of-the-art topics in computer science; topics are changed from time to time to reflect the rapid change of computer and information technology.

CISC 8150. SPECIAL TOPICS IN CYBERSECURITY. (3 Credits)

A course designed to concentrate on special and state of the art topics in cybersecurity; topics are changed from time to time to reflect the rapid change of cybersecurity technology and knowledge.

CISC 8599. MASTER'S THESIS IN CS. (3 Credits)

Exceptional students may choose to write a master's thesis. The thesis topic must be approved by the Department Graduate Committee. The work should adequately demonstrate the studen's proficiency in the subject material. A thesis supervisor will be assigned by department and an oral defense is required.

Attribute: ZLB3.

CISC 8998. EXPERIENTIAL LEARNING. (1-6 Credits)

This course recognizes credits for professional knowledge in the area of cyber security acquired by the student prior to entering the graduate program.

CISC 8999. TUTORIAL. (1-4 Credits)

Each student either takes an internship at one of the medical schools, hospitals and health organizations or works on a project related to method and practice at the intersection of Biomedicine and Informatics. Students also attend a weekly seminar on a variety of topics in biomedical informatics featuring speakers from academia, industry, and government with diverse persectives in business, technology, and management.