Offered Tutorials/Workshops

Offered Tutorials/Workshops

The following tutorials/workshops are offered for ACMSE 2023. Since the event is totally virtual, there is no limit on the number of participants. We will use videoconferencing technology. Hence, you are encouraged to attend them. If you register for ACMSE 2023, you will receive an email with the information for the connection before the beginning of the event.


Emulating State-of-the-Art Network Protocols using Linux Network Namespaces and NeST

Presenters: Mohit P. Tahiliani (National Institute of Technology Karnataka – India), Dhanasekhar M (National Institute of Technology Karnataka – India), Narayan G (National Institute of Technology Karnataka – India), Shanthanu S Rai (National Institute of Technology Karnataka – India)
Type of Event: Tutorial
Date: Wednesday, April 12, 2023
Time: 11:00–14:00 (Eastern Time)
Duration: 3 hours
Room: Room 2

Abstract:
Topologies built using Linux network namespaces are a cost-effective and scalable alternative to physical testbeds for the design and experimental evaluation of network protocols. These evaluations give us a practical understanding of how various networking algorithms would perform in the real world. However, setting up testbeds using scripts and obtaining experiment results in the desired format using network namespaces can be quite cumbersome and error-prone, especially if the topology configuration is complex. This tutorial aims to introduce an open source Python-based package called NeST (Network Stack Tester), which can be used to quickly evaluate state-of-the-art network protocols, such as DNS over HTTPS (DoH), Message Queue Telemetry Transport (MQTT), BBR congestion control algorithm, Multipath TCP (MPTCP), QUIC, MPLS and others. NeST uses Linux network namespaces and provides APIs to create complex emulated networks, run tests and extract the statistics using socket statistics in a single Python script. This tutorial provides details about the architecture of NeST and give hands-on experience of working with it. The hands-on sessions would focus on setting up a virtual topology and running experiments on it by using NeST’s APIs to evaluate the network protocols that are being actively studied today. This would allow the participants to quickly get started with learning NeST and explore its features.

Keywords:
NeST (Network Stack Tester), Linux Network Namespaces, Network Testbeds, Emulated Networks.

Covered Topics:
The primary objectives of this tutorial are: (1) Introduction to Linux network namespaces, (2) Introduction to the architecture of NeST and overview of its APIs, (3) Setting up an experimental topology to using NeST, and (4) Emulating state-of-the-art network protocols. The covered topics includes:

  • Introduction to network namespaces
  • Introduction to NeST architecture
  • Overview of APIs in NeST
  • Features of NeST
  • Walk through sample programs of NeST
  • Emulating DoH, MQTT, BBR, MPTCP, QUIC and MPLS
  • Obtaining experimental results for the network protocols mentioned above

Prerequisites for Participants:
Participants should have networking background, be familiar with the Linux command line, and have basic Python programming.

Recording:
The tutorial was recorded. You can download it here (part01 and part02).


Incorporating Fundamentals of Web Accessibility Modules into Computer Science Curriculum

Presenters: Ishi Agrawal (Saint Martin’s University – USA), Radana Dvorak (Saint Martin’s University – USA)
Type of Event: Tutorial
Date: Thursday, April 13, 2023
Time: 14:00–16:30 (Eastern Time)
Duration: 2.5 hours
Room: Room 2

Abstract:
Web applications developed today must be accessible to all people, including people with various challenges such as vision, auditory, cognitive, learning, and other impairments. Such disabilities change the way people interact with web applications. Often, universities teach web application development with an emphasis on coding business functionality, overlooking accessibility. Web Accessibility should be a required part of the computer science curriculum. Students need to understand the importance of implementing web accessibility in web-based applications. We believe it should be added to the curriculum when students develop web-based class projects and capstone projects. A comprehensive month-long course on Web Accessibility and developed, split into four modules that can be integrated into computer science courses. Each module contains detailed lesson plans, PowerPoint slides, and weekly homework assignments. This tutorial is designed to demonstrate the select contents of the modules, the experiential learning, and how individual modules, or all four, can be integrated into courses.

Keywords:
Web Accessibility, Web Applications, Curriculum, Disabilities, ADA Act.

Covered Topics:
Most designers, developers, and users of web applications are sighted; often, they are unaware of nuances that affect accessibility in projects that can leave an application inaccessible to someone using a screen reader and other assistive technologies. In this tutorial, participants will learn about the various issues people with hearing and sight disabilities are confronted with. Participants will gain hands-on experience with assistive technology to learn how users with vision impairments interact with web applications. Participants will learn to use open source NonVisual Desktop Access (NVDA) screen reader to navigate and analyze web pages that provide ‘good accessibility’ and ‘bad accessibility’. By comparing screen reader usage on inaccessible and accessible web pages, we can teach future developers to be proactive in developing applications with accessibility in mind ensuring a more inclusive end-user experience.

This tutorial will cover all the topics necessary to run a series of labs with the NVDA screen reader, including:

  • Installing and setting up the NVDA screen reader with the modifier key
  • Installing the Focus add-on
  • Applying a series of NVDA commands: (1) Adjusting voice settings (Pitch, Volume, Voice type, Rate and rate boost), (2) Reading chunks of text (Line by line, Single word, Spelling a word, Character by character, Reading the entire chunk)
  • Applying NVDA commands on accessible texts: (1) Navigating headings and levels, (2) Exploring tables and table cells, (3) Completing forms
  • Applying NVDA commands on inaccessible texts: (1) Navigating headings and levels, (2) Exploring tables and table cells, (3) Completing forms
  • Discussion on “Forms mode” vs. “Browse mode”.

Prerequisites for Participants:
Participants should have a basic understanding of computer science concepts, and be familiar with HTML, CSS, and JS.

Slides:
Slides: here.

Recording:
The tutorial was recorded. You can download it here (part01 and part02).


Advanced Topics in an Introductory Database Class

Presenters: Suhair Amer (Southeast Missouri State University – USA), Mario Guimaraes (Southeast Missouri State University – USA)
Type of Event: Workshop
Date: Friday, April 14, 2023
Time: 10:30–13:30 (Eastern Time)
Duration: 3 hours
Room: Room 2

Abstract:
This workshop will discuss Teaching Advanced Database Topics in an Intro to Database Class. In addition to teaching Relational Models, Database Design, and SQL, our institution covers optional topics such as: database security, data warehouse and data mining, relational algebra, stored procedures and triggers, concurrency, performance, introduction to SQL programming techniques: JDBC & SQLJ, web database programming using PHP, NoSQL- MongoDB, DB Ethics. We will debate over exercises, tools to use, and have an open discussion on which topics and what depth they should/can be covered.

Slides:
Slides: here.

Recording:
The workshop was recorded. You can download it here.