Ajay Gupta

IEEE-CS TAC Vice-Chair (2022)
IEEE-CS TMRC Member (2013 - )
IEEE-CS TAC Vice-Chair (2015-16)
IEEE-CS TCPP Chair (2011-2015)

Director, WiSe Lab

Western Michigan University
Dept. of Computer Science
Mail Stop 5466
4601 Campus Drive
Kalamazoo, MI, 49008-5466

Phone: 269-276-3101 / 3104
Fax: 269-276-3122
E-Mail: ajay dot gupta at wmich dot edu

CS5950/CS6030 - Cloud, IoT and Big Data Analytics                                

Time & Place: T Th 03:30pm-06:00pm, C0123, Floyd Hall, CEAS,
Call Numbers: 31854 and 31871, 3 credit hours


By Courses: CS3310 or equivalent with a grade of C or better; or permission of the instructor.

By Topic: Advance understanding of high-level language programming - conditional structures; looping structures; arrays; program logic - to solve problems; object oriented programming - be able to create and use objects; software life cycle; validating quality of software produced; sorting and searching algorithms; data structures (linked lists, queues, stacks, hash maps); divide-and-conquer, greedy, dynamic programming, branch-and-bound and backtracking algorithm design techniques; documenting programs effectively and efficiently; team work. Proficient in Java, C, C++, or C# beyond the experience in CS3310. Low-level, systems programming, and Linux programming experience desired. Some mathematics and statistics background. Exposure to machine-learning, Python & R programming are a plus. Strong desire, self-motivation & dedication to learn and contribute to the interesting area of cloud-computing (mainly cloud services, cloud based ML and data analytics).

This course is a 3 credit hour advance undergraduate or introductory graduate level topics course, intended for students who plan to design and develop applications, or pursue research in the exciting area of cloud computing. Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. The primary objective is to provide the introduction to the current practices of cloud computing, often also known as the Internet as a platform. Mainly focusing on cloud computing models, techniques, architectures and data analytics using cloud based services, this course will provide students with the knowledge and hand-on experience in designing and implementing cloud-based software systems. Topics may include advanced web technologies (e.g. AJAX and Mashup), distributed computing models and technologies (Hadoop and MapReduce), Infrastructure-as-a-Service (IaaS), Software as a Service (SaaS), Platform-as-a-Service (PaaS), ML as a service (MaaS), virtualization, parallelization, security/privacy, and other issues in cloud computing. This course will also explore the current challenges facing cloud computing. Approximately three-fourths of this course will be devoted to learning applications programming using cloud infrastructures and the rest to development/understanding of systems issues in installing and implementing clouds and related systesm on different platforms.


Required Texts

Big-Data Analytics for Cloud, IoT & Cognitive Learning by Kai Hwang and Min Chen, 2017, John Wiley & Sons Inc, ISBN: 9781119247029

We will also extensively refer to research papers, material available on the web and material from the following recommended textbooks.

Recommended Texts

AWS Certified Solutions Architect, by Joe Baron, Hisham Baz, Tim Bixter, et. al., 2016, John Wiley & Sons Inc., ISBN 9781119138556.

Cloud Computing for Machine Learning and Cognitive Applications by Kai Hwang, 2017, The MIT Press, ISBN 9780262036412

Hadoop: The Definitive Guide, Third Edition, by Tom White (O'Reilly)

Data-Intensive Text Processing with MapReduce, by Jimmy Lin and Chris Dyer

Mastering Cloud Computing by Buyya, Vecchiola & Selvi, 2013, Morgan Kaufmann Publishers, ISBN 9780124114548


Course Learning Outcomes

  • Students will be able to describe principles behind cloud-computing.
  • Students will be able to write simple application programs using a public  or private cloud infrastructure.
  • Students will be able to explore the creation of massively parallel scalable application systems using As-A-Service framework.
  • Students will be familiar with MapReduce and Hadoop (HDFS).
  • Advance students will be able to install cloud software and run a cloud.

Students' progress and achievements towards reaching the course goals and objectives will be apparent from such measures as: the results and creativity displayed in course assignments; and the contents of and performance on certain exam portions.


Syllabus for Summer II 2018

Topics Covered in Summer II 2018

Also see NSF/IEEE-TCPP Curriculum Initiative and Computer Science Accerditation Board, in particular ACM Computer Science Curricula 2013. For quick preview of PDCS, HPC and cloud computing topics in CS courses read Parallel Processing pages taken from CS Curricula 2013, and TCPP Curriculum Initiave pages from the CS Curricula 2013.