Utah Code Camp/Big Mountain Data - Spring 2016 Sessions


DevOps

Crawl, Walk, and Run with Me to Continuous Delivery
  29  

Over the course of nearly 15 years in software development, I've learned quite a bit about automating software delivery. Looking back, I realized that I've been doing Continuous Delivery in one form, or another, for most of that time. Let's take a few minutes to talk about how Continuous Delivery can help teams of all sizes get software into customers' hands faster for tighter, more effective feedback loops. It's all about the automation!

Level 100 - Introduction
Duration: Hour
Presenter: David Batten


In Pursuit of Continuous Delivery at Pluralsight
  27  

Continuous delivery is a great idea to read about in books and on blog posts from big tech companies, but no "real" companies do it, right? Well, at Pluralsight we deploy our production web site and related components anywhere from a couple of times a week to a couple of times a day. We do this for hundreds of thousands of users with virtually no user impact and with great uptime. In this session we’ll talk about what our deployment pipeline looks like, what some of the tools and technical practices we use that help us to deploy frequently, and what some of our challenges are. In the past three years our development forces have increased in number by more than an order of magnitude. As with most things, not everything with software development that works well at a small scale will work as well at a larger scale. We’ll talk briefly about how the move from a single team of half a dozen to developers to multiple teams that each include people from development, ops, devops, and product management has affected our architecture and our deploy process. Please come with any questions about how deploying frequently works at Pluralsight. Hopefully attendees will be able to use some of the things that help us at Pluralsight to make their own deployments faster, more reliable, less scary and more fun.

Level 100 - Introduction
Duration: 75 Min
Presenter: Jonathan Turner


Know your system: visualizations and dashboards
  9  

In this session, I'll talk about how to quickly understand the state and shape of your system. A picture speaks a thousand words and a data driven chart will tell you even more about what's going on in your organization. I'll also be showing some of the dashboards, information radiators and system diagrams we've developed at Pluralsight to help us understand the state of our system.

Level 100 - Introduction
Duration: Hour
Presenter: David Adsit



Software Practices and Principles

Engineering Highly Maintainable Code
  44  

How long does it take to implement a new feature? Fix a bug? Ramp up a new developer? To re-write your code every five to ten years because it turns into spaghetti? At the end of the day, developers can do one of two things: maintain or innovate. In this session, Steve will dive in to code and show you tips, tricks, techniques, and real-world examples to help you better engineer highly maintainable code, keep your software relevant, reduce development costs, increase developer satisfaction, and stay innovative.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Steve Andrews


Introduction to ASP.NET Core 1.0
  35  

ASP .NET Core 1.0 (formerly ASP .NET 5) is a rewrite of the ASP .NET stack. Major changes include a more modular design, cross platform execution (OS X, Linux, and Windows), new configuration options, and a convergence of MVC and WEB API. While there are too many changes to cover in the time we have we will briefly discuss some of the design goals and then drop into code to see how to create your next generation web application with ASP .NET Core 1.0.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Scott Golightly


Why Software Craftsmanship?
  26  

As Agile and Lean practices have been transforming how we work when creating software, the Software Craftsmanship movement has been focusing on improving the discipline of those who would write code. In this presentation, I'll talk about why Software Craftsmanship is important and some of the challenges it puts forth to professional programmers.

Level 100 - Introduction
Duration: Hour
Presenter: Allan Stewart


How to Fail (at Programming and Life)
  25  

Programmers write bugs. Anyone who tells you otherwise is selling something. Being able to catch and respond correctly to failures is one of the most important attributes of a well-designed program, and it's also one of the most important skills you can have--both as a software developer and in every other aspect of life. This course will cover a variety of Fail-Fast methodologies and tools to improve your code, as well as discussing the role of Failure in Test-Driven Development, Agile, Lean, Kanban, and life in general.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: James Jensen


What is Lean?
  24  

When we talk about any tool, technique or practice that we like, we can fall into the trap of thinking that “Everything good is X” and “X is everything good.” If we truly want to understand a concept, we need to know what it includes and what it does not. After this session, we will have a clear understanding of what Lean is, how we might apply it to software development, and when we would and wouldn't want to.

Level 100 - Introduction
Duration: Hour
Presenter: David Adsit


Healthy Code, Happy Code
  24  

You feel fine. You exercise and eat a good diet. Then you go to the doctor for your regular checkup and find out something is wrong, very wrong with your body. Your code can be the same way. You exercise it (test) and feed it well (refactoring, regular bug fixes, etc), but is it healthy? This session will show you how to give your code regular checkups to help ensure it not only functions properly, but is actually healthy. Topics cover include coding standards, code reviews, static code analysis, and more.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Craig Berntson


git merge versus rebase
  20  

This presentation covers two common approaches to central development in git which is a decentralized version control system. Observe the processes and commands for each and discuss the pros and cons of each.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Josh Jones


Developing Universal Windows Platform (UWP) Applications
  18  

Windows 10 has shown exceptional growth and with it we have the emergence of an app ecosystem built on Universal Windows Platform apps. In this session we will discuss how you can get the tools you need to start developing UWP applications and then we will begin to create a simple application that shows off some of the features of UWP. We will finish up by deploying the app to Windows 10 and Windows 10 Mobile devices.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Scott Golightly


A beginner's guide to Model-View-ViewModel
  18  

While MVVM is one of the most simple patterns for software development, it remains incessantly illusive to developers. Should you do this? Should you do that? Must you do that? There are a lot of questions, and information on the internet is not making it any more clear. Well, some learn what MVVM means. How to implement it, and what design patterns compliment it - and even get confused as being part of it. Model View ViewModel; one of those things that, once you get it, you'll wonder how you ever lived without it.

Level 100 - Introduction
Duration: Hour
Presenter: Jerry Nixon - MSFT


Modern C++
  16  

Has it been a while since you looked at C++? Do you have a "backwards looking" perspective on C++ based on poorly written old code? Come take a look at modern C++ and dispel your misconceptions about C++. Embrace lightweight abstraction mechanisms with efficient implementations that make your phone's battery last longer! C++14 is stable and is implemented across all major platforms. C++17 standardization is underway. Compilers are implementing C++17 support in anticipation of the standard, instead of waiting until it is released. The library working group in the standards committee has additions to the C++ Standard Library coming your way.

