Course Descriptions CSCI 6103   Network Reliability
CREDIT HOURS: 3
Networks are useful models for the transmission of essential data, and it is often crucial that the network be resilient to the loss of some lines. We investigate here the reliability of such networks, including both directed and undirected models, assuming that the lines fail independently with a given probability.
PREREQUISITES: CSCI 3110, CSCI 4115, MATH 2060

CSCI 6302   Computer Software: Development and Design
CREDIT HOURS: 3
This course will concentrate on the design phase of the software lifecycle, in particular for large scale software development. Topics will include software process models, computer aided software engineering (CASE) tools and how to evaluate a design. It will also include the supporting technologies of configuration management, version control and change management. Testing will also be discussed.
PREREQUISITES: CSCI 3130.03 or equivalent

CSCI 6304   Visual Programming
CREDIT HOURS: 3
This course deals with topics relating to the use of visuality in programming. This will include topics such as visual programming languages, program visualization and data visualization, as well as discussion of graphical programming aids, including graphical tools for defining user interfaces.

CSCI 6306   Topics in Program Comprehension
CREDIT HOURS: 3
This course explores current issues in program comprehension 0 the process of acquiring sufficient knowledge about a software system in order to perform a specified maintenance task. Topics include, but are not limited to, software visualization, design extraction, cognitive theories of comprehension, configuration management, information representation and comprehension tools.

CSCI 6307   Usable Privacy and Security
CREDIT HOURS: 3
Human factors play an important role in the effectiveness of security and privacy solutions. This course introduces students to several usability and user interface problems related to privacy and security, and to give them experience in designing studies aimed at helping to evaluate usability issues in security and privacy systems.

CSCI 6311   Topics in Entrepreneurship
CREDIT HOURS: 3
This course examines topics related to entrepreneurship determined by the interests of the students and the instructor.

CSCI 6312   Topics in Entrepreneurship
CREDIT HOURS: 3
This course examines topics related to entrepreneurship determined by the interests of the students and the instructor.

CSCI 6313   Introduction to Blockchains
CREDIT HOURS: 3
Students in this course learn the concepts of blockchain technologies and how to apply them in the design and implementation of Distributed Applications (DApps) that utilize smart contracts for their coordination and transaction execution. They learn about the blockchain cryptographic properties to achieve immutability and other desirable properties that blockchains achieve; distributed architectures and protocols used to achieve consensus in distributed environment; infrastructure used to implement blockchains; and about Ethereum and Hyperledger fabrics, the two most prominent blockchain technologies that introduced flexible contracts, wherein Ethereum is a public blockchain that can be joined by anyone, while Hyperledger is permissioned. Research topics, related to the challenges faced by the blockchain fabric, will be explored, including approaches to improve scalability, transaction throughput, consensus algorithms, privacy and anonymity, and other topics, such as governance, cryptocurrencies, use of blockchains forincreasing trust, and blockchain-assistive technologies, such as IPFS and side-chains.
PREREQUISITES: Students should be competent in writing distributed applications in which components communicate using REST-full services.

CSCI 6405   Data Mining and Data Warehousing
CREDIT HOURS: 3
This course gives a basic exposition of the goals and methods of data mining and data warehouses, including concepts, principles, architectures, algorithms, implementations, and applications. The main topics include an overview of databases, data warehouses and data mining technology, data warehousing and on line analytical process (OLAP), concept mining, association mining, classification and predication, and clustering. Software tools for data mining and data warehousing and their design will also be introduced.
EXCLUSIONS: CSCI 5408.03

CSCI 6406   Visualization
CREDIT HOURS: 3
This course focuses on graphical techniques for data visualization that assist in the extraction of meaning from datasets. This involves the design and development of efficient tools for the exploration of large and often complex information domains. Applications of visualization are broad, including computer science, geography, the social sciences, mathematics, science and medicine, as well as architecture and design. The course will cover all aspects of visualization including fundamental concepts, algorithms, data structures, and the role of human perception.

CSCI 6407   Management of Data in Distributed Systems
CREDIT HOURS: 3
The course introduces the issues and problems arising in Managing Data in Distributed Environments of various types and methods and solutions that have been investigated or used to address those issues. The course overviews the theory and concepts and also discusses management of data is specific distributed environments such as Grid and Cloud.
FORMAT: Lecture
PREREQUISITES: Undergraduate course on Database Management Systems (e.g., CSCI 2141)

