November 16, 2015




CSE 330: Operating Systems

This class covers the basics of operating systems. The lectures will cover the important OS topics including OS structure, processes, threads, scheduling, synchronization, deadlocks, main memory, virtual memory, file systems, mass storage, and I/O systems. The course also includes three or four lab exercises which involve implementing process management, memory management, and storage management in Linux (at kernel level), the most widely used open-source OS, and in Android, the dominating mobile OS, on physical mobile devices. (Read more)

COP 4338 – Programming III

The goal of this class is to learn C programming and familiarization with the UNIX environment. At the end of the class, students will be able to write substantial programs in C that use most of the available C functionality. This class is taught in a highly interactive manner where the instructor and students program and debug code together. It entails a number of C programming projects which should be done by students in groups of no more than two each. (Read more)

COP4604 – Advanced UNIX Programming

This course teaches the programming for various key Unix environments. It includes POSIX and shell programming on Linux as well as mobile app development on Android devices (first introduced by Dr. Zhao at FIU). (Read more)

 CEN 546 – Cloud Computing

This course is created by Dr. Zhao in 2013. It covers the fundamental concepts and principles of cloud computing, the architectures of different types of cloud systems, and the techniques of creating, deploying, and managing cloud applications on Infrastructure-as-a-Service, Platform-as-a-Service, and big data systems. State-of-the-art cloud computing resources are provided for students to conduct their course projects. Field trips to local virtualization companies are arranged for students to learn industry virtualization technologies and production virtualized systems. (Read more)

CDA 5565 − Virtualized Systems

This course was created by Dr. Zhao in 2009 and is one of the few course offerings available nationwide with a complete focus on virtualization. Topics include the concepts and principles of virtualization, the mechanisms and techniques of building virtualized systems, as well as the various virtualization-enabled computing paradigms. State-of-the-art virtualization software and systems are be provided for students to conduct their course projects. Field trips to local virtualization companies are arranged for students to learn industry virtualization technologies and production virtualized systems. Each student should propose a topic relevant to virtualization for term project, study the relevant materials, develop and implement a research idea, and in the end report and present the results. (Read more)

CSE 591: Advanced Memory Systems

This will be a research-oriented course covering a variety of advanced topics (listed below) on memory and storage systems. The materials will include both introductory lectures given by the instructor, seminal papers discussed by the entire class, and project presentations given by the students.

COP 6611 – Advanced Operating Systems

This lectures will consist of three major components, review of important OS concepts (such as process management, memory management), introduction of new advanced OS concepts (such as real-time OSes, virtualization), and discussions of latest research papers published in top OS conferences (such as OSDI, SOSP). The main assignment of this course will be a term-long research-oriented project. Each student will select a topic of interest for term project, review the related publications, develop and implement a research idea, and finally report and present the results. The instructor will meet with students on a regular basis to guide them through each step of this entire research process. (Read more)

CDA 6939 − Advanced Topics in Computer Architecture

This course covers the fundamental topics in parallel computer architecture, from classic instruction-level and thread-level parallelisms to emerging data-level parallelism, and distributed system architecture, including key concepts and algorithms (e.g., logical clocks, Paxos) on synchronization and consistency. (Read more)

CIS 6933 – Graduate Seminar

As the coordinator of this class, Dr. Zhao Organized a total of 53 seminars given by researchers invited from universities and industry companies including three members of National Academy of Science/Engineering. (List of Speakers)


Senior Projects

(Offered Fall 2010, Fall 2011, Spring 2012, Summer 2012, Fall 2012, Spring 2013)

Dr. Zhao has mentored a serious of senior projects for more than 25 undergraduate students on a variety of interesting research topics. His projects have been consistently ranked top in the senior project classes and invited to present in front of the industry advisory board a few times. (Read More)


Research Experiences For Undergraduates

(Offered year round)

Dr. Zhao has mentored a serious of REU projects for more than 10 undergraduate students on a variety of interesting research topics. The results of these projects have been published as papers and posters in top conferences of the computing field. (Read More)


vMoodle – Virtualization-based Online Education System

vMoodle a novel virtualization-based online education system built by Dr. Zhao and his students. It allows educators and students to conveniently use virtual machines (VMs) for creating and consuming course materials in an online learning environment. It also supports the use of mobile devices and social networks for enhancing education. (Read More)



In collaboration with IBM, Dr. Zhao hosted a Cloud Hackathon to his Cloud Computing class (CEN4083) and students who are not currently enrolled in the class. CEN4083 is a new course offered as a shared course to FIU, UCF, and USF. IBM supports the hackathon with free trial access to the IBM Bluemix (external link), an industry-leading PaaS platform. (Read More)