Volunteers: Richard Thomson
Want to volunteer? I Can Present This!


Increasing Agility Through Continuous Delivery
  15  

Have you ever heard something like this, "Continuous Delivery is a great concept and we would really like to get there, but there's no way we can do it without all our automated tests in place."? Well, our team decided that three years of waiting wasn't getting us anywhere so we took matters into our own hands and decided just to do Continuous Delivery now and work out the kinks. What we discovered was that, when approached this way, Continuous Delivery serves as a great catalyst for change (in a good way)! Come see how you too can, not only get developers excited about a process, but management as well. Hear first-hand experiences that will have you anxious to synergistically implement this fantastic bright new and shiny agile practice in your ever-changing, above average, organization in order to maximize your gains and profitability in all sectors of your business. (and all sorts of other buzz words too!)

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Mat Kent


Introduction to Unity3D
  14  

Learn how the component architecture of Unity3D works and learn the basic steps for building a project using this engine.

Level 100 - Introduction
Duration: Hour
Presenter: Josh Jones


Mob Programming for Continuous Learning
  14  

What if we took Extreme Programming and said it’s not “extreme” enough? What if we took pair programming and cranked it to 11? Mob programming is a technique with “all the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.” I was lucky enough to be on a team for about year that worked “as a mob.” Come learn what practices we found to be critical, what obstacles we encountered and what practices became irrelevant during our experience.

Level 100 - Introduction
Duration: Hour
Presenter: Mike Clement


Why TDD is a Design Activity
  14  

Do you think design is that thing you do at the beginning before you start implementation? Oh pshaw, waterfall thinker! Design is an activity. Designs evolve. Software is the most mutable substance known to mankind. TDD embraces that evolution and malleability and changes design from a phase into an activity we practice every day.

Volunteers: Richard Thomson
Want to volunteer? I Can Present This!


Best Practices for Long Term Projects
  13  

Hear lessons learned from years of battling the bugs found by our ever-growing user base and the stress our concurrent user count placed on our servers. Topics include real-time cluster application development, java bytecode injection, troublesome features, clarity of code, and message queues.

Level 500 - (Expert): Advanced and in depth; experience is required
Duration: Hour
Presenter: Josh Jones


DI Why? Getting a Grip on Dependency Injection
  11  

What is Dependency Injection? And why would we want to use it? That's what we're here to answer. We'll start by looking at the problems caused by tight coupling. Then we'll use some DI patterns such as constructor injection and property injection to break that tight coupling. We'll see how loosely-coupled applications are easier to extend and test. With a better understanding of the basic patterns, we'll remove the magic behind DI containers so that we can use the tools appropriately in our code.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Jeremy Clark


Guided TDD Code Kata
  10  

A code kata is an exercise where you can learn or practice aspects of software development. In this hands-on session, I will give a short introduction to test driven development and then guide you through a kata. Bring your laptop ready with your favorite unit testing framework, or just come and watch the process. The examples will use node.js and mocha, so `npm install mocha` if you want to follow along. This kata should be simple to do in most languages, but I can't promise to help with any other languages or frameworks.

Level 200 - (Beginner): Introductory / fast moving
Duration: 90 Min
Presenter: Allan Stewart


The Ethics and Mechanics of Ad-Blocking
  9  

If you are one of the millions of people who have never said “Show me one more add for a miracle diet” then you might be considering blocking all advertisements on the web. While blocking ads might be a very appealing option for you because you are tired of ads or you are concerned about privacy you are probably also aware that a lot of your favorite sites are funded by advertising and you are worried about what will happen to them if they don’t get any more funding. We will discuss these and some other issues with advertising on the Internet. We will also look at a some of the many options that you have for blocking web advertisements.

Volunteers: Scott Golightly
Want to volunteer? I Can Present This!


A year of mob programming
  6  

It started with the creation of a women's internship program. We were planning to make sure all the interns paired full time, but a friend suggested I look at mob programming instead. I was already a little familiar with it, and after a little reading and a little discussion it was easy to see that mob programming had a lot to offer. We decided to try mob programming. We spent a year talking about, and practicing, mob programming. We did mob programming in teams of senior developers, with people randomly joining because it's new and fun. We did mob programming with interns and juniors, including 50 or so sessions with just two juniors and four interns. And we've created a workshop that uses mob programming to teach functional programming concepts to brand new developers. After almost every session, we did a retrospective, a treasure trove of successes and failures, hurt egos and amazement. This talk covers what mob programming is, where it came from, how we do it and why, and the results we documented in our retrospectives. It doesn't answer all possible questions, and in fact we suggests some hypotheses one might choose to try to prove about mob programming.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Rob Martin


Java Puzzlers
  4  

This talk is meant to be a very informal discussion going over a few select puzzles from Joshua Bloch and Neal Gafter's Java Puzzlers book. Very much just a "Did you know..." or "Gee-Whiz" kind of presentation. The book "Java Puzzlers - Traps, Pitfalls and Corner Cases" is available through Amazon and I highly recommend you order it if you are interested in some of the fine points of Java. (Another must-have, also authored by Joshua Bloch is Effective Java) There are 95 puzzlers in the book. This talk will go over just a few of those that seemed most useful, interesting or surprising to me. Code examples are available at https://github.com/alphonzo79/JavaPuzzlersTalk. Slides are available at https://speakerdeck.com/alphonzo79/java-puzzlers-presentation

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Joe Rowley



Functional Programming

Why be functional?
  32  

Functional programming languages are among the oldest in industry (Lisp, 1958) and newest (Elixir, 2012). Some of the most interesting work a developer can do is being done in functional programming languages at companies like Facebook, Twitter, LinkedIn, WhatsApp, Yammer, Netflix, Amazon, Groupon, SoundCloud, Quora, and Airbnb. Financial companies from Jane Street and Goldman Sachs to Bet365 use functional programming languages for key infrastructure. Functional programming carries the majority of our phone traffic, on equipment built by Ericsson, Motorola, and T-Mobile. Databases like CouchDB and Riak are built on functional programming languages. Message brokers like RabbitMQ and Kafka process a million or more messages a second per server using functional programming. What can we learn from these companies and applications? It's easier to write software that is simple, scalable, and demonstrably correct with a functional programming approach, especially when compared to object oriented programming. This talk explores the benefits from using functional programming; surveys the languages available; explains the differences between functional and object oriented programming; and introduces the key concepts a developer needs to know in order to make a shift to a functional approach to programming.