CSCI 6408   Ocean Data Science
CREDIT HOURS: 3
Ocean data is a key asset for sustainable exploitation of the Ocean. Many ocean-related industries and organizations are collecting large amounts of data with the goal of optimizing their decision processes. This course will enable students to gain knowledge about key methods and techniques for analyzing these data greatly enhancing their value in terms of the ocean economy.
PREREQUISITES: Students should have good programming skills and knowledge of basic machine learning and/or statistics.

CSCI 6409   Process of Data Science
CREDIT HOURS: 3
The advent of low-cost storage and processing power coupled with ever increasing amounts of "born digital" data has created the new field of data science. The ability to achieve a specific goal or answer a business question by crunching through very large and complex databases is becoming a competitive advantage for businesses and leads to new discoveries in science and medicine. This course is an overview of the different processes that make up a data science project. While other fields concentrate on finding previously unknown knowledge or searching for a specific pattern, data science focuses on answering deep questions and making the conclusions accessible to the rest of the organization. This course requires the implementation of software and experimental design in order to complete the assignments.
EXCLUSIONS: CSCI 4146

CSCI 6505   Machine Learning
CREDIT HOURS: 3
Machine Learning is the area of Artificial Intelligence concerned with the problem of building computer programs that automatically improve with experience. The intent of this course is to present a broad introduction to the principles and paradigms underlying machine learning, including discussions of each of the major approaches currently being investigated. Main topics covered in the course include a review of information theory, unsupervised learning or clustering (the K-means family, co-clustering, mixture models and the EM algorithm), supervised learning or classification (support vector machines, decision trees, rule learning, Bayesian learners, maximum entropy, ensemble methods), feature selection and feature transformations. The focus of applications that will be discussed will be text classification and clustering.
PREREQUISITES: CSCI 3150.03 or 4150.03 (Artificial Intelligence) or permission of the instructor.

CSCI 6506   Genetic Algorithms and Programming
CREDIT HOURS: 3
The concept of stochastic search algorithms is introduced by way of answers to the generic machine learning requirements: representation, goal state, and credit assignment. Schema theory is introduced as an underlying model for evolutionary problem solving. The significance of assuming different representations is investigated through various case studies. Different forms of 'goal state' are investigated, including multi-objective models and co-evolution are investigated in some detail and demonstrated to provide the basis for problem decomposition, game behavior design and computational efficiency.

CSCI 6508   Fundamentals of Computational Neuroscience
CREDIT HOURS: 3
This course introduces the principles of information processing in the brain, including the functionality of single neurons, networks of neurons, and large-scale neural architectures for specific cognitive functions. Specific topics include information theory, memory, object recognition, adaptive systems, vision, motor control, and an introduction to MATLAB.
PREREQUISITES: Permission of the instructor

CSCI 6509   Advanced Topics in Natural Language Processing
CREDIT HOURS: 3
Natural Language Processing (NLP) is an area of Artificial Intelligence concerned with the problem of automatically analyzing and generating a natural language, such as English, French, or other, in written or spoken form. It is a relatively old area of computer science, but it is still a very active research area. This course introduces fundamental concepts and principals used in NLP with emphasis on statistical approaches to NLP and unification-based grammars. In the application part of the course, we discuss the problems of question answering, machine translation, text classification, information extraction, grammar induction, and dictionary generation and other.

CSCI 6511   Autonomous Robotics.
CREDIT HOURS: 3

FORMAT:
  • Lecture
  • Lab


CSCI 6514   Search and Optimization
CREDIT HOURS: 3
This course provides a broad overview of strategies for tackling difficult optimization problems that occur in computer science, in the engineering sciences, and beyond. It covers “classical” algorithms such as conjugate gradient strategies as well as more recent, nature-inspired approaches including evolutionary methods and simulated annealing. Its goal is to not only introduce the various paradigms, but to contrast them and to critically evaluate their respective merits based on a mathematically founded understanding of their properties. A research project to be worked on individually or in groups will be a major component of the course.

CSCI 6515   Machine learning for Big Data
CREDIT HOURS: 3
In this course, we will focus on Big Data and the Pillars of that emerging discipline: machine learnig/data mining, elements of high-performance computing, and data visualization. Significant part of the course will be devoted to selected, efficient methods for building models from large datasets data using machine learning techniques.
PREREQUISITES: CSCI 2141.03, MATH 2030.03, STAT 2060.03, CSCI 3110.03 or permission of the instructor.