Computer and Information Sciences

2006 marked the retirement of Dr. William J. Knight. During his 20 years of teaching at IU South Bend Dr. Knight was a central figure in the development of every aspect of the computer science department. Aside from his complete devotion to teaching, he skillfully led the department from 1993 to 1999 and laid the foundation for a quality computer science program. From 1999 to 2006 he served as the associate chair, helping develop and implement a number of major initiatives in the department. During Professor Knight's tenure at IU, the department grew from 5 to 10 faculty members, developed a new B.S. in Informatics and a joint M.S. program with the department of Mathematical Sciences. Dr. Knight was a mentor to hundreds of computer science students. His detailed and meticulous lecture notes in data structures and analysis of algorithms are widely used by both new and experienced faculty. The department will surely feel the void created by his retirement. Pursuing our goal to refine and expand our graduate and undergraduate programs in computer science and informatics, the department was pleased to welcome Dr. Raman Adaikkalavan to our department. Dr. Adaikkalavan specializes in Computer Security and holds a doctorate in computer science and engineering from University of Texas at Arlington. Our enrollment in computer science and informatics continued to be healthy. Enrollment was approximately 200 undergraduates in computer science and informatics and about 30 graduate students pursuing their MS degrees in Applied Mathematics and Computer Science. In 2006, with the support of our college, the department was able to renovate and reequip two of its laboratories. To honor our emeritus faculty, these two labs were named the " John P. Russo " and the " William J. Knight " laboratories. During 2006, our faculty remained active in their research, teaching and service to the university. The faculty published their research in more than 25 journal articles and conference proceedings. Also in 2006, the department initiated its seven year self-study and review process. We obtained an assessment grant to invite a nationally recognized external reviewer to perform our 7 year review. We further chose to be reviewed under the stringent ABET accreditation criteria. We felt that augmenting the seven year external review process by inviting a nationally experienced reviewer would strengthen our department's posture toward ABET accreditation, define directions for future departmental goals, and identify the strengths and weaknesses of our …


CISC 5500. Data Analytics Tools and Scripting. (3 Credits)
This course teaches the basic tools used in data analytics, particularly the scripting skill in a few widely used languages: bash, SQL, and R. Starting with their syntax features, we will proceed from how to use these tools' automating data wrangling tasks to making use of data analysis and visualization libraries. For bash, the focus is common system administration tasks, including job controlling. For SQL, we introduce the fundamental concepts of relational databases, as well as common tasks of data querying, data manipulation, and data definition. For R, we emphasize its data-centered features and how to utilize a large variety of packages.The class includes many hands-on practices in projects of various scales. With this training, the students will be well prepared for more advanced and specialized topics in data science. Attributes: CSDA, CSSO, DATA, DATI, PMTM. Prerequisite: CISC 5300.

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 objectoriented 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. Attribute: CSSO.

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 cloud 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. Attributes: CYSM, DATA.

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 course will introduce the students to the core concepts of NoSQL, a new class of non-relational database management systems. NoSQL databases are used to perform CRUD operations over massively distributed big data systems. This course will explore the limits of RDBMS and the technical scenarios where NoSQL databases triumph over RDBMS. We will study the core concepts of four different NoSQL databases: key-value, column family, document, and graph. For each of these databases, we will take a closer look at their technical aspects including their business needs for different big data systems. This course has several hands-on labs accompanied by relevant projects designed for learning DynamoDB for key-value, MongoDB for document, Cassandra for column family, and Neo4j for graph NoSQL databases. Finally, we will discuss the techniques for choosing one of the four NoSQL databases to meet the requirements of a specific use case. Attribute: DATA.

