Pre-event Tutorial: Introduction to Python

Faculty Supervisor: Donna French

Introduction to Python

Description: Interested in one of the OurCS@DFW Workshops, but don’t have any Python experience? Python is an easy language for anyone to learn even for coding beginners. Unlike some programming languages, Python's use is expanding and covers a range of programming needs, from basic to advanced. It is frequently used in data science and machine learning which makes it an excellent choice for those interested in those topics. Python is considered a general-purpose language and offers multiple uses in web, software, game development, and more. This tutorial takes place one week before the OurCS@DFW workshops. If you are interested in learning just enough Python to get you started on your own Python journey or to prepare you for one of the workshops, then this tutorial is for you.

Expected coding experience: Basic-level coding experience in some other language – no experience in Python itself is expected. This tutorial will be most beneficial to those with some type of programming background. This background does not need to be extensive – a high school level Java class for example would be sufficient. Due to the limited amount of time, the tutorial, as an example, will focus on how to implement a for loop in Python as opposed to what is a for loop.

Google Machine Learning Tutorial: Getting started with TensorFlow

Speaker: Josh Gordon

About the speaker: Josh Gordon works on the TensorFlow team at Google, and teaches Applied Deep Learning at Columbia University in NYC.

Introduction to Python

Description: Please join us for this 2.5-hour tutorial, taught at an introductory level. You'll learn how to get started writing neural networks using TensorFlow, the world's most popular open source machine learning framework. There's nothing to install in advance, we will use Colaboratory (a free, hosted Juptyer notebook environment that includes a GPU). We will walk through two tutorials, Basic image classification and Image classification, with lots of time for Q&A.

Expected coding experience: Students are expected to have basic Python coding experience. If not, please sign up for the OurCS@DFW pre-event tutorial Introduction to Python on Feb. 13th. Prior knowledge about machine learning is not expected. You are not expected to become fluent in TensorFlow or machine learning after the tutorial. The goal of the tutorial is to get you started.

Workshop Projects

As part of the application for OurCS@DFW Workshops, students will select the top three projects they would like to work on. Each student will be placed in ONE project group by OurCS@DFW organizers. We will do our best to accommodate your preferences. Learn more about the projects we are offering below.

[CloudMining] Building a Cloud-based, Secure, Scalable, Data Analytic Web Application with Visualization

Faculty Supervisor: David Levine

Cloud Mining

Description: This workshop will assist you in creating your own cloud based web application where you will create and manage a database and allow users to do data exploration and mining through a browser. Results will be presented in both textual form and as graphics, such as pie charts and bar charts. In addition to presenting a step by step tutorial where you will build a functional web application on a cloud service provider, we will discuss, and show how to make your application "more" secure against attacks, as well as making your application scalable to many thousands of simultaneous users. This workshop will be presented in a "cookbook" style, with no "theory", and many examples. No prior web programming or database knowledge is required, but you should have some programming experience in any programming language and not be afraid to try out new things.

Expected coding experience: Basic-level coding experience. While basic coding experience is expected, to understand data types and flow control, no prior experience in Python, SQL, or JavaScript is expected.

[CAV] Machine Learning Enabled Cooperative Perception for Connected Autonomous Vehicles

Faculty Supervisor: Qing Yang and Song Fu

Autonomous vehicle

Description: Autonomous vehicles may make wrong decisions due to inaccurate detection and recognition. Therefore, an intelligent vehicle can combine its own data with that of other vehicles to enhance perceptive ability, and thus improve detection accuracy and driving safety. By understanding what and how data are exchanged among autonomous vehicles, from a machine learning perspective, it is possible to realize precise cooperative perception on autonomous vehicles, enabling a massive amount of sensor information to be shared amongst vehicles. Such an advance can be extremely useful for extending the line of sight and field of view of autonomous vehicles, which otherwise suffers from blind spots and occlusions. The extended field of view on autonomous vehicles might be beneficial at times where there are occlusions preventing a complete perception of the environment. In this workshop, we will explore the possibility of exchanging and fusing data generated from multiple vehicles to achieve a more accurate cooperative perception.

Expected coding experience: Basic-level coding experience. Familiar with Linux OS and has a basic understanding of Python.

[CoWiz++] COVID-19 Visualization Dashboard using multilayer Network (MLN) Analysis

Faculty Supervisor: Sharma Chakravarthy

screenshot of web browser showing map of the US

Description: Currently, we have developed a dashboard for visualizing COVID-19 data analysis. Please check it out: Cowiz dashboard: (currently works on laptop and desktops), and YouTube video: As part of this workshop, participants will understand the architecture and implementation of cowiz dashboard and extend it with additional layers to visualize more information. Underneath, COVID data sets are represented as multilayer MLNs which are analyzed using Mining/Machine Learning (or ML) packages to generate displays for visualization of results. You will learn how to select and use various visualization tools, such as Gephi, GraphViz, plotly or Python NetworkX packages (Matplotlib). You will also understand the detailed architecture of the dashboard and how the server is used efficiently for generating analysis results. You will also appreciate techniques used for reducing response time. You will leave this workshop with a general understanding of analysis of different types of data sets and how to derive useful information for visualization (Big Data Analytics). You will get exposed to cutting-edge solutions and hands-on experience in transitioning raw data to easy-to-understand visualization.