Level 100 - Introduction
Duration: Hour
Presenter: Rob Martin


APEX Development
  2  

Apex or Java development for Salesforce.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!



Javascript

Performance Tips for the Javascript Beginner
  32  

Whether you are completely new to programming, or coming to JavaScript from another language, this session will demonstrate several simple tips for improving the performance of your code. We will begin with using Console.Time() to track how long your functions take to execute. We will then look at common bottlenecks in loop performance, string concatenation and DOM manipulation. Finally, we will write our own performance tracking function that will let us call a function multiple times and average the duration to have a more accurate measure of our codes execution time.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Gary Ray


Intro to AngularJS for the backend developer
  24  

If you are a pure backend developer, chances are that you also need to create administration pages from time to time for data maintenance. The fact that these pages are internal and not customer facing doesn't mean that they have to be boring, or that they can't get the benefits of newer and sophisticated Javascript libraries, such as AngularJS. This presentation will be an introduction of how to incorporate AngularJS into your administration pages, and how you can leverage the benefits of this javascript library, without needing all the expertise of a front-end developer.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Andres Arias


Graph Databases: The Chameleon of the Database World
  17  

Thankfully databases have evolved over the decades. We now have more choices in databases than we have ever before. Join us for a fast-paced look at a couple of different database models and how graph databases allow you to easily store your data in more useful configurations. We'll finish by looking at the code and visualization for a specific JavaScript graph database.

Level 200 - (Beginner): Introductory / fast moving
Duration: Half Hour
Presenter: Sean Duncan


Using TypeScript Decorators with Angular
  13  

TypeScript decorators, based on the ES2016 decorator proposal and introduced as part of TypeScript 1.5, provide developers with a way to modify a JavaScript class, property, method, or method parameter using a convenient declarative syntax. We'll start this session by creating our own decorator, to see firsthand how they work. Then, we'll take a look at how decorators are used when creating Angular 2 components. Lastly, we'll see how to use decorators with AngularJS 1 controllers to make them look more syntactically similar to Angular 2 components.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: 90 Min
Presenter: James Churchill


Reactive Programming with RxJS
  9  

RxJS, the Reactive Extensions for JavaScript, is a set of libraries that give us powerful tools for managing concurrency in our applications. Using RxJS, we use Observables to represent asynchronous data streams and then query those streams using one or more of the many available operators. In this talk, we'll create some simple examples to explore what Observables are and how to use them. Along the way, we'll compare and contrast Observables to the other familiar tools in our JavaScript developer's toolbox: event listeners, callbacks, and promises. We'll also look at an Angular 2 example, which favors using Observables over promises.

Level 200 - (Beginner): Introductory / fast moving
Duration: 90 Min
Presenter: James Churchill



Web Technologies (ASP.NET, Node, CSS, HTML, etc.)

Using TypeScript in Your JavaScript Projects
  22  

TypeScript is a superset of JavaScript that allows you to add optional static types and future ECMAScript features into your JavaScript code. TypeScript compiles to plain JavaScript, and can target ES3, ES5, or ES6. You may be interested in TypeScript if any of the following apply to you: * You want to have better tooling for writing JavaScript in your favorite code editor/IDE (no more fat fingered spelling errors!) * You have a large or very large JavaScript project * You use or are learning to use a popular JS library such as Node.JS, JQuery, AngularJS, Ember, or many others * You want to use ECMAScript 6 now without worrying about browser compatibility * You come from an Java/C# background and want to structure your JavaScript using OOP * Using the `typings` package to manage TypeScript definition files Things I will cover in this session: * A brief overview of TypeScript * How to get started with TypeScript in your existing JS project without changing a single line of code * How to light up your code by adding optional TypeScript features * How to integrate TypeScript into your build/test/debug cycle TypeScript is free, open-source, and cross-platform. Check it out at <http://typescriptlang.org>. Targeted for: Beginner Developers, Experienced Developers

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Joe Skeen


Getting the Most out of VSCode, a Next-Generation Open-Source Code Editor for Web Development
  16  

<p>VSCode, short for Visual Studio Code, is a lightweight, cross-platform, open-source code editor built on the web, for the web. If you haven't given it a try, you should. If you have tried it, you may be surprised at some of the things it can do. I'll show some of the tips and tricks I've picked up as I use VSCode to write Angular code every day.</p> <p>Check out VSCode at <a href="http://code.visualstudio.com">http://code.visualstudio.com</a>.</p>

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Joe Skeen


Alexa, is my brisket done?
  14  

This presentation will demonstrate how to create a voice-driven skill for the Amazon Echo for communicating with an internet-of-things device. Alexa is the cloud-based voice service that powers Amazon Echo. AWS Lambda lets you run code for virtually any type of application or backend service and is integrated with the Alexa Skills Kit, a collection of self-service APIs that make it easy to add skills to Alexa. AWS IoT is a platform that enables you to connect devices to other AWS services - like AWS Lambda. The focus of this session will be creating Alexa skills with AWS Lambda and integrating the skills with IoT devices using AWS IoT.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Tom Day


SPA Development Using Aurelia
  10  

Aurelia is a new JavaScript framework for making Single Page Applications. We will cover the basic parts of creating an Aurelia Web Application using Visual Studio and Typescript 1) Bootstrapping the initial setup (in a Visual Studio using the Typescript Template) 2) Views and View-Models 3) Custom Attributes 4) Custom Elements 5) Data Binding 6) Value Converters. -- We will cover everything you need to build a basic Aurelia Web Application. You will need a basic understanding of JavaScript for this course.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Stephen Schaff


Enterprise Development using Aurelia and Breeze
  8  

Developing Enterprise applications needs a solid architecture to support future maintainability. We will cover how to setup an Aurelia Single Page Web App (SPA) using Breeze and Typescript in Visual Studio with good architecture. We will cover: 1) Setting up data entities to work with Breeze and Aurelia. 2) Setting up Views and View-Models 3) Use of a Entity Factory 4) Binding multiple options into Custom Attributes 5) Interacting with Breeze 6) Application Initialization (bootstrapping) -- A general understanding of SPA apps and JavaScript is needed for this course.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Stephen Schaff


