The Front Door to the Innovation Co-Lab.

Our Roots Program is our series of workshops and lectures on technology topics, open to anyone in the Duke Community. Through these events and online platforms, 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 offer workshops in topics like HTML, CSS, JavaScript, Python, research computing, 3D modeling and fabrication, and many more.

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.

All classes are free — just enroll below.

Upcoming classes

Dates:

Tue, Jan 22, 12:00 – 2:00 pm

Location:

TEC - Classroom

Facilitators:

Mitchell Greene

Course Description:

This is a class for beginners in 3D modeling. You will need no prior 3D modeling knowledge and no 3D printing knowledge. By the end of this class you will be able to make basic parametric shapes and 3D print the models you produce.

We will be using Fusion 360, a free software application that we'll download and get set up in the class. We will then be making a little box with a sliding lid using an image we will find online or from a provided list. The box will be parametric and fully 3D. Finally, we'll learn how to prepare our model for 3D printing and send them to the printers.

Please bring a computer and if possible, a mouse.

Enrollment:

Create Your First Website

Dates:

Tue, Jan 22, 3:00 – 6:00 pm

Location:

TEC - Classroom

Facilitators:

Sandra Bermond

Course Description:

This class will teach you the basics of HTML and CSS to create structure, colors, images, and other styles on a two pages website. Bring your laptop and download the attached folder containing starter code and the images we will be using.

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.

Enrollment:

Introduction to Patents

Dates:

Wed, Jan 23, 12:00 – 2:00 pm

Location:

TEC - Classroom

Facilitators:

Guerry Grune

Course Description:

Curious about patent applications and prosecution? Want to learn about patent licensing? How do you determine the value of your IP – your patents, trademarks, etc. ? These questions and others will be answered in this session. You'll also have ample opportunity to ask specific questions you have relating to all your patents needs.

Enrollment:

Intro to Javascript

Dates:

Thu, Jan 24, 1:00 – 3:00 pm

Location:

TEC - Classroom

Facilitators:

John McCreery

Course Description:

Javascript is integral to everything from modern websites to desktop applications. Javascript is a scripting language that enables websites and applications to update and modify content, control multimedia, run complex animations and much more. This class will teach you how to take basic html and dynamically interact with it with the mouse and keyboard! We’ll learn about events, the DOM, variables, functions and more!

We will be using codepen.io, so all you need is a device with a browser.

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.

Enrollment:

Build Your Developer's Environment, "Pimp Your Terminal"

Dates:

Location:

Facilitators:

Course Description:

Join us for this web app series where you will get to build a web app using Ruby on Rails and React.js. The series will take you from setting up your environment to deployment!

In this class, we will be going through the installation and setting up process of a web developer’s local environment as a prerequisite for the upcoming “Building a Web App” class series. This is useful for students who have never had the experience of setting up at least one of the following software tools: Ruby/Rails, Node JS, Postgres, Git, zsh, oh my szh, and powerlevel9k. There is also no prerequisite knowledge for this class except understanding the basics to using a computer. Of course, make sure you bring your computers and a strong spirit! By the end of this roots course, you should have a computer ready for building a maintainable, scalable, and secure web application, and a “pimped” out terminal.

Enrollment:

Sewing Machines 101, a Co-Lab Roots + DukeCreate Workshop

Dates:

Thu, Jan 24, 6:00 – 8:00 pm

Location:

Rubenstein Arts Center Co-Lab Studio

Facilitators:

Courtney Lockemer

Course Description:

Learn how to use a sewing machine for maker projects, no prior sewing experience required! In this class you’ll learn how to properly and safely use the Co-Lab sewing machine and do basic stitches. We’ll explore the many ways you can use a sewing machine beyond crafting and experiment with multiple materials, including fabric, paper, plastic, and metal. You’ll also get information on specialty sewing machines (e.g., heavy duty, leather) and where you can access sewing machines locally for free or minimal cost.

Enrollment:

Introduction to Ruby Development

Dates:

Fri, Jan 25, 3:00 – 5:00 pm

Location:

TEC - Classroom

Facilitators:

Danai Adkisson

Course Description:

This 2hr class is designed to give you an introduction into the ruby programming language.
During this session we will explore the history and concepts of the Ruby programming language,
learn the fundamental data types of Ruby, and finally build a working ruby program
using a fundamental skill set.

Prerequisites
There are no prerequisites to taking this class.
I take a ground up approach assuming this is everyones first exposure to ruby.

I do recommend have just really basic exposure to using the command line. No need to memorize
anything just give yourself some quick exposure

