Roots-logo

The Front Door to the Innovation Co-Lab.

We’re building a training program into the Innovation Co-Lab, where students, faculty or staff of any skill and confidence level can comfortably start to gain an understanding of how to make use of a variety of tools and technologies. The goal here is not to make you an expert - we know that takes time - but to help you get to the point where you're excited and confident about starting your own project or continuing your education. We'll be offering workshops in topics like HTML, CSS, Javascript, Python, Research Computing, 3d Modeling and Fabrication, and many more. All classes are free - just enroll below.

If you've got an idea for a topic we're not covering, or if you're an expert in a topic you'd like to teach, let us know.

Upcoming Classes

Introduction to iOS

Date:
  • Mon, Oct 23, 5:00 - 7:00 pm
Location:

TEC - Classroom

Facilitator:
  • Xian Wang
Course Description:

Have you always wanted to develop an iPhone or iPad app but didn't have the time? Today, people spend an increasing amount of time on their mobile phones. Mobile applications fulfill all kinds of needs in our everyday lives. This course teaches students how to build mobile applications in Swift for the latest version of iOS. In this course, you will start with the basics and work towards understanding iOS APIs. You do not need to be an expert to join this course, but some programming experience will definitely be helpful. It’s time to build your ideas. Please install Xcode prior to the class.

Enrollment:

16 / 20 Enrolled

Register for this class

Text Analysis with Gensim

Date:
  • Wed, Oct 25, 3:00 - 5:00 pm
Location:

TEC - Classroom

Facilitator:
  • Matthew Kenney
Course Description:

Analyzing large text based data is a notoriously hard problem. By understanding how documents and words relate to one another, and deriving meaning from those relations, researchers can develop alternative analysis in place of, or supplementary to traditional keyword tagging. In this course, I will present topic modeling, machine learning, and natural language processing techniques to help researchers do just that. We will walk through a natural language processing scenario, use doc2vec for initial analysis, and tensorflow embedded projector to visualize the results. A basic understanding of python and jupyter notebook is recommended.

This class is part of our Intermediate Track

Our Intermediate Track includes extensions and continuations of topics from the Basics Track. It assumes that you some basic programming experience or have taken the Basics Track.

Other courses in this track
Enrollment:

13 / 20 Enrolled

Register for this class

Ethical Hacking Workshop

Date:
  • Thu, Oct 26, 1:00 - 4:00 pm
Location:

TEC - Classroom

Facilitator:
  • Alexander Merck
Course Description:

Are you curious about hacking and professional penetration testing? This workshop will cover the techniques and methodologies you need to begin exploiting common security vulnerabilities. Understanding techniques used by hackers can help you test and improve the security of your own systems and code. Topics covered in this course include active and passive recon, vulnerability scanning, and web and system exploitation. This course will include several demos, hands-on labs, and a live hacking challenge. Some familiarity with basic network concepts and command-line interfaces is recommended. A laptop is required for this course

Enrollment:

11 / 20 Enrolled

Register for this class

Apache Spark for Beginners

Date:
  • Thu, Nov 2, 9:30 - 12:00 pm
Location:

Technology Engagement Center Classroom (Telcom Bldg, 1st Floor)

Facilitator:
  • Mark McCahill
Course Description:

Apache Spark is a fast parallel cluster computing engine that supports interactive computing on large scale datasets in popular languages including Python, R, SQL, Scala and Java.

This training session will cover the basics: importing data into an Apache Spark cluster and an overview of some analytic tools that can be used with Spark including Python (PySpark) in Jupyter notebooks and R (SparkR) for interactive data analysis.

To illustrate the tools, we will show how Spark clusters can be used to perform analysis on both semi-structured data (for applications such as text analysis and genomics) and tabular/columnar formatted data (such as an SQL database).

We will also look at what it takes to set up a Spark cluster and OIT’s Spark services as well as run some hands-on data analysis illustrating how to optimize compute jobs for Spark.

Enrollment:

15 / 25 Enrolled

Register for this class

WebDev - Introduction to HTML and CSS

Date:
  • Thu, Nov 2, 2:00 - 4:00 pm
Location:

TEC - Classroom

Facilitator:
  • Maria Liberovsky
Course Description:

This class will teach you the basics of HTML and CSS to build a personal portfolio page. Bring your laptop and have ready any images, text, and links you'd like to include in your page. Please download and install https://atom.io/ and https://www.google.com/chrome/ before class, if possible.

