Course Offerings

Courses at McMaster

CAS 781: Mobility in Aging (Part II) (Winter 2021)

CAS 781: Mobility in Aging (Part I) (Fall 2020)

CAS 772: Mobile Data Analytics (Fall 2018, Fall 2017)

CAS 765: Wireless networking and mobile computing (Fall 2015, Fall 2013)

CAS 4C03: Computer Networks & Security (Winter 2023, Winter 2022, Winter 2021, Winter 2019, Winter 2018,Winter 2017,Winter 2016, Winter 2015)

CAS 3SH3: Operating Systems (Winter 2016,Winter 2015, Winter 2014)

CAS 4J03: Communication Systems (Winter 2014)


Courses at UH

COSC7388: Advanced Topics in Distributed Computing: Mobile Computing in Smart Health and Well Beings (Fall 2012)

COSC3340/6309: Introduction to Automata and Computability

COSC7388: Advanced Topics in Distributed Computing: Mobile Computing Riding on the Cloud (Spring 2011)

With the prevalence of wireless technologies and broadband access, mobile devices have become an essential part of everyday life. According to a recent survey, the number of mobile phones per user has risen to 1.8. While mobile technologies have advanced significantly in processing capability, battery life time, display and user interfaces, they alone cannot meet the processing and storage requirements of more sophisticated applications. Cloud computing on the other hand holds the promises of complimenting mobile technology in those aspects. This course covers topics on mobile computing and cloud computing with focus the synergy between the two. For term projects, students will have access to both hardware and software resources including:

COSC3340/6309: Introduction to Automata and Computability (Spring 2011)

To provide computer science students with a broad understanding of various models of computation, several different characterizations of the power of each model, and the relative power of the models. Students are taught what can and what cannot be computed even by idealized computing devices. They are exposed to essential computational paradigms in a rigorous way.

COSC3340/6309: Introduction to Automata and Computability (Spring 2010)

To provide computer science students with a broad understanding of various models of computation, several different characterizations of the power of each model, and the relative power of the models. Students are taught what can and what cannot be computed even by idealized computing devices. They are exposed to essential computational paradigms in a rigorous way.

COSC6377: Computer Networks (Fall 2009)

Computer networking is a rapidly advancing field. The Internet is already an integral part of society. It is therefore important for computer scientists and computer engineers to be familiar with the fundamentals as well as practices of computer networking. This graduate course will emphasize on the algorithms, protocols and performance evaluation of the Internet. Topics include routing, congestion control, network management, multimedia networks and selected materials in wireless networks. Students will work on hands-on projects using Ethereal and OPNET simulator to experiment with network protocols and tools.

Knowledge in probability and undergraduate level computer network course (COSC4377 or equivalent) required.

COSC7388 Advanced Topics: Distributed Computing (Spring 2009)

With the ever decreasing cost of computation and communication resources, personal computers and home-grown wireless access points become more and more pervasive. In this class, we study the technological implication of such a trend, focusing on two topics: i) wireless mesh networks (WMN) and ii) volunteer computing. We will investigate medium access protocols, routing protocols, measurement studies, testbed experiences for WMNs. On the system side, we will look at cooperative caching, replica selection, management of mesh nodes for volunteer computation, storage and network access. Knowledge in probability and undergraduate level computer network course (COSC4377 or equivalent) required.

COSC6375: Computer System Performance Evaluation (Spring 2009, Co-teaching with Dr. JF Paris)

Evaluation and prediction of the behavior of computer systems and networks are integrated part of the design of these systems. This course will cover a set of techniques that are central to the modeling and performance evaluation of modern computer systems. These techniques are from the areas of experimental design, statistics (both parametric and non-parametric), random number generation, simulation, queuing theory and queuing networks.

COSC6375: Computer System Performance Evaluation (Spring 2008, Co-teaching with Dr. JF Paris)

Evaluation and prediction of the behavior of computer systems and networks are integrated part of the design of these systems. This course will cover a set of techniques that are central to the modeling and performance evaluation of modern computer systems. These techniques are from the areas of experimental design, statistics (both parametric and non-parametric), random number generation, simulation, queuing theory and queuing networks.

COSC6397: Network System Labs (Spring 2008)

The main objective of the network system labs is to further the understanding of the network protocol stack and the state-of-art networking practices through semester long hands-on projects. The secondary objective is to instill good programming styles, software development practice, team working and presentation skills.

COSC6377: Computer Networks (Fall 2007)

