{"id":464,"date":"2022-01-26T08:33:02","date_gmt":"2022-01-26T14:33:02","guid":{"rendered":"http:\/\/acmse.net\/2022\/?page_id=464"},"modified":"2022-05-06T21:05:40","modified_gmt":"2022-05-07T02:05:40","slug":"tutorials-offered","status":"publish","type":"page","link":"https:\/\/acmse.net\/2022\/tutorials-offered\/","title":{"rendered":"Offered Tutorials\/Workshops"},"content":{"rendered":"<p><span style=\"display: block; font-size: 20px; font-weight: bold; padding: 7px; margin-left: 0pt; -webkit-border-radius: 4px; border-radius: 4px; color: white; text-shadow: 3px 3px black; background-image: linear-gradient(135deg, #d31245, #d31245, #d31245, #ef4135, #ef4135, #ef4135, #94dcf4, #1e73be, #1373c3);\">Offered Tutorials\/Workshops<\/span><\/p>\n<p>The following tutorials\/workshops are offered for ACMSE 2022. 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 <a href=\"https:\/\/acmse.net\/2022\/registration\">register<\/a> for ACMSE 2022, you will receive an email with the information for the connection before the beginning of the event.<\/p>\n<ul>\n<li>Tutorial\/Workshop 1: <strong><a href=\"https:\/\/www.acmse.net\/2022\/tutorials-offered#tut-work01\">Practical Use of SDR for Machine Learning in RF Environments<\/a><\/strong><\/li>\n<li>Tutorial\/Workshop 2: <strong><a href=\"https:\/\/www.acmse.net\/2022\/tutorials-offered#tut-work02\">An Introduction to MPI Parallel Programming with Java<\/a><\/strong><\/li>\n<li>Tutorial\/Workshop 3: <strong><a href=\"https:\/\/www.acmse.net\/2022\/tutorials-offered#tut-work03\">Introduction to Embedded System Development<\/a><\/strong><\/li>\n<li>Tutorial\/Workshop 4: <strong><a href=\"https:\/\/www.acmse.net\/2022\/tutorials-offered#tut-work04\">WiFi Simulations with ns-3<\/a><\/strong><\/li>\n<\/ul>\n<p><a name=\"tut-work01\"><\/a><br \/>\n<span style=\"display: block; font-size: 20px; font-weight: bold; padding: 7px; margin-left: 0pt; -webkit-border-radius: 4px; border-radius: 4px; color: white; text-shadow: 3px 3px black; background-image: linear-gradient(135deg, #d31245, #d31245, #d31245, #ef4135, #ef4135, #ef4135, #94dcf4, #1e73be, #1373c3);\">Practical Use of SDR for Machine Learning in RF Environments<\/span><br \/>\n<strong>Presenter: <\/strong>Neel Pandeya (National Instruments in Austin \u2013 USA), Debashri Roy (Northeastern University \u2013 USA), Tathagata Mukherjee (University of Alabama in Huntsville \u2013 USA)<br \/>\n<strong>Type of Event:<\/strong> Tutorial<br \/>\n<strong>Date:<\/strong> Monday, April 18, 2022<br \/>\n<strong>Time:<\/strong> 12:30\u201315:30 (Central Time)<br \/>\n<strong>Duration:<\/strong> 3 hours<br \/>\n<strong>Room:<\/strong> Room 2<\/p>\n<p><strong>Abstract:<\/strong><br \/>\nIn this tutorial we will introduce software defined radios (SDR) and explore the application of machine learning (ML) to radio frequency (RF) systems. An explanation of the SDR hardware and the software tool-chain will be given. Several practical demonstrations will be shown to illustrate the usage and operation of the programmable radios. We will then introduce the basics of radio frequency (RF) machine learning (ML) using software defined radios, and demonstrate the implementation of end-to-end RF ML systems using deep neural networks.<\/p>\n<p><strong>Keywords:<\/strong><br \/>\nSoftware Defined Radios (SDR), USRP, Machine Learning, Radio Frequency (RF).<\/p>\n<p><strong>Covered Topics:<\/strong><br \/>\nWe will use Python extensively for the example applications. Python libraries, such as SciPy, NumPy, Keras, TensorFlow, as well as GNU Radio, will be used in the example code. We will also provide code for integrating the ML systems with the USRP B210 radio from Ettus Research\/National Instruments. The following topics will be covered:<\/p>\n<ul style=\"margin-top:-10px;\">\n<li>Introduction to signal processing concepts for SDR, USRP radio hardware architecture, UHD device driver and UHD API, and GNU Radio<\/li>\n<li>Configuration of the USRP Radio<\/li>\n<li>Demos and examples of various SDR systems<\/li>\n<li>Discussion of FM radio-based positioning using SDR<\/li>\n<li>Introduction to ML Concepts<\/li>\n<li>Introduction to Adversarial Learning<\/li>\n<li>RF ML Problems and Challenges<\/li>\n<li>Introduction to the Transmitter Identification problem<\/li>\n<li>Example of Transmitter Identification using Python Jupyter notebook<\/li>\n<\/ul>\n<p><strong>Prerequisites for Participants:<\/strong><br \/>\nAttendees should have an understanding of algebra, probability, the Linux command line, and basic Python programming.<\/p>\n<p><strong>Slides:<\/strong><br \/>\nSlides of Neel Pandeya: <a href=\"https:\/\/acmse.net\/2022\/wp-content\/slides\/ACMSE2022-Tutorial1-Slides-Neel.pdf\" target=\"_blank\" rel=\"noopener\">here<\/a>.<br \/>\nSlides of Debashri Roy: <a href=\"https:\/\/acmse.net\/2022\/wp-content\/slides\/ACMSE2022-Tutorial1-Slides-Debashri.pdf\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong>Recording:<\/strong><br \/>\nThe tutorial was recorded. You can download it here (<a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/Ed-Uv6GwvPRAlU4fO9yH_tEBE8axnnnP2UiKPIuPvjCcGA?e=YUSbXN\" target=\"_blank\" rel=\"noopener\">part01<\/a> and <a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/ESbWkV3ZSQhJjQHblvZDw_kBhUZnpYtux79AQhNriLqCjw?e=A5nO3C\" target=\"_blank\" rel=\"noopener\">part02<\/a>).<\/p>\n<p><a name=\"tut-work02\"><\/a><br \/>\n<span style=\"display: block; font-size: 20px; font-weight: bold; padding: 7px; margin-left: 0pt; -webkit-border-radius: 4px; border-radius: 4px; color: white; text-shadow: 3px 3px black; background-image: linear-gradient(135deg, #d31245, #d31245, #d31245, #ef4135, #ef4135, #ef4135, #94dcf4, #1e73be, #1373c3);\">An Introduction to MPI Parallel Programming with Java<\/span><br \/>\n<strong>Presenter:<\/strong> Xuguang Chen (Saint Martin&#8217;s University &#8211; USA)<br \/>\n<strong>Type of Event:<\/strong> Tutorial<br \/>\n<strong>Date:<\/strong> Monday, April 18, 2022<br \/>\n<strong>Time:<\/strong> 16:00\u201317:30 (Central Time)<br \/>\n<strong>Duration:<\/strong> 1.5 hours<br \/>\n<strong>Room:<\/strong> Room 2<\/p>\n<p><strong>Abstract:<\/strong><br \/>\nParallel computing can be applied in many areas such as databases and data mining, real time simulations of systems, and advanced graphics, so it is becoming more and more important in recent years. There are two widely known parallel programming models today: (1) the message passing model and (2) the shared memory model. In the message-passing model, each task has its own private memory, and tasks can communicate with each other via message exchange. MPI (Message Passing Interface) is a specification primarily addressing the message-passing model and designed by the researchers from academia and industry. MPI specifies the syntax and semantics of a core of library routines useful for message-passing programs, and it is widely implemented in C or Fortran.<\/p>\n<p>Java is a high-level, class-based, object-oriented, and general-purpose programming language, intended to be independent of the platform. It has been applied to many areas, including parallel computing. <a href=\"http:\/\/mpjexpress.org\" target=\"_blank\" rel=\"noopener noreferrer\">MPJ Express<\/a> is an open-source Java message passing library, allowing application developers to write and execute parallel applications for multicore processors and compute clusters.<\/p>\n<p>In this tutorial, MPI parallel programming in Java is introduced, using the <a href=\"http:\/\/mpjexpress.org\" target=\"_blank\" rel=\"noopener noreferrer\">MPJ Express<\/a> library as an example. The tutorial starts by covering where to acquire and how to install the needed <a href=\"http:\/\/mpjexpress.org\" target=\"_blank\" rel=\"noopener noreferrer\">MPJ Express<\/a> software on Windows and Linux machines. Then, we will see how to edit, compile, and run an MPI program in Java on Windows and Linux machines. The tutorial will also describe the applications of several <a href=\"http:\/\/mpjexpress.org\" target=\"_blank\" rel=\"noopener noreferrer\">MPJ Express<\/a> routines with examples, which are vital for point-to-point parallel programming and collective communications, such as send\/receive, broadcast, reduce, scatter, and gather operations. Additionally, and using examples, we will introduce how to use the <a href=\"http:\/\/mpjexpress.org\" target=\"_blank\" rel=\"noopener noreferrer\">MPJ Express<\/a> library to write Java applications that communicate with a MySQL database. Finally, the sample code used in the tutorial will be provided and other materials suitable for self-study will be explained.<\/p>\n<p><strong>Keywords:<\/strong><br \/>\nMPJ Express, Java, MPI (Message Passing Interface), MySQL, Parallel Programming.<\/p>\n<p><strong>Covered Topics:<\/strong><\/p>\n<ul style=\"margin-top:-10px;\">\n<li>Introduction to the software needed for parallel programming in Java, especially where to get and how to install a copy of MPJ Express library on a Windows or Linux machine.<\/li>\n<li>Edition, compilation, and execution of an MPI program in Java on a Windows or Linux machine.<\/li>\n<li>Introduction to several basic MPJ Express routines important to parallel programming and database communication.<\/li>\n<\/ul>\n<p><strong>Prerequisites for Participants:<\/strong><br \/>\nThe audience should have some basic knowledge of the programming languages, such as Python, Java, C, C#, Fortran, or C++.<\/p>\n<p><strong>Slides:<\/strong><br \/>\nSlides: <a href=\"https:\/\/acmse.net\/2022\/wp-content\/slides\/ACMSE2022-Tutorial2-Slides.pdf\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong>Recording:<\/strong><br \/>\nThe tutorial was recorded. You can download it <a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/EcZ6J8vOxOVOq_S0LS5TSu0BB0ZgKT6kGhDW-h6leIRcEA?e=AnrQS0\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><a name=\"tut-work03\"><\/a><br \/>\n<span style=\"display: block; font-size: 20px; font-weight: bold; padding: 7px; margin-left: 0pt; -webkit-border-radius: 4px; border-radius: 4px; color: white; text-shadow: 3px 3px black; background-image: linear-gradient(135deg, #d31245, #d31245, #d31245, #ef4135, #ef4135, #ef4135, #94dcf4, #1e73be, #1373c3);\">Introduction to Embedded System Development<\/span><br \/>\n<strong>Presenter: <\/strong>Jay Snellen (Jacksonville State University \u2013 USA)<br \/>\n<strong>Type of Event:<\/strong> Tutorial<br \/>\n<strong>Date:<\/strong> Tuesday, April 19, 2022<br \/>\n<strong>Time:<\/strong> 13:00\u201316:00 (Central Time)<br \/>\n<strong>Duration:<\/strong> 3 hours<br \/>\n<strong>Room:<\/strong> Room 2<\/p>\n<p><strong>Abstract:<\/strong><br \/>\n&#8220;Embedded systems&#8221; are computers that are built into another device, and are typically dedicated to controlling or monitoring the device. The operation of embedded systems are so tightly integrated with the larger device that, from the user&#8217;s point of view, the computer cannot be considered in isolation; the correct operation of the embedded system is synonymous with the correct functioning of the device.<\/p>\n<p>The development of embedded systems entails a number of unique challenges: resources are often limited, and because embedded systems must provide reliable and uninterrupted long-term operation with little or no hands-on maintenance, correctness and predictability are essential. These challenges make embedded systems development a fruitful area of exploration for students of Computer Science, even for novice programmers. It can add to one&#8217;s appreciation of the skills required, which can also improve one&#8217;s skills in developing more conventional computer applications. Most computers in the world are embedded systems, and an increasing percentage of occupations rely on them, making the exploration of embedded systems programming a worthwhile career investment. Learning to work with embedded systems is also highly enjoyable: it involves solving a range of interesting problems, and working with an interesting variety of platforms beyond conventional desktop and laptop computers.<\/p>\n<p>This tutorial will introducing the concepts and ideals of embedded systems. After establishing the necessary background, it will proceed to introduce embedded systems programming through a variety of simple hands-on exercises with major embedded system platforms. It will begin with small-scale embedded systems using microcontrollers; the microcontroller platforms introduced will be the MCS-51 family of 8-bit microcontrollers, which have long been widely used in industrial and educational applications, as well as the Arduino, a family of consumer-oriented microcontroller kits which are popularly used for electronics prototyping. It will conclude with an introduction to single-board computers, with an emphasis on the Raspberry Pi.<\/p>\n<p><strong>Keywords:<\/strong><br \/>\nEmbedded Systems, C, Firmware, Microcontrollers, MCS-51, 8051, Arduino, Raspberry Pi<\/p>\n<p><strong>Covered Topics:<\/strong><\/p>\n<ul style=\"margin-top:-10px;\">\n<li>The concepts and ideals of embedded systems<\/li>\n<li>The role of cross-compilers, cross-assemblers, and linkers<\/li>\n<li>Using Integrated Development Environments (IDEs) for embedded systems<\/li>\n<li>The processes of compiling, downloading, and executing firmware for embedded systems<\/li>\n<li>Embedded systems monitoring and troubleshooting using in-circuit debugging<\/li>\n<li>Embedded systems communications<\/li>\n<\/ul>\n<p><strong>Prerequisites for Participants:<\/strong><br \/>\nThe audience should have a basic knowledge of programming languages such as C, C++, and Python.<\/p>\n<p><strong>Material:<\/strong><br \/>\nSlides: <a href=\"https:\/\/www.acmse.net\/2022\/wp-content\/slides\/ACMSE2022-Tutorial3-Slides.zip\" target=\"_blank\" rel=\"noopener\">here<\/a>.<br \/>\nResources: <a href=\"https:\/\/www.acmse.net\/2022\/wp-content\/slides\/ACMSE2022-Tutorial3-Resources.zip\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong>Recording:<\/strong><br \/>\nThe tutorial was recorded. You can download it here (<a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/ETFYqat0gI1KlEQZN_WHnIUBb9FA0wzi5E4QOFoxffV-uA?e=1lkUk3\" target=\"_blank\" rel=\"noopener\">part01<\/a> and <a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/EeZSIFIRNN5DngizXMqvdpoB9OEPvRySBMyZHQqmKXRPwA?e=kCB6CU\" target=\"_blank\" rel=\"noopener\">part02<\/a>).<\/p>\n<p><a name=\"tut-work04\"><\/a><br \/>\n<span style=\"display: block; font-size: 20px; font-weight: bold; padding: 7px; margin-left: 0pt; -webkit-border-radius: 4px; border-radius: 4px; color: white; text-shadow: 3px 3px black; background-image: linear-gradient(135deg, #d31245, #d31245, #d31245, #ef4135, #ef4135, #ef4135, #94dcf4, #1e73be, #1373c3);\">WiFi Simulations with ns-3<\/span><br \/>\n<strong>Presenter:<\/strong> Tom Henderson (University of Washington \u2013 USA), Hao Yin (University of Washington \u2013 USA)<br \/>\n<strong>Type of Event:<\/strong> Tutorial<br \/>\n<strong>Date:<\/strong> Wednesday, April 20, 2022<br \/>\n<strong>Time:<\/strong> 09:30\u201312:30 (Central Time)<br \/>\n<strong>Duration:<\/strong> 3 hours<br \/>\n<strong>Room:<\/strong> Room 2<\/p>\n<p><strong>Abstract:<\/strong><br \/>\nThis tutorial is designed as an introduction to WiFi simulations with <a href=\"https:\/\/www.nsnam.org\" target=\"_blank\" rel=\"noopener noreferrer\">ns-3<\/a>, 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 WiFi module in <a href=\"https:\/\/www.nsnam.org\" target=\"_blank\" rel=\"noopener noreferrer\">ns-3<\/a>, and how to conduct initial example simulations that use the WiFi models.<\/p>\n<p><strong>Keywords:<\/strong><br \/>\nns-3, Discrete-event Network Simulation, WiFi.<\/p>\n<p><strong>Covered Topics:<\/strong><\/p>\n<ul style=\"margin-top:-10px;\">\n<li>ns-3 overview and architecture<\/li>\n<li>ns-3 main features and models<\/li>\n<li>Basics of WiFi at PHY and MAC<\/li>\n<li>Evolution across releases<\/li>\n<li>Worked example programs and visualizations: (1) DCF and EDCA channel access, (2) Ad Hoc and Mesh networks, and (3) WiFi 6 features<\/li>\n<\/ul>\n<p><strong>Prerequisites for Participants:<\/strong><br \/>\nBackground in <a href=\"https:\/\/www.nsnam.org\" target=\"_blank\" rel=\"noopener noreferrer\">ns-3<\/a> is preferred but not necessary. Some understanding of discrete-event network simulation, WiFi technology, and C++ will be advantageous. Linux or MacOS machines or virtual machines are needed to run <a href=\"https:\/\/www.nsnam.org\" target=\"_blank\" rel=\"noopener noreferrer\">ns-3<\/a>.<\/p>\n<p><strong>Slides:<\/strong><br \/>\nSlides: <a href=\"https:\/\/acmse.net\/2022\/wp-content\/slides\/ACMSE2022-Tutorial4-Slides.pdf\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong>Recording:<\/strong><br \/>\nThe tutorial was recorded. You can download it here (<a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/ERa7h3WPuMlDmCSDfm_M2ZcB1ZxJEGXwutFnSP5mcDk8VA?e=7d4kPY\" target=\"_blank\" rel=\"noopener\">part01<\/a> and <a href=\"https:\/\/jsu-my.sharepoint.com\/:v:\/g\/personal\/egamess_jsu_edu\/ETKVoIYeE4BArd3uaX2tSdUB9E-rRav8lTyU-b92FvASQQ?e=RWLnOV\" target=\"_blank\" rel=\"noopener\">part02<\/a>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Offered Tutorials\/Workshops The following tutorials\/workshops are offered for ACMSE 2022. Since the event is totally virtual, there is no limit on the number of participants. We will use videoconferencing technology. Hence, you are encouraged&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-464","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/pages\/464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/comments?post=464"}],"version-history":[{"count":68,"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/pages\/464\/revisions"}],"predecessor-version":[{"id":731,"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/pages\/464\/revisions\/731"}],"wp:attachment":[{"href":"https:\/\/acmse.net\/2022\/wp-json\/wp\/v2\/media?parent=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}