Department of Computing Sciences
Director of Graduate Programs: Dr. Vijay Gehlot
Summer 2020 CSC Special Topics Course Descriptions
1. CSC 9010 - 030 TOP: Python for Machine Learning & Data Science
Python has become the language of choice for analytics, including machine learning, data science, and optimization. This course has three primary objectives:
· Learning the Python language and its best practices
· Understanding the basics of data science and analytics
· Using various libraries in Python such as sci-kit learn, tensorflow, keras, matplotlib, and pyomo for data science and analytics
· Fundamentals of Python
Python libraries for numerics (numpy), plotting and data visualization (matplotlib), data manipulation (pandas, itertools)
· How to structure Python projects
· Python coding style (especially the PEP-8 standard)
· Unit tests in Python
· Overview of about 10 different machine learning algorithms, including logistic regression, support vector machines, boosted trees, neural networks
· Using machine learning algorithms in Python – benchmarking, visualization, understanding outputs
o Tuning of machine learning algorithms in Python
o Many case examples will be presented
· Using Python for optimization and discrete event simulation
· Use of Jupyter Notebooks for data science
· Time permitting, advanced topics
Homeworks will include:
· Elemental Python exercises
· Building a machine learning algorithm using Python and Numpy
· Developing your own data analysis of a few different datasets. Including descriptive statistics, various visualizations, and machine learning
· Developing an optimization for a simple example.
2. CSC 9010 - 031 TOP: Containers & Microservices
Containers and Microservices technologies are the next advancement in highly scalable, performance-driven systems implementation. In this course, we will seek to understand Containers, what they are, and how they are used. Additionally, we will explore Microservices as an example of the kinds of services that may be hosted within Container technologies.
The course seeks to give the student a broad and high level of understanding & consideration when implementing decoupled, highly scalable, and highly available services. No previous understanding of Containers is required. However, strong software development knowledge is needed, since the focus of the course will assume that students are already knowledgeable in software development practices.
Finally, we will look at implementing and consuming such services from containers, examine the readiness perspective of the Enterprise, how these changes affect individual developers, organizations, and future software design & evolution. These ideas are the basis for Cloud Application Development practices.
o High level overview of Container Technology
o Concepts in Technologies
o Impact of Container Technology in business and for developers
o Container Orchestration
o Working with Docker
o Implementing Docker Solutions
o What are Services?
o Emergence of Microservices
o Microservices Design
o Microservices Technologies
• Implementing Microservices & Containers
o Installing Microservices on Containers
o Implementing Docker Swarm
o Automation: A DevOps Approach
3. CSC 9010 - 032 TOP: Exploration of Technological Singularity
This is a seminar style course that would entail reading about the fundamentals and synergies of Wireless Networking, IOT, Bigdata, and AI. Discussions surrounding the business, philosophical, scientific, legal and political ramifications of technology advancing without human direction. Student readings and presentations integral to the course. As a starting point, see https://www.researchgate.net/publication/265489594_Singularity_hypotheses_A_scientific_and_philosophical_assessment
4. CSC 9010 - 036 TOP: AI & DSS in Health Informatics
Attributes: 100% Distance Learning
Artificial Intelligence (AI) and Decision Support Systems (DSS) have become cornerstones for novel health informatics developments. The FDA recently released (April 2019) a discussion paper detailing proposals for regulating medical devices based on artificial intelligence or machine learning algorithms. As stated on the FDA paper, “Artificial intelligence and machine learning have the potential to fundamentally transform the delivery of health care,” The FDA has already approved certain AI algorithms for clinical use, including a tool to help detect wrist fractures and a device to highlight diabetic retinopathy.
Decision Support Systems (DSS) are a variety of tools developed to enhance decision-making in healthcare workflow. Tools include alerts and reminders to providers and patients; diagnostic support guidelines; dedicated data reports; tailored analytics; among others. In 2017, the Office of the National Coordinator for Health IT (ONC) collaborated with the National Academy of Medicine (NAM) to develop strategies and recommendations to optimize DSS and improve healthcare.
The object of the course is to familiarize the students with the multiple approaches related to AI and DSS, including decision trees, fuzzy logic, genetic algorithms, machine learning and deep learning. Students will be able to develop a simple AI/DSS system for healthcare, utilizing the guidelines and regulations proposed by ONC and FDA to adopt DSS and AI in Healthcare.
CSC Special Topics Courses for Fall 2020
1. CSC 9010 - 001 TOP:DevOps:Tools&Techniques CRN: 22807
Days: T from 06:15 pm to 09:00 pm
DevOps is a software engineering principle and practice aimed at unifying development and operations. The guiding principle is automation and monitoring all aspects of software: construction, integration, testing, deployment, and infrastructure management. The course is intended to give an overview of DevOps including principles, practices, approaches, methods, tools, and techniques.
2. CSC 9010-003 TOP:Intro to Data Science CRN: 22728
Days: W from 03:00 pm to 05:45 pm
Data Science is an inherently interdisciplinary subject, requiring components of computer science, statistics, and some domain to provide the data and the problems to solve. In this course, we focus on the computer science components of data science. We will use the Python programming language and libraries that support managing datasets, libraries such as pandas, numpy, and scikit-learn for machine learning. We will work with a variety of large datasets. Topics will include data cleaning, data wrangling (reorganizing datasets), visualization, time series, machine learning fundamentals. Students will select a project to complete during the semester to exercise a good collection of these elements. The course will be graded based on frequent quizzes, weekly programming assignments, and the final project.