Introduction to JavaScript will continue work on the portfolio, but the courses will be independent enough to attend just one or the other.

Enrollment:

1 / 20 Enrolled

Register for this class

Nvidia Deep Learning Symposium at Duke

Date:
  • Tue, Nov 7, 11:30 - 4:30 pm
Location:

Technology Engagement Center Classroom (Telcom Bldg, 1st Floor)

Facilitator:
  • David Williams (Nvidia)
Course Description:

Join us for this Deep Learning Symposium conducted by Nvidia Staff. A boxed lunch will be provided to everyone who pre-registers.

Lecture:
Deep Learning Demystified
Description: Lecture introduces key terminology, use cases from various industries, how deep learning differs from previous algorithmic approach, and how a deep neural network gets trained, optimized, and deployed.

Applied Deep Learning
Description: Lecture covers how to apply deep learning to challenging problems, what types of problems benefit most from deep learning, what skills and knowledge is needed to use deep learning, and the characteristics of successful deep learning projects.

Labs:
Applications of Deep Learning with Caffe, Theano, and Torch

Frameworks: Caffe, Theano, Torch

Description: This lab introduces the rapidly developing technology of deep learning accelerated by GPUs. The course is intended for anyone looking for a fundamental understanding of deep learning.
In this lab, you will learn:

The concept of deep learning
How the growth of deep learning has improved machine perception tasks including visual perception, speech recognition, and natural language
How to choose which software framework best suits your needs
Image Classification with NVIDIA DIGITS

Frameworks: Caffe

Description: This lab shows you how to leverage deep neural networks (DNN) - specifically convolutional neural networks (CNN) - within the deep learning workflow to solve a real-world image classification problem using NVIDIA DIGITS on top of the Caffe framework and the MNIST hand-written digits dataset.
In this lab, you will learn how to:

Architect a Deep Neural Network to run on a GPU
Manage the process of data preparation, model definition, model training and troubleshooting
Use validation data to test and try different strategies for improving model performance

Enrollment:

Course is full!

Get on the waitlist for this course
Ux

Design Thinking

Date:
  • Wed, Nov 8, 3:00 - 5:00 pm
Location:

TEC - Classroom

Facilitators:
  • Maria Liberovsky
  • Lauren Hirsh
Course Description:

Have you ever had trouble finding an innovative solution to a problem? By approaching a problem through the lens of Design Thinking, you can learn to clarify the challenge before you and take a hands-on approach to reframing your solution. In this course, you’ll go through the five stages of the Design Thinking process in order to produce a prototype. There is no prerequisite knowledge for this course. The skills that you gain will empower you to solve complex problems no matter what context you find yourself in.

Enrollment:

1 / 20 Enrolled

Register for this class

WebDev - Introduction to JavaScript

Date:
  • Thu, Nov 9, 2:00 - 4:00 pm
Location:

TEC - Classroom

Facilitator:
  • Maria Liberovsky
Course Description:

This class will teach you how to add interactivity to a basic HTML/CSS website. Bring your laptop and please download and install https://atom.io/ and https://www.google.com/chrome/ before class, if possible. If you have an existing website you'd like to add JavaScript to, have that code available.

This builds on the portfolio website built in Introduction to HTML and CSS, but the courses will be independent enough to attend just one or the other. This course assumes basic knowledge of HTML and CSS if the first course was not taken.

Enrollment:

3 / 20 Enrolled

Register for this class

Intro to Git

Date:
  • Mon, Nov 13, 2:00 - 4:00 pm
Location:

TEC - Classroom

Facilitator:
  • Maria Liberovsky
Course Description:

Have you ever tried to use Dropbox for sharing code with collaborators on a project, but accidentally deleted someone else’s work? Ever wished you could undo that “improvement” you made to your program four days ago that you now realize breaks your code? Whether you’re working with others, or are coding on your own, using a version control system can make development a much more sane and enjoyable process, while facilitating team development and code sharing. Armed some essential Git commands that you’ll learn in this course, you’ll worry less and code more. We’ll focus on basic usage of OIT’s GitLab repository management system, but the techniques will be applicable to GitHub or other git-based version control systems. You don’t need to be an expert, but to get the most out of this course you should have some small level of familiarity with using a terminal to enter command-line instructions on Linux, Mac or Windows.

