Fordham University            The Jesuit University of New York

CIS Department Graduate Course Descriptions

CISC 5030  Internet and Web Programming 3
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 5200  Computer Language Theory 3
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.

CISC 5220  Data Structures 3 CISC 5300 or equivalent
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

CISC 5250  Computer Organization 3
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.This course was formerly called CISC 6200 Computer Elements and Architecture.

CISC 5300  Computer Programming C++ 3
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. This course is an intensive introduction to object-oriented programming using C++. It assumes no prior knowledge of programming, but will cover the majority of material in a typical CS1 and CS2 undergraduate programming class. Because of the introductory nature of this course, credit for this course will not be applied to the requirements for the MSCS degree.

CISC 5350  Financial Programming 3
This is an introductory programming course using C++ that features the object-oriented language, in addition to data structures. The basics of programming,including datatypes, pointers, arrays, control structures, and functions are covered. The course then continues to more advanced topics such as dynamic memory management, 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 include: an introduction to design patterns, as well as relational database programming with SQL. This introductory programming course cannot be counted toward the MS in CS graduation requirements.

CISC 5380  Programming with Python 3
This course aims to equip students with fundamental problem-solving and program implementation skills using Python. Topics covered include: principles of programming, file systems, control structures, functions, recursion, sorting, web and web search, object-oriented programming, and related domain applications in STEM disciplines, social sciences, business and other fields. The students will work on large programming projects and present their results in class.

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

CISC 5420  Applied Statistics and Probability 3
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  Information & Knowledge Management 3
This course provides students with the background, tools and skills to become efficient and effective information users and providers. The course covers the digital infrastructure, data acquisition and curation, databases and information retrieval, data modeling and graphical visualization, GIS and mapping, web-based systems, and social networks. Students will work with examples selected from areas including environment and health, urban and social studies, policy and legal issues, business and finance.

CISC 5520  Programming Languages 3
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. Lanuages 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
This course provides students with an understanding of cloud computing and the knowledge and experience to use it to solve large, complex, problems in data science. Cloud computing technology and infrastructure will be covered as well as administration (software installation, account management, data transfer, security, etc.) and data management. Parallel programming techniques for large scale distributed systems will be covered, as well as parallel programming in the cloud (e.g. add HADOOP/HDFS/SQOOP). Students will study specific cloud computing solutions including the cloud computing solutions offered by Amazon, Google, Microsoft, etc. Student will get hands-on experience by using cloud computing to solve real-world problems involving “big data."

CISC 5595  Operating Systems 3
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 5600  NoSQL Database Systems 3
s 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
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
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
Provides an 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
This course deals with the fundamentals 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 such as Public key infrastructure (PKI) systems, biometric-based security systems, trust management systems in communications networks, intrusion detection systems, protecting against malware and computer network security risk management.

CISC 5738  ICT Systems for Smart Cities 3
s course deals with key enabling Information and Communication Technologies (ICT) for smart cities and homes. There are many key enabling technologies that have played and are playing a great role in building and developing smart homes and cities. In this course we review major ones and some related issues and trends. Topics covered include: wireless networks, software defined things, nomadic service discovery in smart cities, wireless local area networks (WLNs) technologies, 4G and 5G systems, VANET applications in smart cities, vulnerability of the smart home infrastructure, optical network architecture for the next generation Internet access, cloud computing systems, smart transportation systems, Radio Frequency ID (RFID), Global Positioning Systems (GPSs), Geographical Information Systems (GISs), among others. The trends, protocols, performance and challenges of these technologies in smart cities environments will be discussed and investigated. Case studies and examples will be addressed.

CISC 5750  Information Security and Ethics 3
The goal of this course is to give a comprehensive introduction to information security and its applications in addition to related ethics. It covers topics in cryptography, access control, network and operating system securities, software security, database security, and cyberlaws. After taking this class, the students will gain practical knowledge in information security, understand different types of access control methods, cryptosystems, security protocols, and different types of cyber attacks, and master related problem solving skills. The students should be able to apply information security techniques to solve real world problems in this field.

CISC 5800  Machine Learning 3
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 system, concept learning, learning decision trees and neural networks, ML from statistical, Bayesian, and computational perspectives, learning methods based on instance, biological evolution, and sets of rules, reinforcement learning, and kernel method with support vector machine (SVM). Practical examples and case studies will be drawn from a variety of areas including social media, health care, finance, and cognitive neuroscience.

CISC 5825  Computer Algorithms 3
A systematic study of important and useful computer algorithms for solving practical problems; sorting and searching, string processing, geometric and graph algorithms, combinatorial optimization techniques; average and worst-case analysis, time and space complexity, correctness, optimality and real implementation.