Web Development for WPF Developers using Aurelia
  6  

Making the jump from WPF (Windows Presentation Foundation) to web development can be a daunting switch. Fortunately this jump can be made easier with Aurelia and Typescript. Aurelia is a new JavaScript framework that has very similar concepts to WPF development. We will cover: 1) MVVM architecture in Aurelia 2) Data Binding with Aurelia 3) Value Converters in Aurelia 4) How to setup a simple web page. 5) Basics of how to develop in Typescript in Visual Studio This course will be targeted for developers who know WPF and C#.

Level 100 - Introduction
Duration: Hour
Presenter: Stephen Schaff



Mobile Development

Hello Android
  24  

This session takes you from ground zero on Android development and gives you an easy introduction to the basic components you need to build an Android application. The session does assume some development experience and glosses over some non-Android basics like installing Java and your IDE. But otherwise it does not assume any Android-specific knowledge. By the time you're done you will be able to create a screen, populate it with static and dynamic data, take user input, transition between screens, modify elements at runtime, etc. The app we build will not be very useful in and of itself, but will give you all the tools needed to take the next step. Code is available at https://github.com/alphonzo79/HelloAndroidExample Slides are available at https://speakerdeck.com/alphonzo79/hello-android

Level 100 - Introduction
Duration: 75 Min
Presenter: Joe Rowley


The brave new Xamarin world
  23  

The Xamarin world keeps evolving and changing. There has been no better time to get into mobile development and no better tool than Xamarin. We'll briefly look at what it has to offer for the iOS and Android platform as well as its other offerings. Also, how you can use Xamarin Test Cloud and the amazing Test Recorder to test your mobile app regardless of whether you are using obj-c, swift, java, or C#.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Stephen Shaw


Gradle Fundamentals for Android
  22  

Gradle is the official build system for Android Studio. In this session, we'll cover the basics of build variants, build flavors, proguard, application signing, multi-dexing, and setting up multi-project builds. If you don't know what some (or any) of this means... join us to find out!

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Noralynn Valletta


iOS programming with Swift
  19  

Introduction to iOS programming using Swift. Creating applications using XCode and Swift with a MVC approach. Implementing segues, linking GUI to the Controller as well as the basics of the Swift language.

Volunteers: Cody Henrichsen
Want to volunteer? I Can Present This!


Android Architecture -- A Better Way
  17  

Android projects can get big, fast. And all too often the controller classes explode with all kinds of logic because there just doesn't seem to be another place to put all that code. Activities and fragments grow to huge proportions. I've recently been exposed to some very good examples of Android development using the MVP pattern instead of the MVC pattern and the results have been phenomenal. MVP (with the addition of Interactors and Gateways, in this case) provides a lot of benefits for Android, including the ability to keep your activities and fragments incredibly lean, effectively dividing logic and responsibilities between well-defined layers, keeping the app robust and flexible. But most of all, this division takes a platform that is notoriously difficult to test without resorting to instrumentation and flips that upside-down. It now becomes not only possible, but very easy to cover most of your application with unit tests. There are a lot of different favorite architectures out there, and I won't pretend to tell you that my way is the best way. But it has been great for me and has delivered a lot of benefits. Sample code is available at https://github.com/alphonzo79/AndroidArchitectureExample Slides link will be provided soon.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Joe Rowley


Intro to Mobile Testing
  8  

Testing is perhaps the most important part of the development process. Applications that frequently crash, destroy data or misbehave won't last long on user's devices! Throughout the session, you will learn how to develop a set of tests to improve the quality of your applications and the specific challenges unique to mobile applications.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Jon Douglas


Getting Started with WatchOS 2
  5  

Learn how to build an application for Apple Watch. The presentation will cover topics such as: getting started, building complications and glances, and sending data between the watch and phone.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Jeff Lewis



Kids

Bat Eyes
  10  

Bats can navigate their way through dark caves by sound. In this presentation we we learn about sound waves, how to read music, how to write a program that will play music, and how to use an ultrasonic sensor to be able to “see” the way a bat does. This is a hands-on activity. If you can, please bring your own laptop. We will be connecting up a speaker and ultrasonic sensor to an Arduino and then programming it to make sounds based on distance so we can “see” with sound.

Level 200 - (Beginner): Introductory / fast moving
Duration: 90 Min
Presenter: Brian Ivie



Soft Skills

Realizing the Benefits of Autistic Inclusion in the Tech Workplace
  12  

In the United States today, workers classified as Autistic can face upwards of 80-90% unemployment or underemployment. Yet numerous corporate case studies have shown tremendous untapped abilities and strengths among this community. Strengths we need in our workplaces, especially in the tech sector. From Walgreens to SAP to Microsoft, we will explore the unique challenges and benefits of inclusion in the workplace, perhaps in untraditional ways. There are 4.7 million Autistic individuals in the United States, and they can change the way we do business.

Level 100 - Introduction
Duration: Half Hour
Presenter: Steve Andrews


Facebook as a Marketing MVP
  2  

How to use Facebook to develop a marketing platform for your tech startup even if you don't have a product, a website or a blog. An advanced section will cover marketing best practices for startups that are further along in their development.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Nigel Swaby


The New Era of Minimalism
  1  

The idea of minimalism has been around since the 1960's but in today's modern age, technological advances are helping to bring about a new wave of minimalism; technological minimalism.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Data Storytelling
  0  

There exists a lot of noise and clutter in business and in life which results in messy data, false signals, erroneous correlations, bad conclusions, misinterpretation, and lack of applied understanding. We present why storytelling matters, how to communicate convincing insights, and the future of data driven stories.

Level 200 - (Beginner): Introductory / fast moving
Duration: Half Hour
Presenter: Alton Alexander


The soft side of data science
  0  

Data science is typically characterized by the technical prowess needed but without "soft skills" – creativity, social awareness, and empathy, among others – data scientists can unintentionally limit their effectiveness as analysts. This presentation discusses the critical role of soft skills in data science and other tech fields, and how they can be developed, giving data scientists the influence they deserve.