Computer networking is a rapidly advancing field. The Internet is already an integral part of society. It is therefore importa nt for computer scientists and computer engineers to be familiar with the fundamentals as well as practices of computer networking. Th is graduate course will emphasize on the algorithms, protocols and performance evaluation of the Internet. Topics include routing, con gestion control, network management, multimedia networks and selected materials in wireless networks. Students will work on hands-on p rojects using Ethereal and NS2 simulator to experiment with network protocols and tools.

Knowledge in probability and undergraduate level computer network course (COSC4377 or equivalent) required.


COSC7397 Advanced Topics: Distributed Computing (Spring 2007, Co-teaching with Dr. Subhlok)

With the ever decreasing cost of computation and communication resources, personal computers and home-grown wireless access points become more and more pervasive. In this class, we study the technological implication of such a trend, focusing on two topics: i) wireless mesh networks (WMN) and ii) volunteer computing. We will investigate medium access protocols, routing protocols, measurement studies, testbed experiences for WMNs. On the system side, we will look at cooperative caching, replica selection, management of mesh nodes for volunteer computation, storage and network access. Knowledge in probability and undergraduate level computer network course (COSC4377 or equivalent) required.

COSC6397: Network System Labs (Spring 2007)

The objective of the network system labs is to further understanding of network protocol stack and state-of-art networking practice through hands-on projects. Topics including network programming, network configuration, local and wide area network measurements.

Students are expected to have taken (or take) COSC4377 or COSC6377 in earlier (or the same) semester(s). Knowledge in C, C++ programming required.

COSC6377: Computer Networks (Fall 2006)

Computer networking is a rapidly advancing field. The Internet is already an integral part of society. It is therefore important for computer scientists and computer engineers to be familiar with the fundamentals as well as practices of computer networking. This graduate course will emphasize on the algorithms, protocols and performance evaluation of the Internet. Topics include routing, congestion control, network management, multimedia networks and selected materials in wireless networks. Students will work on hands-on projects using Ethereal and OPNET simulator to experiment with network protocols and tools.

Knowledge in probability and undergraduate level computer network course (COSC4377 or equivalent) required.

COSC4397/COSC6397: Network System Labs (Spring 2006)

The objective of the network system labs is to further understanding of network protocol stack and state-of-art networking practice through hands-on projects. Topics including network programming, network configuration, local and wide area network measurements.

Students are expected to have taken (or take) COSC4377 or COSC6377 in earlier (or the same) semester(s). Knowledge in C, C++ programming required.

COSC7397 Advanced Topics: Distributed Computing (Spring 2006, Co-teaching with Dr. Subhlok and Dr. Gabriel)

A typical computer is in use for only a few hours a day. The average CPU utilization is well under 5 % for common tasks on a computer. Can we use these millions of idle and underutilised computers to solve challenging problems in Science that require immense computation ? In this course we study how this challenge is being met, some recent successes, and related topics.

COSC6377: Computer Networks (Fall 2005)

Computer networking is a rapidly advancing field. The Internet is already an integral part of society. It is therefore important for computer scientists and computer engineers to be familiar with the fundamentals as well as practices of computer networking. This graduate course will emphasize on the algorithms, protocols and performance evaluation of the Internet. Topics include routing, congestion control, network management, multimedia networks and selected materials in wireless networks. Students will work on hands-on projects to experiment with network protocols and tools.

Knowledge in probability and undergraduate level computer network course (COSC4377 or equivalent) required.

COSC7397 Advanced Topics: Distributed Computing (Spring 2005, Co-teaching with Dr. Subhlok)

With the success of the Internet, large scale distributed systems have gone from being a pure research arena to the backbone for worldwide communication and computing. Distributed system research encompasses various networking technologies, wired or wireless; deals with heterogeneous computing/communication devices from intelligent sensors to high-end computing clusters; leverages and advances knowledge in multiple disciplines. In this course, we will study the fundamentals pertaining to distributed computing and expose students to the current state of research in protocols, architectures and applications in this area.

Tentative topics that will be covered include wireless sensor networks, fault tolerance in Grid computing etc.

COSC 6397 Wireless Networking and Mobile Computing (Fall 2004)

Wireless technology has the advantage of facilitating untethered communication and allows computing anywhere, any time. This goal of this course is to expose students with the latest advancement of wireless networking systems through a combination of textbook materials, research papers and hand-on experiences. The topics will include, basics of wireless communication, medium access schemes, IEEE 802.11/15 standard suites, Mobile IP, (mobile) ad hoc networks, Mobile applications and services.