CISC 5850  Social Networks 3
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.

CISC 5900  Information Fusion 3
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.

CISC 5950  Big Data Programming 3
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 from a computing standpoint. Students will also be exposed to theoretical models in big data analytics. This course covers topics in big data essentials, big data management, 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 6100  Software System Design 3
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 work in a group on a project of practical application.

CISC 6300  Computational Finance 3
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, derivatives and equity instruments, financial times 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 quantitative 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
This course covers recent advances in database technology, focusing on the manipulation of objects to support new types of applications, including computer-aided design (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.

CISC 6350  Advanced Financial Programming 3
This course assumes students have basic knowledge in quantitate finance models. It aims at fostering and enhancing students’ software development capabilities in financial problem solving. After taking this class, students should be able to implement complicate financial models or trading algorithms/systems.

CISC 6375  Object-Oriented Software Design 3
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.

CISC 6400  Robotics and Animation 3
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, stereovision, laser ranger), sensor fusion, behavior-based systems, action planning, and multi-agent systems.

CISC 6500  Bioinformatics 3
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 65xx  Ensemble Methods 3
This course covers background, core and advanced knowledge of ensemble methods, and their application to a variety of domains. Topics include: popular learning algorithms, Boosting and Bagging, combination methods, ensemble diversity, ensemble pruning, clustering ensembles, semi-supervised learning, and other topics. Real world applications and case studies include computer vision, cybersecurity, medical diagnosis and screening, credit card fraud detection, bankruptcy prediction, weather forecasting, protein structure prediction, and musical genre and artist classification.

CISC 6525  Artificial Intelligence 3
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, adaptation and use of knowledge; analysis and simulation of inductive and deductive processes, natural language, robotics and man-machine interaction.

CISC 6550  Systems Neuroscience 3
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
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 network security 3
The goal of this course is to provide students a theoretical foundation and robust technical details in wireless security. It covers topics in wireless network basics, principles of wireless network attacks, wireless intrusion detection systems, deploying wireless networks, defense for securing wireless networks, malwares in wireless networks, Rogue wireless network detection, cloud-based wireless solutions, and related techniques.

CISC 6650  Forensic Computing 3
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 unparalleled insight into the digital forensics and legal world, emphasized with practical labratory projects.

CISC 6680  Intrusion Detection and Network Forensics 3 CISC 5750, CISC 5700, or consult your instructor
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 topics in 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
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 6725  Data Communications and Networks 3
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.

CISC 6735  Wireless Networks 3
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, GPRS, EDGE, WCDMA, cdma2000, etc.), satellite systems, fixed wireless systems, personal area networks (PANs) including Bluetooth and Home RF systems, wireless local area networks (WLANs) 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.

CISC 6795  Internet Computing and Java Programming 3
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.

CISC 6800  Malware Analytics and Software Security 3 CISC 5750 or consult your instructor
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 cyber security - 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 6875  Parallel Computation 3
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 6900  Computer Security and Ethics 3
Study of information and coding theory, encryption algorithms, cryptographic techniques, access controls, information flow controls, inference controls. Study will include computer ethics questions.

CISC 6930  Data Mining 3
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 and Data Analysis 3
This course will cover the fundamental and practical aspect of computing algorithms and exploratory data-analysis techniques for dealing with the large data sets stored in local or remote data base systems. Topics will include searching and sorting, decision trees, dynamic programming, neutral networks, genetic algorithms, classification, clustering, association-rule mining, sequence prediction, various applications in financial markets, and decision support systems. Exploratory data analysis (e.g., SAS) will be used throughout the course.

CISC 8050  Projects and Internships 3
Students either do a project in their specialty area or take an internship in an industry organization in the public or private sector in order to gain practical and professional experience.

CISC 8054  Data Analytic Colloquium 0
Students will attend invited talks by Industry and Academic experts. Students will receive a variety of perspectives and exposures to state of the art Data Analytics methods as used in industry-by-industry experts, and to key challenges and issues in academia by academic experts.

CISC 8100  Special Topics in Computer Science 3
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 8599  Computer Science Thesis 3
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 8798/8799  Master Thesis in Data Analytics 3
Students work on research and write a thesis under the supervision of full time CIS faculty on a topic in data analytics.

CISC 8999  Project and Internship in Biomedical Informatics 3
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.

The following courses are offered on a periodic basis as student demand and faculty expertise dictates

CISC 5620  Information Systems 3
CISC 5630  Information Retrieval Systems 3
CISC 6920  Computer Graphics 3
CISC 7125  Parallel Algorithms and Architecture 3
CISC 7225  Network System Design and Management 3


Site  | Directories
Submit Search Request