Level 100 - Introduction
Duration: Hour
Presenter: Barton Poulson



Microsoft Technologies

What's new in C# 6, what's coming in C# 7
  40  

C# 6 is the version of C# that ships with VS 2015. The philosophy behind this version is straightforward: improve simple everyday coding scenarios, without adding much conceptual baggage. Why do developers love C# 6 so much, and what's coming in C# 7?

Level 100 - Introduction
Duration: Hour
Presenter: Jerry Nixon - MSFT


Learn to Love Lambdas (and LINQ, Too)
  27  

Lambda expressions can be confusing the first time you walk up to them. But once you get to know them, you’ll see that they are a great addition to your toolbox. Used properly, they can add elegance and simplicity to your code. And some .NET constructs (such as LINQ) lend themselves to lambda expressions. We’ll take a look at how lambda expressions work and see them in action.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Jeremy Clark


ASP.Net and .NET Core, what does it all mean?
  26  

ASP.NET Core (previously named ASP.NET 5) is a major shift to how .NET developers create web sites. This session will cover the basics and discuss what's different, including running on Linux and Mac. Some familiarity with current ASP.NET MVC will help you understand this session, but is not required.

Volunteers: Craig Berntson
Want to volunteer? I Can Present This!


I'll Get Back to You: Task, Await, and Asynchronous Methods
  26  

There's a lot of confusion about async/await, Task/TPL, and asynchronous and parallel programming in general. So let's start with the basics and look at how we can consume asynchronous methods using Task and then see how the "await" operator can makes things easier for us. Along the way, we’ll look at continuations, cancellation, and exception handling.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Jeremy Clark


Deploy to the Raspberry Pi
  21  

Build an app using the technologies you already know and love. Then, deploy it to one of the smallest, cheapest, and most practical devices money can buy. It's Windows 10 for IoT, and it's inspiring.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Developing iOS and Android Apps with Visual Studio
  21  

In this presentation, we'll take a look at the additions to Visual Studio 2015 that support the development of iOS and Android applications. We will emphasize cross-platform development of a single code base.

Level 100 - Introduction
Duration: Hour
Presenter: Richard Thomson


Visual Studio Dev Essentials and you
  17  

Microsoft is giving away of lot of free stuff, including Visual Studio. Community edition gave developers the tools they need, and now, with Visual Studio Dev Essentials, developers are being given the back-end services (including Azure credits) they need to build modern solutions. Come learn the benefits, how to use them, and how to get them for free.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


NodeJS for Visual Studio
  16  

In this presentation, I'll give a quick tour of the NodeJS integration for Visual Studio.

Level 100 - Introduction
Duration: Half Hour
Presenter: Richard Thomson


Model-View-ViewModel for Beginners
  15  

When XAML was introduced in Windows Presentation Foundation in 2006, it also introduced the Model-View-ViewModel (MVVM) design pattern for interacting with visual presenters using data binding. But what is it really mean? Where do we start? This is your MVVM primer.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


What's new in Entity Framework version 7
  15  

Entity Framework 7 (EF7) provides a familiar developer experience to previous versions of EF, including LINQ, POCO, and Code First support. EF7 also enables access to data across relational and non-relational stores. EF7 is much more lightweight than previous versions and is built from the ground up to work great in the cloud (using ASP.NET 5) on devices (i.e. in universal Windows apps) as well as in traditional .NET scenarios. Come learn more.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


IEnumerable, ISaveable, IDontGetIt: Understanding .NET Interfaces
  13  

Do you want code that's maintainable, extensible, and easily testable? If so, then C# interfaces are here to help. We’ll take a look at how we can use interfaces effectively in our code -- starting at the beginning ("What are interfaces?") and then exploring why we want to use them. Along the way we'll use existing interfaces, implement own interfaces, and take a look at dynamic loading, unit testing, and dependency injection. All of which is made easier with interfaces.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Jeremy Clark


Intro to the Universal Windows Platform
  10  

With Windows 10 came the Universal Windows Platform (UWP), one common API surface for Mobile apps written for Xbox, IoT, Windows, Phone, the HoloLens, and more. But what is it really, and what does it mean for developers? Survey the capabilities and the opportunity.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Using Template 10 to Jumpstart any Windows 10 app
  10  

If Windows 10 is a puzzle, then Template 10 is the box cover. Bringing reusable best practices with real-world app applications, Template 10 is a community, open source project that makes building Windows 10 apps simple, fast, and brilliant. Don't write the boilerplate crap we all write over an over; understand and use Template 10 so you can get writing the logic to make your app special and uniquely valuable.

Level 100 - Introduction
Duration: Hour
Presenter: Jerry Nixon - MSFT


Take Your XAML Skills Mobile with Xamarin.Forms and Prism
  10  

Are you a XAML developer? Do you want to continue to use your current XAML skills to write mobile apps? Do you use the MVVM design pattern in your XAML applications? You bet you do! Come to this session to learn how you can leverage all your XAML skills and experience to develop and deploy cross platform, native, mobile applications for iOS, Android, and Windows Phone using Xamarin.Forms. We will also see how developing MVVM friendly applications in Xamarin.Forms can be challenging to say the least. Luckily, you can now use Prism to sprinkle a little awesomesauce on your Xamarin.Forms apps to easily add logging, commanding, event aggregation, IoC, MVVM, and navigation to simplify your cross platform development efforts.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


A lap around Visual Studio Code
  9  

Last year, Microsoft introduced Visual Studio Code - a free, open source, cross-platform (Linux, Mac OSX, and Windows) code editor. Build and debug modern web and cloud applications. Code combines the streamlined UI of a modern editor with rich code assistance and navigation, and an integrated debugging experience – without the need for a full IDE. Enable additional languages, themes, debuggers, commands and more. VS Code’s growing community shares their secret sauce to improve your workflow. Come take a look at the next tool in your toolbox.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Upgrade your site to a Mobile app
  8  

Windows 10 introduces several new web technologies to bring web sites onto devices. In about an hour, we'll transform a site from browser-based, to a native, mobile app with system integration.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Design considerations for Windows 10 apps
  8  

