Ricardo A. Calix, Ph.D.

Applied Machine Learning (with PyTorch)

Fall 2022

This is a course in applied machine learning with PyTorch.

Systems Assurance (Cryptography)

Fall 2022

This is an introductory course to Cryptography. This course covers the implementation of systems assurance with computing systems. Topics include confidentiality, integrity, authentication, non-repudiation, intrusion detection, physical security, and encryption. Encryption algorithms: secret key, DES, PKI, RSA, SSL/TLS, and more. Extensive laboratory exercises are assigned.

Software Assurance

Fall 2022

This course covers defensive programming techniques, bounds analysis, error handling, advanced testing techniques, detailed code auditing, software specification in a trusted assured environment. Extensive laboratory exercises are assigned. Topics: buffer overflows, format string vulnerabilities, web SOP, XSS, CSRF, web worms, race conditions, e-commerce security, and more.  

Practical Deep Learning

Spring 2022

This is a course in Deep Learning

Machine Learning Foundations

Spring 2022

This course provides a basic introduction to the machine learning pipeline and related concepts. Topics covered include: Machine learning uses and applications; data set requirements; data pre-processing; data annotation, and validation; data representation formats; features and feature representation and extraction; the vector space model; traditional machine learning algorithms; machine learning algorithms and programming; ML evaluation methods; introduction to deep learning algorithms; big data; reinforcement learning; Unsupervised learning; statistical significance analysis; and other special topics.

Assured Systems Design and Implementation (Network Security)

Spring 2022

This course covers the design and implementation of assured systems in an enterprise environment. Topics include: Systems design and implementation, network security threats and controls, and special topics.

Linux: Systems Administration and Management

Spring 2022

Topics include: workstations, servers, services, data centers, disaster recovery, security policy, network administration, helpdesks, debugging, upgrades, namespaces, system maintenance management, email and printing services, system backup, remote access, IT support, scripting with bash and Python for system management.

Intro to Comp Algorithms and Logic (with Python)

Fall 2020

This course covers introductory topics in programming using the Python language. 

Distributed Application Development

Spring 2021

This course is a project oriented course in multi-tier application development, interface design and implementation, component based application development, and configuration of multi-tier applications. Extensive laboratory exercises are assigned. 

Applied Machine Learning (with Tensorflow)

Fall 2020

This is a course in Machine Learning

Machine Learning for Cyber Security

Summer 2019

This is a course in machine learning for cyber security. Topics include: the basic ML approach, features and feature extraction, data set formats, supervised and unsupervised machine learning, applications of machine learning to cyber security: IOT, Malware, IDS, etc.


Spring 2012

This course covers the fundamental concepts and design implications required to implement biometric systems. Topics include: the basic biometric approach, features and feature extraction, data set formats, supervised and unsupervised machine learning, dimensionality reduction and performance evaluation, image based biometric techniques, speech based biometric techniques, behavioral based biometric techniques, and biometric problems and ethical issues.

Intrusion Detection and Prevention Systems

Fall 2013

This course will cover the fundamental concepts and design implications required to develop and implement intrusion detection and prevention systems that address security violations in computer systems. Topics to be covered include: main classes of attacks against computer systems, taxonomy and architecture of intrusion detection and prevention systems, network traffic analysis and feature extraction algorithms, signature and anomaly based techniques, key heuristic based and machine learning based techniques and algorithms for intrusion detection, artificial neural networks (ANNs), and ANN-based embedded systems for intrusion detection.

Physical Computing

Physical computing, in the broadest sense, means building interactive physical systems by the use of software and hardware that can sense and respond to the analog world. In the broad sense, physical computing is a creative framework for understanding human beings' relationship to the digital world. In practical use, the term most often describes handmade art, design or DIY hobby projects that use sensors and microcontrollers to translate analog input to a software system, and/or control electro-mechanical devices such as motors, servos, lighting or other hardware.

Web Systems Technology

Fall 2012, Spring 2013, Fall 2013

This course covers web technologies, information architecture, digital media, web development, vulnerabilities, social software and other topics.