This class is part of our WebDev Basics Track

Our WebDev Basics Track is designed for beginners with no experience in web development. These courses will provide all of the skills necessary to build and maintain an interactive website from scratch.

Other courses in this track
Enrollment:

3 / 20 Enrolled

Register for this class

Programming Fundamentals

Date:
  • Thu, Nov 16, 2:00 - 4:00 pm
Location:

TEC - Classroom

Facilitator:
  • Maria Liberovsky
Course Description:

For anyone just getting into programming, this course will provide an introduction to fundamental programming concepts using JavaScript, although the concepts will apply to most programming languages. No previous experience necessary, but a general comfort with using computers is helpful. Please bring a laptop.

This class is part of our WebDev Basics Track

Our WebDev Basics Track is designed for beginners with no experience in web development. These courses will provide all of the skills necessary to build and maintain an interactive website from scratch.

Other courses in this track
Enrollment:

3 / 20 Enrolled

Register for this class
Roots-studiosessions

Roots Studio Sessions

We also offer weekly classes in a few topics that we know are in high demand in the studio. These classes do not require registration, just show up! All Studio Sessions are held in the Co-Lab Studio in the Technology Engagement Center.

Our Studio Sessions will return in the fall!

Advance 3D Printing Certification

  • Tuesday, 11-11:30am
  • Wednesday, 11-11:30am

The standard features of 3dPrinterOS are great for most users, however occasionally there are limitations that advanced users may want to access. During this session you learn about some of our policies and practices as well as how to access ALL of the advanced features, printer reservations, and more. At the conclusion of the class you will have an increased permission set that will let you unlock the full power of the system.



Quick Course List