Building an application intended for a broad spectrum of device form factors means dev/designers have a lot of new challenges and considerations. Let's walk through common best practices and review typical pitfalls in design.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Integrate with the Office 365 APIs
  8  

Let’s build a simple app that connects to Office 365 data using the Microsoft Graph. This API enables your website or mobile app to connect to a user’s mail, calendar, contacts, files and more data from Office 365 -- all through a single endpoint.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Get Started with Azure Machine Learning Studio
  8  

Azure Machine Learning is a simple, scalable, and fully managed cloud service that enables you to easily build, deploy, and share predictive analytics solutions. Use Azure Machine Learning Studio to build and publish your data experiments accurately and easily. Learn how to manage enormous datasets, finding patterns, trends, and new value.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Securing a Site with Azure Active Directory
  7  

When you add Azure Active Directory to any site, you bring it into the intranet-fold of your enterprise - safe and secure. Come see what you need to consider before securing your site, and the steps to accomplish it, and how to manage access using the Azure Portal.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Creating Cross Platform Games with Unity
  7  

If you are looking for fun and exciting apps to start writing for mobile devices, then you should consider games. Not a game developer? No problem! In this session Brian will cover all the basics of using the Unity game engine, and your current C# or JavaScript skills, to get you started writing games for a number of mobile platforms. We will look at how to navigate the Unity IDE, how to create scenes, add objects to our scenes, add game logic, and deploy your game. Come join Brian for this fun and interactive session were your games are only limited by your imagination.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Working with Bluetooth LE
  5  

Indoors or out, proximity gives low-cost location/context to devices. Enhance your user's experience with the Proximity stack in Windows 10; interact with beacons and other low-cost BLE devices.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Introduction to XAML
  5  

What is XAML? XAML is the go-to UI presentation technology for Windows apps, Office, and even the core, Windows operating system. It is productive, performant, declarative, and simpler you might think. If you consider yourself a Microsoft developer, you owe it to yourself to understand the syntax and lineage of this incredible technology.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Ad Mediation and Monetization
  5  

Increase your revenue by using the Microsoft Universal Ad Client SDK to introduce ads into your app. Use the SDK to show banner ads and video interstitial ads from Microsoft Advertising, or to show banner ads from different ad networks by using ad mediation. Charge a full price for your app up front, or provide a free trial version and entice customers to buy your app by excluding some features. These techniques and more are essential for serious app developers.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Build a SharePoint Add-In
  4  

Extend the functionality of SharePoint with a web app that lives within a SharePoint website. SharePoint Add-ins are self-contained extensions of SharePoint websites that you create, and that run without custom code on the SharePoint server. To make the best decision about the right kind to develop for your scenario, start by learning what both types of SharePoint Add-ins have in common.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Using Cortana Analytics Perceptual APIs
  4  

Cortana Analytics Perceptual APIs are a set of APIs that allow you to quickly develop applications that require insights on the world around you, from streams such as text, audio, and images. These general-purpose machine learnt models have been used across many Microsoft first-party products and are now available as part of the Cortana Analytics Gallery to power your applications. Learn about Computer Vision & Face APIs, Speech APIs, Text Analytics, and LUIS the natural-language toolkit.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Get started with Office Add-ins
  3  

An Office Add-in runs in an Office application and can interact with data in a document or mail item. It is a web app that you can host anywhere that runs in an Office application. Learn how your enterprise can extend Office 365 to enhance your unique workflow.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Introducing async to greenfield and brownfield projects
  3  

Asynchronous programming has always been possible. But the async/await syntax hasn't. As a result, many developers have not implemented async in projects, and these are ripe for an update. Other developers, unfamiliar with async are ready for best practices to introduce it to new projects and avoid the retrofit. This is it.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


What's new for XAML in Windows 10, Update 1, & Update 2
  2  

XAML has evolved. From WPF to Silverlight to Windows Phone, we're now declaring UX in Windows XAML (often called WinRT-XAML), the current and future version of XAML intended for building Windows apps on the Universal Windows Platform, Office, and the Windows operating system itself. But what does it include that makes it special? How is it different? In many ways, it's just XAML. But in as many, it's a distinct implementation that turns XAML on its ear and makes UX developers more productive than ever. Come see what I mean.

Level 100 - Introduction
Duration: Hour
Presenter: Jerry Nixon - MSFT



Hardware

Keyboards
  16  

Keyboards are a part of daily life. We use them to write the code that pays our bills. But do you really know anything about this device? Why do most of our keyboard lettering start with "QWERTY"? How do you get from button press to character on screen? What does that "SysRq" button even do? This presentation will aim to answer those questions and more! We will cover everything keyboard - history, hardware, key layouts, key switches, and software. In addition to learning about how keyboards work, there will be a gallery of different switches, layouts and form factors for anyone to try out. Come get a feel for what could be your next keyboard!

Level 200 - (Beginner): Introductory / fast moving
Duration: 90 Min
Presenter: Corey Larson


IoT Sensors designed for HTTP & JSON
  14  

As a software developer when it comes to integrating sensors into an application it can quickly become a hardware problem. Ugh! Now, with the introduction of inexpensive WiFi modules, and lots of Open Source software and tools, it's becoming simple to create sensors that talk HTTP and emit JSON! Now anyone who can write a simple web service can begin to have their applications interact with the physical world. This presentation will introduce you to the ESP8266 WiFi module, the Arduino development environment, and Open Source projects like Node-RED and ESProto prototyping tools. Combined, these allow you to quickly put together sensors that can talk the language of the Internet, and allow any software developer to participate in the Internet of Things. (I am prepared to present this topic ... 90 minutes ...)

Volunteers: Brian Ivie , Scott Lemon
Want to volunteer? I Can Present This!



Architecture and Patterns

Asynchronous Systems and Messaging
  25  

Utilizing a message based architecture suddenly makes systems tolerant to a wide variety of failures, but at what cost? We'll discuss the pros and cons of an eventually consistent architecture, and talk about some of the tools that can make the transition easier. We'll also have an interactive demo using RabbitMQ

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Neil Sorensen


Clean Code Design Patterns
  3  

