Offered Tutorials/Workshops
The following tutorials/workshops are offered for ACMSE 2021. 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 2021, you will receive an email with the information for the connection before the beginning of the event.

An Introduction to MPI Parallel Programming with Python
Presenter: Xuguang Chen (Saint Martin’s University – USA)
Type of Event: Tutorial
Date: Thursday, April 15, 2021
Time: 13:00–14:30 (Central Time)
Duration: 1.5 hours
Room: Room 2

Due to its important applications in many areas such as databases and data mining, real time simulation of systems, and advanced graphics, parallel computing is becoming more and more important. Two widely known parallel programming models today are message passing and shared memory. In the message-passing programming model, each task has private memories, and tasks can communicate with each other via message exchange. MPI (Message Passing Interface) is a specification that is designed by a group of researchers from academia and industry, primarily addressing the message-passing model. MPI specifies the syntax and semantics of a core of library routines useful for message-passing programs and usually implemented in C or Fortran.

Python was conceived in the late 1980s and is an interpreted, high-level and general-purpose programming language. It has not only been applied in many areas such as Machine Learning and Artificial Intelligence, Data Science and Data Visualization, Desktop GUI and Embedded Applications, but also a major programming language in CS1 and CS2 courses. In this tutorial, MPI parallel programming in Python is introduced. It firstly covers where to acquire and how to install the needed software like mpi4py and Anaconda on Windows machines and Linux machines. Then, the tutorial shows how to edit, compile, and run an MPI program in Python on a Windows machine and a Linux machine. After that, the tutorial describes some MPI routines important for parallel programming by comparing the routines in Python with the similar ones in C. Finally, the sample code used in the tutorial will be provided and other materials suitable for self-study will be mentioned.

Python, MPI (Message Passing Interface), Parallel Programming.

Covered Topics:

  • Introduction to the software needed for parallel programming in Python, especially where to get and how to install a copy of the software on a Windows or Linux machine
  • What MPI is and how to implement in Python
  • How to edit, compile, and run an MPI program in Python on a Windows or Linux machine
  • Introduction to some basic MPI routines to parallel programming.

Prerequisites for Participants:
The audience should know some basic knowledge of the programming languages, such as Python, Java, C, C#, Fortran, or C++.

K-12 CS Education in Southeast States
Presenters: Dan Lo (Kennesaw State University – USA), Brian Lawler (Kennesaw State University – USA), Alan Shaw (Kennesaw State University – USA), and Bryan Cox (Georgia Department of Education – USA)
Type of Event: Workshop
Date: Friday, April 16, 2021
Time: 14:30–17:30 (Central Time)
Duration: 3 hours
Room: Room 2

There are 34 States having a K-12 computer science (CS) standards in the United States in 2019. The national momentum, including governor’s partnership and federal policies in supporting K-12 computer science education, is expanding access or increasing equity in teaching computer science at all K-12 schools. However, two-thirds of K-12 Computer Science (CS) teachers in the States do not have a degree in CS. As computer science is moving into K-12 education, we are facing a severe shortage of qualified CS teachers and the shortage is likely to remain for the following decade. According to the 2019 State of Computer Science Education Report, only 45% of our nation’s high schools teach computer science courses and 9 out of 10 parents want their children to learn computer science. By 2024, for example, all high schools in Georgia will be required to teach CS in their curricula. However, there are either no teachers can teach (CS courses not offered) or teachers in other fields will be asked to teach (teaching not effective). This workshop will present the status of K-12 CS education in southeast states and discuss our strategies to tackle this urgent issue. Participants will be grouped to draft plans and present to the audience.

K-12 CS Education, Teacher Education, STEM Education.

Covered Topics:

  • K-12 CS Standards
  • K-12 CS teacher education programs in southern states
  • K-12 CS education in southern states
  • How to attract students to CS teaching careers?
  • How to attract faculty in CS teacher education?
  • What are KSU’s goals in K-12 CS education?
  • Available funding sources
  • Group activities for plan drafting, discussing, and sharing

Prerequisites for Participants:

5G New Radio Simulations with ns-3
Presenters: Lorenza Giupponi (CTTC – Spain) and Tom Henderson (University of Washington – USA)
Type of Event: Tutorial
Date: Saturday, April 17, 2021
Time: 09:30–12:30 (Central Time)
Duration: 3 hours
Room: Room 2

This tutorial is designed as an introduction to conducting 5G New Radio simulations with ns-3, a discrete-event network simulator popular for Internet research. By the end of the session, participants should have a basic understanding of the scope of the 5G New Radio module in ns-3, and how to conduct initial example simulations that use the 5G models.

ns-3, Discrete-event Network Simulation, 5G New Radio.

Covered Topics:

  • ns-3 overview and architecture
  • ns-3 main features and models
  • Basics of 3GPP New Radio (NR) at PHY and MAC
  • Evolution across releases
  • NR model overview and architecture
  • Modeling assumptions
  • Channel model and antenna models
  • NR Radio Protocol Stack model (PHY model, HARQ, MAC models, MAC Scheduler models, RLC and PDCP protocol models, RRC model)
  • Example programs.

Prerequisites for Participants:
Background in ns-3 is preferred but not necessary. Some understanding of discrete-event network simulation, 5G NR technology, and C++ will be advantageous. Linux will be used for all examples.