Before the Class
We want to spend our time learning and coding during the class so please follow the instructions below
to get your ruby environment ready to go prior to the class.

Install a text editor
You computer should have a text editor installed such as notepad. I recommend a text editor called
Atom. It is a free text editor that you can install here https://atom.io/

Install Ruby

MacOS
**Note** many modern mac systems come with ruby installed. Open up the *Terminal*
application. In the terminal type in `ruby -v` and press enter. You should see
something like `ruby 2.4.1p111 (2017-03-22 revision 58053)`. The version doesn't have
to match but you should have a version number. If ruby was not found follow these
instructions

Windows
1. Go to https://rubyinstaller.org/downloads/2. Download `Ruby+Devkit 2.4.4-2` Note that the version will be different because of
the length of time between writing these instructions and you installing Ruby.
Just make sure you have a version close to 2.4
3. Follow the windows prompts to install - the install may take a while
4. Following the installation open the *Windows Powershell* application.
5. Type in `ruby -v` in powershell. You should see
something like `ruby 2.4.1p111 (2017-03-22 revision 58053)`. Version does not have to
match

Enrollment:

Access Free Software Using VCM

Dates:

Mon, Jan 28, 3:00 – 4:30 pm

Location:

TEC - Classroom

Facilitators:

Matthew Gatner

Course Description:

Virtual Machines (VMs) allow you to access specialized software without installing it on your own computer, host your own server for development projects and coursework, or customize your own environment. Virtual Computing Manager is a service providing the Duke community with easy access to virtual software packages, and semester-long virtual machine (VM) reservations.

This course will go over the basics of how to provision your VM, connect to it, and install software from the Software Center - as well as some of the common tasks you'll need to do to be proficient as a VCM user.

No previous knowledge or experience with Virtual Machines is required.

Enrollment:

Introduction to Linux

Dates:

Tue, Jan 29, 2:00 – 5:00 pm

Location:

TEC - Classroom

Facilitators:

Andrew Stinnett

Course Description:

This course will provide students with a basic introduction to Linux systems in use in many research departments around campus. Attendees will have access to a Linux computational server to practice various tasks and perform labs in order to familiarize themselves with the environment. The class materials will cover a variety of tasks from those often considered simple, such as logging in, through more advanced tasks like building an application. The course includes lectures, informal Q & A, and hands-on activities/labs.