Despite the importance and value of having highly organized, well structured code it is often overlooked due to the need to pump out the next feature set as fast as possible. In this class we'd like to review chapter 10 from the book, "Clean Code" which highlights how to organize classes to minimize future code changes while maintaining readability. Areas to cover: Class Organization and Encapsulation The single responsibility principle Change Isolation https://vitoex.googlecode.com/svn/trunk/Read/Clean%20Code.pdf

Volunteers: No Volunteers
Want to volunteer? I Can Present This!



Salesforce.com Development with APEX and Java

There are no presentations in this track.


Big Data

Kafka - Streaming Your Data
  31  

Big Data has become a common topic in today's modern age. Until recently batch processing has been the common way to handle large datasets. However, over the last few years stream processing has become more common. Kafka provides a way to process hundreds of thousands even millions of messages per second. Come and learn about Kafka. What it is, when to use it, and how to deploy it using HortonWorks, Ambari, and AWS.

Level 100 - Introduction
Duration: Hour
Presenter: bryan jacobs


Recommendation Engine
  23  

Usage of Recommendation engine become popular in last 10 to 20 years. The reason behind this is we changed from a state of scarcity to abundance state. Imagine a physical books store like crossword with thousands of books. we can see almost all popular books in books store shells, but shop shells are limited,to increasing number of shells, retailer need more space for this retailer need to spend some huge amount of money. This is the reason why we are missing some many good books which are less popular and finally we are only getting popular books. On the other hand if we see online web books stores, we have unlimited shells with unlimited shell space, so we can get almost all books apart from popular or unpopular. This is because of web enables near-zero cost dissemination of information about products ( books,news articles, mobiles ,etc ). I will summarize different kind of approach to build a good recommendation engine.

Level 200 - (Beginner): Introductory / fast moving
Duration: Half Hour
Presenter: Anton Wiranata


Building a Recommendation Engine
  19  

38% of Amazon's purchases come from recommendations. Over the last several years recommender systems have changed the way people interact with websites. Casual Netflix watchers who might not know what they want to watch receive tailored recommendations without the burden of searching for an exact title. Keeping users on your site for a couple minutes, or showing them the right product at the just right time, can eventually make a huge difference to your customers. Jane.com is a daily deal marketplace for boutique clothing. Every week around 1,400 deals go live on the website which reaches nearly 1.2M users. Like most online shoppers, Jane's users don't always know exactly what they want. They want to be delighted and surprised by different deals. This presentation will demonstrate how to build, evaluate, and deploy a recommendation engine. We will cover Jane's unique business challenges for recommendations, setting up a scalable recommendation infrastructure, using cutting-edge machine learning algorithms, and some lessons we learned along the way.

Level 100 - Introduction
Duration: Hour
Presenter: Jeff Potter


Overview of Machine Learning in Python
  18  

There are a wide variety of algos available to those looking to solve machine learning problems. The question is often where to begin and what do they all mean? In this lecture, we'll give a quick run down of some of the tools available in sklearn as well as give a quick introduction to deep learning with TensorFlow. We'll attempt to cover these two topics at break neck speed. http://scikit-learn.org/stable/tutorial/machine_learning_map/ https://www.tensorflow.org/versions/r0.7/tutorials/mnist/pros/index.html

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Robert Davis


Intro to Mixed Modeling
  16  

What is it? A hybrid analysis technique that combines examining cross sectional data with time series analysis. We will consider both the analysis of multiple independent variables across multiple observations over time as well as how to examine data that is logically hierarchical - students in different classes in different schools in several school districts. Why? It is increasingly common that we have access to repeated measurements on our subjects. Or, we may have nested (hierarchical) data - customers within regions, students in classes in schools in school districts. Whether you have repeated measures, hierarchical data or the combination, mixed modeling is the appropriate analysis technique. Why now? We now have adequate computing horsepower in our personal machines to enable this maximum likelihood (ML or restricted ml - REML) technique with real world data sets. Increasingly researchers are publishing with these tools. How - Techniques with publically available data will be discussed, shown and compared in R and SAS. Who - Assumed background: Statistics through multiple regression and perhaps logistic regression. Data wrangling skills that include transposing data, sub-setting data and rearranging observations within a data set. Expected outcome: attendees will have learned how to get started down this complex path.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: doug tharp


Working with Apache Spark and ElasticSearch
  15  

Apache Spark can use ElasticSearch as a data sink and source. Putting our data into ElasticSearch allows us to do some pretty great things. In this presentation, we'll use Spark Streaming to pull down some tweets, then index them in ElasticSearch. We'll then query the data from ElasticSearch to use in a small visualization of the data streaming in from Twitter. We'll have in introduction talking about Apache Spark and ElasticSearch. Form there, we'll walk through the code used in the example, then demonstrate the application and show the example working end to end.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Craig Brown


The Future of Big Data
  14  

Smart business leaders view the arrival of new technologies through the lens of Amara’s Law — We tend to overestimate the effect of technology in the short run and underestimate the effect in the long run. Amara’s Law holds true for data science as well. To understand how data science has the power to transform entire industries we need to examine why big data failed to live up to the hype in the short run and how the core ideas of big data are fundamentally reshaping the future of business in the long run.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Dave Wellman


Advanced Neo4j
  13  

Graph databases such as Neo4j are becoming very popular for real-time recommendations and storing social relationships, network connections, identity management and fraud detection. Graphs are great for storing relationships in a very dense way compared to databases such as MySQL, making it very fast to access data and find patterns. Neo4j is a very popular graph database with a large Enterprise user base and community following. In this talk I’ll show some of these use cases for storing data in a graph, how to access it and find meaningful patterns. I’ll also show how to use the Cypher query language, which is used to interact with the Neo4j graph.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Brett Ragozzine


Apache Spark for Genotype Analysis at HCI
  11  

Jim Lohse works as a student programmer the Camp Lab at Huntsman Cancer Institute. He is seeking a BS in Math/Statistics with CS minor and a focus on Machine Learning. Learn about his experience getting to know Apache Spark in Java and Scala in an exciting and important cancer research project. We will look at aspects of setting up a Spark cluster, making the shift in thinking to Functional Programming, peripheral projects like Apache Tachyon, and setting up a Gradle project with IntelliJ. This will not be heavy on genetics but basic material explaining the HCI use case will be presented. There will be explanations of coding approaches to Spark including making the choice between Java and Scala, and whether to use JavaSparkContext or SparkContext. Use of various RDDs and anonymous functions will be explained.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: James Lohse


