Teaching

Fall 2019

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 2019

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 2018

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 2018

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 2016

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