Students are required to bring their own laptop computer; access to a Linux system will be provided for the course. For participants using a Windows laptop, please make sure that you have an SSH client installed (A free client can be downloaded and installed from: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

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 have some basic programming experience or have taken the Basics Track.

Enrollment:

Dates:

Wed, Jan 30, 12:00 – 2:00 pm

Location:

TEC - Classroom

Facilitators:

Devon Henry

Michael Blair

Course Description:

Today’s “elevator pitch” is delivered via video on sites such as gofundme and kickstarter. You only have a few minutes to capture your audience and convince them to help fund your project. This class will focus on developing a compelling and succinct narrative to give your product’s vision a voice and get your message delivered. This is not a “video editing class”, but instead a class focused on storytelling and the art of creating a pitch video using tried and true methods of documentary film production. The course will be team taught by Duke OIT’s academic media production staff and will be focused on you, the entrepreneur.

Backpack Filmmaker, A DukeCreate + Co-Lab Roots Workshop

Dates:

Location:

Facilitators:

Course Description:

*** FYI: DukeCreate Digital Media Workshops will now take place at the Rubenstein Arts Center in the AMI Computer Lab (Room 234). See you at the Ruby! ***

Reserve your seat in this workshop by enrolling here. If the event is full, you will be added to the waitlist.

Workshop Title:
"Backpack Filmmaker Part II: SOUND For Video"

Workshop Description:
We will cover the basics of recording sound for video. This workshop is a continuation of the Backpack Filmmaker which focused on video production, but no experience or prerequisite is required. This class is helpful for beginners or videographers looking to improve audio skills.

About the instructor:
David D'Agostino has over a decade of professional experience as a documentary filmmaker and as a teacher. He is a second-year graduate student at Duke’s MFA|EDA program.

--

What is DukeCreate?

DukeCreate is a free arts workshop series for the Duke community taught by local artists and students in the MFA|EDA program. Workshop topics emphasize skill development and practical experience in ceramics, screen printing, painting and drawing, photography, and digital media. DukeCreate is sponsored by the Office of the Vice Provost for the Arts (DukeArts) and University Center Activities and Events (UCAE), in cooperation with the Arts Annex, duARTS, VisARTS, and #artstigators.

What is a digital media workshop?

Digital media workshops are offered on Tuesday evenings and are taught by graduate students in the MFA | EDA program. These workshops cover various topics in the realm of digital media, including introductions to software in the Adobe Creative Suite, and practical workshops in digital storytelling techniques. Laptops, software and equipment is provided for these workshops.

How much does the workshop cost?

Workshops are free to all Duke students and staff, with priority given to students. Class size is limited. Students must sign up in advance at https://training.oit.duke.edu/dukecreate. Walk-ins will only be accommodated on a space-available basis.

Can staff attend DukeCreate workshops?

Duke students can reserve their spot in advance. Online enrollment for Duke staff opens on the day of the workshop. Staff can also show up 10 minutes prior to a workshop in case a slot becomes available.

Can I take a bus to the Rubenstein Arts Center?

Yes! The Rubenstein Arts Center is located between East and West campus, off of bus routes (C1, C2 & CSW) that run along Campus Drive.

Enrollment:

GitLab-CI & Docker

Dates:

Fri, Feb 1, 10:00 – 2:00 pm

Location:

TEC - Classroom

Facilitators:

James Newton

Jeremy Thornhill

Course Description:

Research software has become more complex, and more complexity has made sharing computing methods and results more challenging. This workshop provides researchers in the humanities, arts, and sciences an opportunity to become familiar with tools that are available on the Duke Compute Cluster and are in wide use in the research computing world. The workshop will introduce the tools and provide hands-on experience. Researchers with software they want to package -- or "containerize" -- for use on the cluster or elsewhere will be able to do so.

This four-hour workshop will introduce the use of Docker containers (https://www.docker.com/) with GitLab Continuous Integration (CI) (https://about.gitlab.com/features/gitlab-ci-cd/). In the first part of the class, we will cover the basic use of Docker to create software containers and their use. In the second part, we will then go over using GitLab’s CI process to create, teat, and finally deploy Docker containers.
Participants can get help "containerizing" their own software package during the workshop.

Pre-requisites: In order to make sure that all participants can benefit the most, people taking part should be familiar with using Git and have an account on Duke's internal Gitlab service (https://gitlab.oit.duke.edu/). Duke's Gitlab uses Shibboleth authentication and is freely available to anyone with a NetID. Comfort with the Linux command line is required. The class is open to all Duke students, staff, and faculty.

This class is part of our Advanced Track

Our
Advanced Track
probes deeper into technology topics, specific languages, and frameworks.
These topics assume that you have experience with programming and in some cases, in specific languages.

Enrollment:

Dates:

Mon, Feb 4, 3:00 – 5:00 pm

Location:

TEC - Classroom

Facilitators:

Sandra Bermond

Course Description:

This class is the second of a Design series, where students will learn how to use an array of Adobe Cloud products via designing multiple elements for a fictional business. In this particular class, we will talk briefly about logos (types and roles), before diving into Adobe Illustrator itself. We will look at the different tools offered by Adobe Illustrator (including artboards, text, shapes, color and more) while recreating a couple logo options for our fictional business decided on during the first class of the series.

Please bring a laptop and make sure to have downloaded and installed Adobe Illustrator before class. Students can get access to all Adobe software for free via https://software.duke.edu/

Enrollment:

Saving and Sharing Code the Smart Way with Git

Dates:

Mon, Feb 4, 6:00 – 8:00 pm

Location:

TEC - Classroom

Facilitators:

Cait Gorevin

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.

This Intro to Git class will teach you the ins and outs of version control, why it's important, and how to use Git effectively to keep track of changes to your projects. We will cover project and repository creation and how to begin if you're working solo as well as how to dive into a project with an existing codebase. Most importantly, we will go over how to recover from any mistakes you make to get back to a previous, mistake-free version of your project as well as some of the command line basics you'll need to master Git. Looking forward to seeing you there!

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.

Enrollment:

Build Your First iPhone or iPad App

Dates:

Thu, Feb 7, 4:00 – 6:00 pm

Location:

TEC - Classroom

Facilitators:

Theodore Marchildon

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 iOS applications in the latest version of Swift. In this course, you will start with the basics and work towards understanding iOS APIs through developing your first iOS app. 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.

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 have some basic programming experience or have taken the Basics Track.

Enrollment:

Intro to Rails and Build an API

Dates:

Thu, Feb 7, 6:00 – 8:00 pm

Location:

TEC - Classroom

Facilitators:

Aman Ibrahim

Course Description:

Join us for this web app series where you will get to build a web app using Ruby on Rails and React.js. The series will take you from setting up your environment to deployment!
In this course, we will set up the backend for our app using Ruby on Rails to build an API.

Enrollment:

Introduction to Home Brew & WSL

Dates:

Fri, Feb 8, 3:00 – 5:00 pm

Location:

TEC - Classroom

Facilitators:

Xinchen Liu

Course Description:

#What is Homebrew
Homebrew is the packet manager for macOS. If you had Linux experiences, it works similarly to apt-get, yum, or packman. It can help you automatically install, update, and uninstall the packages without messing around with all the source codes. You can consider it as a command-line version of App Store. However, instead of downloading apps with user interfaces, you are now using commands to install packages and cli-apps.
#The benefit of Homebrew
Homebrew is, in some ways, the most powerful tool for developers on a Mac. What it does best is helping you set up your development environment. Instead of going to separate sites and building from their source code by following difficult instructions, you can use simple commands to finish your setup. You can also use single-line commands to update, uninstall or search for specific packages. It can help you link the package directly with your bash (or zsh and other environments), so that you can use your package right away. What’s more it can help you identify and use the necessary dependencies, so that you will not install duplicated packages or find your package not working. You can use it to easily maintain your development environment.
#How to install
The installation process is super easy. Just open your terminal and paste the install command from their [homepage](https://brew.sh). `/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`Homebrew will be automatically installed in your local environment.
! Homebrew only works on macOS machines. If you are using Linux, please stick to your most comfortable package manager. For windows users, please refer to our WSL.
#Usage
`Brew install {package name}`to install the package if you know it by the name. (You can always find the exact package name on their websites)
Homebrew will install packages to their own directory and then symlinks their files into /usr/local.
`Brew update` to update homebrew’s list of formulas
`Brew upgrade` to keep all your packages up-to-date
`Brew upgrade {package name}` to upgrade certain package
`Brew search {keyword}` to search for packages (formulas)
`Brew list` to list all the packages you’ve installed
`Brew cleanup` to automatically remove the outdated (and unneeded) packages
`Brew link {package name}` to symlink the package if you find yourself unable to use it in your terminal
`Brew cask` this is a package manager for most of the famous open-source macOS applications, you can use the similar syntax of brew by adding a cask in the middle to manage your applications using command line.
#References
[Homebrew Homepage](https://brew.sh)
[Package lists](https://formulae.brew.sh)
[Documentation](https://docs.brew.sh)
[Package manager](https://en.m.wikipedia.org/wiki/Package_manager)

Enrollment:

Apache Spark for Beginners

Dates:

Location:

Facilitators:

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.

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 have some basic programming experience or have taken the Basics Track.

Enrollment:

MySQL

Dates:

Mon, Feb 11, 4:00 – 6:00 pm

Location:

TEC - Classroom

Facilitators:

Andrew Ingham

Course Description:

This course will provide students with a basic introduction to the popular opensource MySQL database (Community Edition). Attendees will have access to a Linux computational server (that will persist after leaving the class) to practice various tasks and perform simple labs. The class will cover a variety of tasks including setting up users, creating databases, developing schema, adding/altering tables, writing queries, and evaluating basic security and performance. The course includes lectures, informal Q & A, and hands-on activities/labs.

Students are required to bring their own laptop computer; access to a Linux system will be provided for the course. For participants using a Windows laptops, please make sure that you have an SSH client installed (A free client can be downloaded and installed from: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

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 have some basic programming experience or have taken the Basics Track.

Enrollment:

Introduction to Flask

Dates:

Thu, Feb 14, 3:00 – 5:00 pm

Location:

TEC - Classroom

Facilitators:

Shamikh Hossain

Course Description:

Flask is a web application development framework written in Python. It provides you with the tools required to build dynamic websites that interact with data, as opposed to static web pages. In this introductory course, we'll be learning about the essential ideas of Model-View-Controller (MVC) web-development and then starting from the bottom-up to create a working dynamic web app in Flask using just basic Python programming skills.
An optional but recommended prerequisite is "Programming Fundamentals with Python", also taught in the Co-Lab, or CS 101.

Enrollment:

Create Your First Grid Website

Dates:

Fri, Feb 15, 12:00 – 2:00 pm

Location:

TEC - Classroom

Facilitators:

Sandra Bermond

Course Description:

Learn how to place elements of a web page wherever and however you want with CSS Grid and Flexbox! In this class, we will work on a one page website and organize its contents with multiple devices in mind (phone, tablet, laptop) using responsive web design and grid and flexbox.

Attending the Create Your First Website workshop first is recommended if you do not have any experience with html and css. If you cannot attend that class, but would like to attend this one, you may also familiarize yourself with html & css through lynda.com

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 have some basic programming experience or have taken the Basics Track.

Enrollment:

Adobe Xd for Web Design, a Co-Lab Roots + DukeCreate Workshop

Dates:

Mon, Feb 18, 1:00 – 3:00 pm

Location:

TEC - Classroom

Facilitators:

Sandra Bermond

Course Description:

This class is the third of a Design series, where students will learn how to use an array of Adobe Cloud products via designing multiple elements for a fictional business. In this third class, we will talk about what a web prototype is and why they are so useful, before taking a look at Adobe Xd itself, to create a website mockup and prototype of our own. We will look at the different tools offered by Adobe Xd while re-creating a web mockup for our fictional business decided on during the first class of the series.

Although this class is part of a series, you may attend it without attending the others. No experience necessary.

Please bring a laptop and make sure to have downloaded and installed Adobe Xd before class. Students can get access to all Adobe software for free via https://software.duke.edu/

Enrollment:

Make & Print Your First 3D Model using Fusion 360

Dates:

Tue, Feb 19, 6:00 – 8:00 pm

Location:

TEC - Classroom

Facilitators:

Kristianna Elbert

Course Description:

This is a class for beginners in 3D modeling. You will need no prior 3D modeling knowledge and no 3D printing knowledge. By the end of this class you will be able to make basic parametric shapes and 3D print the models you produce.

We will be using Fusion 360, a free software application that we'll download and get set up in the class. We will then be making a little box with a sliding lid using an image we will find online or from a provided list. The box will be parametric and fully 3D. Finally, we'll learn how to prepare our model for 3D printing and send them to the printers.

Enrollment:

Intro to APIs

Dates:

Location:

Facilitators:

Course Description:

Are you interested in understanding how to collect and analyze information or create a custom web map with limited coding experience? If so, Intro to APIs is a good place to start.

This two-hour course will provide participants with a basic introduction to working with Application Programing Interfaces (APIs). The course will focus on representational state transfer (REST) web service APIs, introducing how they work and can be used. Then the course will delve into the two things APIs do best: provide users easier access to data and code. The class will provide hands on experience accessing the Twitter and OpenStreetMaps/Leaftlet APIs, and maybe even delve into basic image or text analysis using a cloud service API.

Participants are required to bring their own laptop computer. For participants using a Windows laptops, please make sure that you have an SSH client installed (A free client can be downloaded and installed from: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). Participants will need a Twitter and Facebook account to participate fully in all exercises during the course.

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 have some basic programming experience or have taken the Basics Track.

Enrollment:

Intro to React and React Routing

Dates:

Mon, Feb 25, 1:00 – 3:00 pm

Location:

TEC - Classroom

Facilitators:

Aman Ibrahim

Course Description:

Join us for this web app series where you will get to build a web app using Ruby on Rails and React.js. The series will take you from setting up your environment to deployment!
In this course, we will set up the user interface for our app using React.js.

Enrollment:

Dates:

Tue, Feb 26, 2:00 – 4:00 pm

Location:

TEC - Classroom

Facilitators:

Bendte Fagge

Courtney Lockemer

Course Description:

This course will guide attendees through creating a circuit sewn into fabric using conductive thread. We'll light up an LED using a coin cell battery in a wearable circuit that can be attached to clothing, bags, or anything else that can be sewn. Each attendee will be able to bring their circuit home with them. No electronics experience necessary, but familiarity with a needle and thread is helpful.

Enrollment:

Using External APIs in an iOS App

Dates:

Thu, Feb 28, 4:00 – 6:00 pm

Location:

TEC - Classroom

Facilitators:

Theodore Marchildon

Course Description:

Take your iOS apps to the next level! iOS apps increasingly use external libraries to create vivid interfaces and provide powerful functionalities with very little code. In this course, you will learn how to integrate external libraries through APIs to provide your users with beautiful interfaces in just a few lines of code. You must have a mac laptop, and the latest version of Xcode installed prior to the course. Previous iOS knowledge would help, but is not required.

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 have some basic programming experience or have taken the Basics Track.

The Innovation Co-Lab is run by the Duke University Office of Information Technology & the Center for Instructional Technology, with support from the Offices of the President, the Provost, the Executive Vice President, and the Innovation and Entrepreneurship Initiative.