CISC 5650. Cybersecurity Essentials. (3 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. Attributes: CSCY, DATA.

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. Attributes: BUAN, CSAI, CSDA, DATA, PMTM.

CISC 5710. Introduction to Behavioral and Physical Biometrics. (3 Credits)
The need to ensure the security of computer systems and information is of paramount importance in our increasingly digital world. However, traditional passwords and keys often do not provide an adequate level of security, and consequently, biometric authentication and identification methods are becoming increasingly popular. This course will survey a wide variety of physiological and behavioral biometric methods and technologies. The physiological biometrics that will be covered include fingerprints, face, iris, retina, and ear shape, while the behavioral biometrics covered are based on gait, keystroke dynamics, voice, signature analysis, and general usage/activity patterns. The relative strengths and weaknesses of the various forms of biometrics will be evaluated. Other topics that will be covered include implementation issues, the use of machine learning for building biometric models, metrics for biometric evaluation, spoofing, privacy and ethical issues, the relation to forensic science, and the use of biometrics in the judicial system. Students will also gain hands-on experience through laboratory and homework exercises and a course project. Attribute: CYSM.

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. Attributes: CSCY, CSNS.

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. Attributes: CSCY, CSNS, CYSM.

CISC 6000. Deep Learning. (3 Credits)
This course is an introduction to deep learning, a branch of machine learning typified by deep neural networks. Deep learning is behind many recent advances in AI, ranging from text mining and image recognition to machine translation, planning, and even game playing and autonomous driving. In this course, we will cover a range of topics including basic neural networks, Convolutional network, RNN, LSTM, GAN, Autoencoder and Restricted Boltzmman Machine (RBM). Various learning techniques such as Adam, Dropout, BatchNorm, Xavier initialization, CD-K sampling, etc., will also be explored throughout the course. This is a programming intensive course. Students are required to be proficient in Python programming and have knowledge of basic Machine Learning algorithms and techniques. Attribute: DATA. Prerequisite: CISC 5800.

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. 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's 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's 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. Attribute: CYSM.

CISC 6095. Master's Thesis in 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's Thesis in Cybersecurity 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 Engineering. (3 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 discuss. Topics covered include detailed design tools, data structure-oriented design, program design, program implantation, and testing. Attribute: CSSO.

CISC 6170. Special 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 6210. Natural Language Processing. (3 Credits)
Natural language processing (NLP) is one of the most important technologies of the information age, and a crucial part of artificial intelligence. It is the branch of machine learning and data science that deals with text and speech. This course is designed to introduce how to use computational and statistical methods to give insight into observed human language phenomena and make computers perform various tasks with human languages. The learning outcomes for students are to learn about major NLP issues and solutions, to become agile with NLP programming, and to be able to design, implement, and understand their own NLP applications. Topics include (but are not limited to): Syntactic Parsing, Semantic Analysis, Summarization and Information Extraction, Machine Translation and Neural Networks Models for NLP (RNN, CNN, etc.) Attribute: DATA. Prerequisite: CISC 5800.

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. Attribute: CSSO.

CISC 6690. Cybersecurity in Business. (3 Credits)
Special emphasis on understanding the value cybersecurity and computer science professionals play in a business organization through the review of the major components and roles in a typical business and the demands and expectation of each. Business components studied include: marketing and sales; production and/or delivery; supporting functions (e.g IT, HR, etc.) and governance and control. Subject areas covered are the understanding of information assets, vulnerabilities and threat vectors related to those assets and the decision-making process supporting investments and maintenance of cybersecurity best practices. Students will better understand their role in a business organization and have a ready framework for cybersecurity decision making as a result of the class. In addition, students can expect to develop an appreciation for the characteristics of a business that best aligns with their personal goals and objectives. Attribute: CYSM.

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. Attribute: CSDA.

CISC 6725. Computer Networks. (3 Credits)
This course provides an introduction to computer networks, network components, and message transport technologies; transmission links and protocols, SDLC, X.25, BSC, and start/drop; and network architectures, topological design and analysis, local area network design, voice and integrated networks, and network reliability. Attributes: CSNS, ISEL.

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: CSNS.

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. Attribute: DATA.

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. Attribute: CYSM.

CISC 6795. Java Programming. (3 Credits)
This course covers Java programming and internet computing with various applications. Topics include: Java programming, object-oriented programming, graphical user interfaces (GUI's) and Applications, multimedia, files and streams, and server communications. Attributes: CSNS, CSSO.

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. Attributes: CSCY, CYSM.

CISC 6850. Leadership and Management in Cybersecurity. (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. Attribute: CYSM.

CISC 6860. Cybersecurity: Technology, Policy, and Law. (3 Credits) 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. Attribute: CSSO.

CISC 6880. Blockchain Technology. (3 Credits)
A blockchain consists of participants who generate transactions, miners who aggregate the transactions and forge blocks for the chain, and the blockchain itself. The blockchain is updated based on some algorithm predetermined by group consensus, and it acts as a decentralized, immutable database. This course will cover fundamentals and advanced topics in blockchain technology. We will discuss each component in a blockchain system, how the components interact, and the general structure and functions of a blockchain. The course will also discuss security mechanisms of blockchain, blockchain system design, blockchain applications and implementations, cryptocurrencies, smart contracts, and the challenges of blockchain. Attribute: CYSM.

CISC 6920. Incident Response and Risk Management. (3 Credits)
The goal of this course is to provide students knowledge and handson 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. Attributes: CSCY, CYSM.

CISC 6950. Algorithms and Data Analysis. (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. Attributes: ASDM, BUAN, CSDA, PMTM.

CISC 6991. Internship. (1 to 3 Credits)
This internship course offers students the opportunity to exercise the computer science skills they have learned in a professional environment. Students will be asked to write one or more reports on their internship as the semester proceeds, culminating in a final project report.