Expected coding experience: Basic Python knowledge.

[Jellyfish] Development of a Cloud-Based IoT System for Tap Water Quality Monitoring

Faculty Supervisor: Ming Li

Tap Water Quality Monitoring

Description: Are you interested monitoring tap water quality of your home in an automatic way? As part of this workshop, you will learn how to build your own IoT based Tap Water Quality Monitoring System with the widely used Arduino UNO/ESP8266 (MCU). You will generate your own dataset that reflects the turbidity and PH value of tap water in your homes and also produce a water-quality map for live visualization. At the end of this workshop, you are expected to have the fundamental knowledge on how to create customized IoT systems and also be exposed to cloud computing technologies. You will also be introduced to state-of-the-art research problems and solutions.

Expected coding experience: Basic-level coding experience, C/C++ and Python.

[model-is-you] Thinking Declaratively in an Imperative World

Faculty Supervisor: Allison Sullivan

Thinking Declaratively in an Imperative World

Description: As software systems become ever more complex, subsequent failures are growing more costly. Software modeling can be leveraged to improve the quality and integrity of software systems. Models enable automated reasoning and correction of system designs before system construction, and automated testing and debugging of the implementation afterwards. However, software modeling languages are declarative in nature, not imperative. Where imperative languages such as Java or C++ use statements that define a sequence of operation, with, at most, changes to a program’s state, declarative languages use statements that outline the facts of the solution space or operating behavior as a whole, without any notion of control flow. As such, becoming adept at declarative programming forms the first major obstacle towards reaping the benefits of software modeling. In this workshop, you will learn how to problem solve from a declarative perspective rather than an imperative one. Students will build their declarative problem-solving skills by exploring Baba-Is-You levels and then hone their skills solving logic problems in Z3, a SMT solver developed by Microsoft Research.

Expected coding experience: Basic-level coding experience. Some Z3 models of the logic problems we explore will involve writing/reasoning over loops and arrays. Z3 has its own input language but also contains bindings to Java, C++ and python, meaning you can write Z3 models in any of these languages rather than Z3’s default input (SMT-Lib).

[SmartHome]Home Automation System Design

Faculty Supervisor: Habeeb Olufowobi

Graphic Implying a smart, connected home

Description: The concept of home automation and control has evolved into incorporating the capabilities of the Internet of Things (IoT) to provide enhanced benefits for home management. Dubbed Smart Home, automation fuses several embedded sensors and devices enabled with connectivity that allows for communication with the environment and other devices. Automation and the IoT have become ubiquitous providing users with a convenient lifestyle and heightened security. The smart home automation intends to control many devices using different protocols, such as Wi-Fi, Bluetooth, ZigBee, for an enhanced way of life and safety, and has morphed into the smart city ecosystem that is an exciting research area aiming to provide improved city services and a higher quality of life.

In this workshop, we aim to develop a prototype home automation system capable of managing different devices in our home. Our prototype system will combine embedded system techniques with mobile applications and GSM technology for communication. Participants will develop a system that connects electrical appliances with wireless devices, such as Bluetooth, and can be controlled via a mobile application and gestures. Participants will also program a prototype system to control the appliances automatically based on the user's needs and extend it with preprogrammed schedules. At the end of the workshop, participants will gain an understanding and working knowledge of smart home applications controlled through their mobile devices and movements in the prototyped system environment, read connection diagrams and pin layouts, and develop app using MIT App Inventor.

Expected coding experience: Basic-level coding experience.

[Misinfodemic] Tracking COVID-19 Misinformation

Faculty Supervisor: Chengkai Li

Constructing Deep Learning Models for Detecting Check-Worthy Factual Claims

Description: In this workshop we will build machine learning models to detect the stance of tweets toward misinformation and to further catalog the tweets according to a taxonomy of different types of misinformation. Particularly, we will focus on misinformation related to the COVID-19 pandemic and integrate the project outcome in a COVID-19 information dashboard Students in the workshop will study the concepts and techniques of natural language processing, text classification and neural networks. They will learn to use various Python libraries such as TensorFlow in building machine learning and deep learning models for stance detection and classifying tweets based on the taxonomy. They will also work on an active research problem that can have important societal impacts.

Expected coding experience: Basic coding experience in Python.

[GraphFun] Graph Theory: From Puzzles to Practical Problems

Faculty Supervisor: Sanjukta Bhowmick

From Puzzles to Practical Problems

Description: Graph theory is a fundamental area of computer science, that has applications in many areas from robotics to GPS systems to bioinformatics to computational epidemiology to social networking. Beyond these practical applications, graph theory is also used in solving interesting mathematical puzzles, from 8puzzle to sudoku.