How can spark help you?
  10  

Hands on intro to spark and how to transition to spark.

Level 100 - Introduction
Duration: 3 Hour
Presenter: Anant Asthana


Speed & Performance in Data Science
  7  

Quick presentation comparing the performance of several analytic techniques on different platforms / language stacks, and why you should be concerned about the performance of your algorithms and their underlying languages (particularly with big data).

Level 400 - (Advanced): Experience with subject matter is strongly recommended
Duration: Hour
Presenter: matt wright


Clustering Click-stream Data in Spark
  6  

Finding groups in data is a fairly commonplace data science task, with applications in fields ranging from operations to HR to customer analytics. Segmentation typically relies on clustering, a task that is straightforward in Spark for numerical data, but which is not currently implemented for categorical data. I'll present a deep dive walk-through of using segmentation to drive insight using open-source click stream data provided by bit.ly that records every time anyone clicks on a 1.USA.gov URL. To facilitate segmentation using categorical features, we present a distributed k-modes algorithm that we developed for pySpark and further show what this segmentation reveals about different patterns of access amongst users.

Level 400 - (Advanced): Experience with subject matter is strongly recommended
Duration: Hour
Presenter: Marissa Saunders


Isolating Client Information in a BI Reporting Tool
  3  

This presentation will be using the MicroStrategy BI Server to show how we can empower the user to view specific client data at the enterprise level while keeping the client data in its own individual silo for security reasons.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Scott Heffron


Automating Dimension Data Loading from Multiple Clients
  2  

This talk will discuss and show how we extract client information from multiple clients silos and then load that data into targeted dimension tables used by all clients.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Scott Heffron


d3
  1  

Opensource Graph visualization. Examples at: https://github.com/mbostock/d3/wiki/Gallery

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


NoSQL Introduction
  0  

Introduction to Document (MongoDB), Columnar (Cassandra) and Graph (Neo4j) databases. Showing examples of CRUD operations (Create, Read, Update and Delete) for each.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!



MEAN stack

AngularJS 2.0
  10  

Preview of AngularJS 2.0 with Typescript

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Using NodeJS
  10  

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


MEAN Stack 101
  4  

Intro to MongoDB, Express, AngularJS, NodeJS.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Typescript and AngularJS
  2  

Learn how to typeify AngularJS using Typescript.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


MEAN: Putting it all together
  2  

Using all of the latest tools to quickly build a MEAN stack web site. Technology and tools include: NodeJS, Bower, AngularJS, Typescript. Express, MongoDB

Volunteers: No Volunteers
Want to volunteer? I Can Present This!



Amazon Web Services

A primer for your next data science proof of concept on the cloud
  8  

Learn how to quickly create a highly scalable solution using AWS. We introduce the benefits and challenges you may face. We discuss scope and establish realistic expectations, budgets, and constraints for these type of projects. Finally we end with a demo for website event tracking and analysis.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Alton Alexander


Intro to Redshift
  7  

Amazon Redshift is a fast, fully managed, petabyte-scale data warehouse solution that makes it simple and cost-effective to efficiently analyze all your data using your existing business intelligence tools.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Real world AWS solutions
  6  

Using the AWS soutions EC2, S3 and Redshift, learn how to create a highly scaleable web site event tracking system.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Buckets of Data ... S3
  5  

Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable cloud storage. Amazon S3 is easy to use object storage, with a simple web service interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Elastic Computing
  3  

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!


Dynamo DB
  1  

Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. Its flexible data model and reliable performance make it a great fit for mobile, web, gaming, ad-tech, IoT, and many other applications.

Volunteers: No Volunteers
Want to volunteer? I Can Present This!



Data Science

Practical Deep Learning in E-Commerce
  16  

In the past 5 years "Deep Learning" has taken the tech world by storm. Not only has it achieved groundbreaking results in many academic disciplines, it is now used extensively in practical applications for everything from face detection on Facebook to real-time language translation on Skype to identifying drug targets at pharmaceutical companies. This presentation will show how deep learning is being applied at Inc Magazine's fastest growing e-commerce company of 2015, Jane.com, and give some suggestions on how you might be able to apply deep learning to solve hard problems in your organization.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Adam Rogers


Data Analysis in R for Beginners
  12  

A fast pace beginners course for those new to R and who want a quick broad demonstration of R under the hood. We cover data ingestion, manipulating data frames, data summary and exploration, interactive visualization, creating dashboards, predictive modelling, and big data integrations.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Alton Alexander


Selling Advanced Data Analysis into an Organization
  10  

Some of the hardest problems in data science are typically not the math, nor finding interesting problems to solve. It comes down to how you sell your idea to management or investors. In this session, we'll cover some of the common approaches to getting buy-in on your data science projects, some of the pitfalls in getting approval, and techniques that work to get these projects into a plan of record.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: matt wright


ProximityDB - Finally, A Database That Thinks For You.
  7  

Throw away the tables, joins, queries, hashes, and even the edges and nodes to see what database technology may look like in the future. We will explore the model that organizes data to analyze itself, bypassing the expert systems, queries, training, and algorithms. It's as simple as identifying an object in the datastore, and getting closely related objects back. Then we'll discuss how advertising models might change, and glimpse into the future of online information management. Finally, we will look at an example utilizing this system to identify relationship patterns from raw genealogical data.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Dan Roper


Set theory in data engineering and analysis
  7  

An introduction to set theory and how it applies to data science. Practical examples where set theory helps solve problems at scale are provided. First, matching customer orders to a one global customer ID. Second, merging data from a legacy system to a new system. Third, understanding the key categorical differences in unsupervised clusters.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Alton Alexander



Track Name

Suggesting a topic does not mean you are presenting that suggestion.

Session Name

Track

Level

Duration

Session Abstract


Would you like a mentor to help you with this presentation?



The unconference track is designed to create sessions and ideas on the fly. We want to allow our attendees to use a room through the day for open conversations and concepts. Everyone can vote on the ideas you want to see and then we will publish them in the schedule. Feel free to submit any topic/idea for discussion.

Idea Name

Description