Courses taught


CpE 664: Sensor Actuator Networks (Fall 2014, Fall 2013, Fall 2012, Fall 2011)


In this course, the students first learn elements of distributed computing and then apply them in the context of large scale networked applications. Students gain hands-on experience in programming embedded systems using a network of wireless sensor motes (typically TelosB motes). Students also work on simulations of large scale networked systems using ns-3. The course has been designed to accommodate students from CS, CpE (with background in operating systems, computer networks, computer architecture, algorithms etc.) and EE disciplines (with background in communication, signal processing, analog hardware etc.), who can collaborate on team projects and design systems that often require interdisciplinary expertise.


Detailed course syllabus and outcomes can be found at the following link. Recent WSN class projects can be found here.


CS 350: Computer System Concepts (Spring 2014)


The aim of this course is to provide an introduction to fundamental topics in computer systems, especially the hardware-software interface, and some basic system-call interfaces provided by the operating system. In order to do so, the class provides: (1) an in-depth coverage of the programming language of choice for system level programming, C, (2) an introductory coverage of principles behind operating systems, and (3) examples of utilizing some basic operating systems interfaces using C such as forking processes, accessing file systems, inter-process communication and socket programming. Basic networking concepts will also be introduced from the point of view of inter-process communication.


Detailed course syllabus and outcomes can be found at the following link



CS 453: Data Communication and Networking (Spring 2014, 2013, 2012, 2011, 2010, 2009)


This course provides an introduction to the design of computer networks. The Internet is used as a case study. Apart from the syntax and semantics of the different network protocols, a particular emphasis is laid on the principles behind designing protocols that are scalable and fault-tolerant. Instead of strictly following the textbook, an effort has been made to provide students with practical hands-on training.

         Tours of network router rooms in WVU are organized to gain a practical insight into design of the organizational network architecture and to understand configuration of routers and VLAN switches.

         Assignments have been designed that involve intercepting packet flows and understanding protocols in action

         Assignments also include programming client server applications


Detailed course syllabus and outcomes can be found at the following link



CS/EE 591: Introduction to Wireless Sensor Networks (Fall 2010, Fall 2009, Fall 2008)