This workshop is targeted to high school students or freshmen undergraduates who are new to graph theory and algorithms. We will introduce how graph theory can be used to solve puzzles and how the concepts for solving these puzzles can be extended to practical applications. This workshop aims to advance the participants’ computational thinking while providing an introduction to the basic concepts of graph theory. No coding experience or prior knowledge of algorithms or graphs is necessary.

Expected coding experience: Zero or almost no coding experience. Students need to have access to a machine where they can run C++, Python codes and download software.

[IoT2IoT] Beyond Being There: Distributed Interactions for the Internet of Things

Faculty Supervisor: Cesar Torres

Distributed Interactions for the Internet of Things

Description: The COVID-19 pandemic has taken our society through a crash-course in virtual communication. Virtual communication is inherently different from face-to-face (F2F) communication and the research area of Human-Computer Interaction has a long history in understanding and designing interactions that go beyond being there. With the development of the Internet of Things (IoT), we now have the abilities to control, program, and sense physical spaces at a distance. In this workshop, we will develop novel interactions that send lights, vibrations, sounds, motions, and heat wirelessly from one person to another in order to enhance virtual communication. How might a virtual classroom benefit from this new interaction modality: Have a question? Why not turn on the light on your friend’s device. Class falling asleep? How about you buzz them awake. Each of you will receive supplies for creating an Arduino hardware prototype where we will program interaction logic in Python and develop a web-based user interface for our IoT interaction.

Expected coding experience: To participate in technical development, an introductory computer science or equivalent is required. Alternatively, students can prepare for this workshop by taking: Intro to HTML/CSS, Intro to JQuery, and Intro to Arduino. No prior coding experience is required for engaging with the interaction design component of this workshop. A visual design background or sensitivity is especially valuable.

[VIRUS] How to Take Apart a Computer Virus

Faculty Supervisor: Sean Pierce & Carter Tiernan

How to Take Apart a Computer Virus

Description: In this workshop you will disassemble, analyze, and combat a multi-layer cross platform malware sample. You will learn about modern threats and how to combat them.

Expected coding experience: Zero or almost no coding experience. However we will be looking at a lot of scripting level code. Familiarity with programming concepts such as if statements and loops especially in PowerShell/Bash/JavaScript is highly recommended.

[SeeSounds] Eyes that See Sounds: Detecting Audio Events with Deep Learning

Faculty Supervisor: Shirin Nilizadeh

Eyes that See Sounds Workshop

Description: Audio Event Detection (AED) systems capture audio from the environment and detect the presence of a specific sound of interest, such as gun shots, glass breaking, and dog barking. These systems make an extensive use of deep learning classifiers as their primary detection algorithm. In this workshop, we will employ deep learning, particularly Convolutional Neural Networks (CNNs), to develop an audio detection system. CNNs are widely known to be good classifiers for image classification tasks. Audio is not an image; however, we can use images of sounds, i.e., spectrograms, as input to CNNs, thus enabling the use of machine vision to perform “machine hearing." In this workshop, you will be given a dataset of sounds and will apply supervised machine learning for the detection of events. You will: a) make use of Keras library built on top of Tensorflow 2.0, as well as additional supporting libraries; b) learn the basics about spectrograms and their conversion from audio; c) get to know about data augmentation techniques; and d) with some examples, examine if adversaries can add noise to the environment to avoid detection by these systems.

Expected coding experience: Basic-level coding experience and intermediate-level coding experience.

[iMask] Building a Smart Personal Mask for Continuous Health Monitoring

Faculty Supervisor: VP Nguyen

Smart Personal Mask for Continuous Health Monitoring

Description: With the impact of the COVID-19 pandemic, we rely on face masks to protect ourselves and others. The face masks combined with other preventive measures such as frequent hand-washing and social distancing, help slow the spread of the virus. In this workshop, you will learn how to build a smart mask, namely iMask that is able to capture your health information (e.g., temperature, humidity, and pattern of your breath) in real-time. iMask is wirelessly connected to a host device at which sensing information are stored, analyzed, and visualized. At the end of this workshop, you are expected to have enough knowledge to build a basic working wireless and wearable system for healthcare monitoring applications. You will also be introduced to some state-of-the-art wireless, mobile, and wearable systems developed by Wireless and Sensor Systems Lab at UT Arlington for human health and environmental monitoring.

Expected coding experience: Basic-level coding experience, C/C++ and Python.

A figure

OurCS@DFW Workshops - hands-on projects for undergraduate and high-school women and underrepresented minority students
February 26-28, 2021

Google Machine Learning Tutorial: Getting started with TensorFlow - open to everyone (priority will be given to women and underrepresented minority students)
February 26, 2021

Pre-event Tutorial: Introduction to Python - open to everyone (priority will be given to women and underrepresented minority students)
February 13, 2021

Funding for the Event Provided By

Sponsored By Google

Other Sponsors

Lockheed Martin
Lockheed Martin is a Platinum Sponsor
IEEE Fort Worth Section is a Gold Sponsor
Arlington Sunrise Rotary Club is a Gold Sponsor

Of Interest

The Student Computing Research Festival (SCRF) is also happening at UTA. Learn more about it.

Computer Science and Engineering at UTA