Archived Classes

  • Introduction to Linux - Mon, Aug 31, 2015
  • Introduction to Front-End Web Development: HTML, CSS and a bit of Javascript - Mon, Sep 7, 2015
  • Good Karma through Web Accessibility - Thu, Sep 17, 2015
  • TypeScript - Mon, Sep 21, 2015
  • Digital Modeling and Fabrication: 3d Printers, Lasers, Shopbots! - Mon, Sep 28, 2015
  • Increase Coder Sanity by using Git for Version Control - Mon, Oct 5, 2015
  • Building iOS Apps with Swift - Sat, Oct 17, 2015
  • Using Online Data with Python - Mon, Oct 19, 2015
  • Introduction to Front-End Web Development: HTML, CSS and a bit of Javascript - Sat, Oct 24, 2015
  • Building iOS Apps with Swift - Tue, Oct 27, 2015
  • Introduction to Connected Hardware - Wed, Nov 4, 2015
  • Introduction to Connected Hardware - Thu, Nov 5, 2015
  • Webserver Administration for Webapp Developers - Mon, Nov 9, 2015
  • What You Don't Know Can Hurt You: UX Essentials for The Web - Mon, Nov 16, 2015
  • Introduction to Linux - Tue, Jan 26, 2016
  • Introduction to Front-End Dev: HTML & CSS - Wed, Jan 27, 2016
  • A Little More Advanced Linux - Mon, Feb 1, 2016
  • Ruby on Rails Workshop - Mon, Feb 1, 2016
  • Introduction to Front-End Dev: Javascript - Wed, Feb 3, 2016
  • Rapid Prototyping with Lasers and CNC - Thu, Feb 11, 2016
  • iOS 1: Intro to Swift and iOS Development - Thu, Feb 11, 2016
  • iOS 2: Data Processing in Swift - Thu, Feb 18, 2016
  • 3D Printing and Sketchup - Mon, Feb 22, 2016
  • Rapid Prototyping with Lasers and CNC - Wed, Feb 24, 2016
  • Using Git for Version Control - Wed, Feb 24, 2016
  • Python Workshop - Mon, Feb 29, 2016
  • Introduction to Connected Hardware with Photon - Mon, Mar 28, 2016
  • Introduction to Connected Hardware with Photon - Wed, Mar 30, 2016
  • iOS 1: Intro to Swift and iOS Development - Thu, Mar 31, 2016
  • iOS 2: Data Processing in Swift - Mon, Apr 4, 2016
  • Using Git for Version Control - Thu, Apr 7, 2016
  • 3D Printing and Sketchup - Mon, Apr 11, 2016
  • HFOSS: Code for Good - Wed, Sep 7, 2016
  • React - Mon, Sep 12, 2016
  • Intro to Git - Wed, Sep 14, 2016
  • Introduction to Linux - Tue, Sep 20, 2016
  • Open Data & Civic Hacking - Wed, Sep 21, 2016
  • A Little More Advanced Linux - Tue, Sep 27, 2016
  • Intro to APIs - Mon, Oct 3, 2016
  • Foundations in HTML, CSS, and Javascript: Flipped Roots Class - Tue, Oct 4, 2016
  • SPLUNK - Thu, Oct 13, 2016
  • Introduction to Ethical Hacking - Mon, Oct 17, 2016
  • MySQL - Mon, Oct 24, 2016
  • Intro to Angular 2 - Wed, Nov 2, 2016
  • Fusion 360 - Tue, Nov 8, 2016
  • Make Art with Lasers: Adobe Illustrator and Laser Cutting - Wed, Nov 9, 2016
  • Duke Compute Cluster workshop - Thu, Nov 10, 2016
  • Introduction to iOS - Thu, Nov 10, 2016
  • WebDev - Introduction to HTML and CSS - Mon, Nov 14, 2016
  • WebDev - Introduction to JavaScript - Mon, Nov 21, 2016
  • WebDev - Introduction to HTML and CSS - Wed, Jan 25, 2017
  • Get a Job in Tech - Fri, Jan 27, 2017
  • WebDev - Introduction to JavaScript - Wed, Feb 1, 2017
  • The Art of the Pitch Video - Fri, Feb 3, 2017
  • Programming Fundamentals - Mon, Feb 6, 2017
  • Intro to Git - Mon, Feb 13, 2017
  • Introduction to Linux - Tue, Feb 14, 2017
  • Using the Co-Lab APIs - Fri, Feb 17, 2017
  • Git to Deploy - Thu, Feb 23, 2017
  • Advanced CSS - Fri, Feb 24, 2017
  • Intro to Swift and iOS Development - Thu, Mar 2, 2017
  • Intro to APIs - Tue, Mar 21, 2017
  • WebDev - Introduction to HTML and CSS - Fri, Mar 24, 2017
  • A Little More Advanced Linux - Mon, Mar 27, 2017
  • Foundations in HTML, CSS, and Javascript: Flipped Roots Class - Tue, Mar 28, 2017
  • MPS Sessions: Intro to Maya - Tue, Mar 28, 2017
  • WebDev - Introduction to JavaScript - Wed, Mar 29, 2017
  • Building Reactive Web Apps - Thu, Mar 30, 2017
  • Ethical Hacking Workshop - Fri, Mar 31, 2017
  • Programming Fundamentals - Mon, Apr 3, 2017
  • Intro to Angular 2 - Tue, Apr 4, 2017
  • MPS Sessions: Intro to Davinci Resolve - Tue, Apr 4, 2017
  • MySQL - Wed, Apr 5, 2017
  • Conductive Thread - Fri, Apr 7, 2017
  • Introduction to Connected Hardware - Mon, Apr 10, 2017
  • Intro to Git - Mon, Apr 10, 2017
  • Test - HTML - Mon, May 22, 2017
  • Intro to Git - Wed, Sep 6, 2017
  • Gitlab-CI and Singularity -- Hands-on workshop for containerizing research software - Thu, Sep 7, 2017
  • WebDev - Introduction to HTML and CSS - Mon, Sep 11, 2017
  • WebDev - Introduction to JavaScript - Mon, Sep 18, 2017
  • Introduction to Linux - Tue, Sep 19, 2017
  • Introduction to Connected Hardware - Tue, Sep 19, 2017
  • Fusion360: 3d Modeling for 3d Printing - Wed, Sep 20, 2017
  • Programming Fundamentals - Mon, Sep 25, 2017
  • MySQL - Mon, Oct 2, 2017
  • Creative Coding with P5.js - Tue, Oct 3, 2017
  • Selling Your Idea With Video - Mon, Oct 16, 2017
  • Introduction to Connected Hardware - Wed, Oct 18, 2017
  • SPLUNK - Thu, Oct 19, 2017

Join the Innovation Co-Lab to find out more about what we're up to, what events we have coming up, and how to access all of our technical resources.

For best results, we recommend your duke.edu email address