Teaching

CS 485G Mobile Application Development for iOS

Mobile applications allow information to be accessed and produced anytime, anywhere creating social networks and apps that communicate with sensors for the Internet of Things (IoT), Smart Home, and Smart Cities. This course will provide practical experience in designing iOS applications for the iPhone and iPad in Swift. Students will learn how to design mobile apps using the Swift programming language, topics covered will span UI development, object-oriented programming, databases, networking, etc.

Syllabus
Spring 22

CS 685 Special Topics in Designing Applications for Medical Research

This course addresses topics related to designing medical based systems for patients, physicians, and engineers. There are many types of data produced in such systems, patient objective sensor data, subjective information, etc. Even though many problems have been addressed, there are still a number of problems that need to be explored and solved that require the intersection of medicine and computer science. We discuss the technical aspects and best practices for building medical based systems applications; specifically front-end mobile applications, backend databases, UI-design, anonymizing datasets, fast healthcare interoperability resources (FHIR), interaction with electronic health records, and HIPAA compliance.

Syllabus
Summer 21

CS 485G Applied Machine Learning

In this course, students will learn t​he fundamentals of machine learning (ML) to prepare for a role at the intersection of data science, computer science, and the individual student’s field of study or interest. Students will become familiar with d​ifferent M​L tools and models, develop skills to assess when ML is the right solution to a given problem, learn how to prepare and identify issues with data, and hone their coding skills in Python. In addition, students will dive into deep learning, clustering, k-Means, and other models and algorithms. Students will then work on group based projects and integrate their learning from the course to solve a particular problem or meet a specific need. Students integrate technical concepts, project management, organizational skills, and ethical considerations to create a meaningful final product. Culminating the gathered knowledge is beneficial as data science employers look to see projects applicants have undertaken, the skills they built while working on them, and what they learned from the experience. The final project provides students with a meaningful work-like experience to discuss in interviews.

Syllabus
Spring 21

CS 485G Mobile Application Development for iOS (2 sections)

Mobile applications allow information to be accessed and produced anytime, anywhere creating social networks and apps that communicate with sensors for the Internet of Things (IoT), Smart Home, and Smart Cities. This course will provide practical experience in designing iOS applications for the iPhone and iPad in Swift. Students will learn how to design mobile apps using the Swift programming language, topics covered will span UI development, object-oriented programming, databases, networking, etc.

Syllabus
Fall 20

CS 485G Mobile Application Development for iOS

Mobile applications allow information to be accessed and produced anytime, anywhere creating social networks and apps that communicate with sensors for the Internet of Things (IoT), Smart Home, and Smart Cities. This course will provide practical experience in designing iOS applications for the iPhone and iPad in Swift. Students will learn how to design mobile apps using the Swift programming language, topics covered will span UI development, object-oriented programming, databases, networking, etc.

Syllabus
Spring 20

CS 685 Special Topics in Opportunistic Wireless Communications

Wireless communications allows information to be accessed and produced anytime, anywhere providing on-the-fly infrastructure for wireless sensor networks (WSNs), the Internet of Things (IoT), and Smart Cities. The need for information flow which can operate independently or supplement centralized cloud communication (Internet) is a requirement during natural disasters and can provide critical information in rural and developing communities. This course will expose students to advanced topics in routing protocols for opportunistic wireless communication using delay tolerant networks (DTNs), mobile ad-hoc networks (MANETs), and vehicular ad-hoc networks (VANETs). Specifically, students will learn and develop deterministic and stochastic routing protocols for unicast and multicast opportunistic communication. In addition, students will learn how users mobility, network density, and interactions influence data dissemination in opportunistic wireless communication. Students will learn about routing through extensive literature reviews, software development in Java using the ONE Simulator, and analyzing data using Python Jupyter Notebooks.

Syllabus
Fall 19

CS 485G Mobile Application Development for iOS

Mobile applications allow information to be accessed and produced anytime, anywhere creating social networks and apps that communicate with sensors for the Internet of Things (IoT), Smart Home, and Smart Cities. This course will provide practical experience in designing iOS applications for the iPhone and iPad in Swift. Teams will learn how to design mobile apps using the Swift programming language, topics covered will span UI development, object-oriented programming, databases, networking, etc.

Syllabus
Spring 19

CS 685 Special Topics in Mobile Applications for Blockchains

Blockchain is the distributed and decentralized database technology behind cryptocurrencies. This course explores the fundamentals of the public, transparent, secure, immutable, and distributed database called blockchain. This course will discuss what industries blockchain is positioned to interrupt, along with current capabilities and limitations. We will dissect the inner workings of Blockchains and attempt to leverage its capabilities to solve problems in our known research areas.

Syllabus
Fall 18

CS 485G Mobile Application Development for iOS

Mobile applications allow information to be accessed and produced anytime, anywhere creating social networks and apps that communicate with sensors for the Internet of Things (IoT), Smart Home, and Smart Cities. This course will provide practical experience in designing iOS applications for the iPhone and iPad in Swift. Teams will learn how to design mobile apps using the Swift programming language, topics covered will span UI development, object-oriented programming, databases, networking, etc.

Syllabus
Spring 18

CS 685 Special Topics in Opportunistic Wireless Communications

Wireless communications allows information to be accessed and produced anytime, anywhere providing on-the-fly infrastructure for wireless sensor networks (WSNs), the Internet of Things (IoT), and Smart Cities. The need for information flow which can operate independently or supplement centralized cloud communication (Internet) is a requirement during natural disasters and can provide critical information in rural and developing communities. This course will expose students to advanced topics in routing protocols for opportunistic wireless communication using delay tolerant networks (DTNs), mobile ad-hoc networks (MANETs), and vehicular ad-hoc networks (VANETs). Specifically, students will learn and develop deterministic and stochastic routing protocols for unicast and multicast opportunistic communication. In addition, students will learn how users mobility, network density, and interactions influence data dissemination in opportunistic wireless communication. Students will learn about routing through extensive literature reviews, software development in Java using the ONE Simulator, and analyzing data using Python Jupyter Notebooks.

Syllabus
Spring 16

ECE 158B Data Networks II - University of California San Diego

Wireless communications allows information to be accessed and produced anytime, anywhere providing on-the-fly infrastructure for wireless sensor networks (WSNs), the Internet of Things (IoT), and Smart Cities. This course will provide practical experience in designing iOS networking applications for the iPhone, iPod, and iPad in Swift. Teams will learn how to design mobile apps for distributed and centralized systems ranging from peer-to-peer communications, social networking, crowd sourcing, and wearables. Student Evaluations

Syllabus