---
layout: page
title: KDD 2017 Tutorial
description: KDD 2017 Tutorial Page
group: nav-right
---
<!--
{% comment %}
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to you under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
{% endcomment %}
-->

<!-- hero image -->
<section class="full-stripe full-stripe--subpage-header clear-header">
  <div class="ml-container ml-container--horizontally-center">
    <div class="col col-12 content-group content-group--center-content content-group--center-align">
      <h1>{{ site.data.project.name }} KDD 2017 Tutorial</h1>
    </div>
  </div>
</section>

<!-- content -->
<main>
  <!-- Tutorial 1 description and text-->
  <section class="full-stripe">
    <div class="ml-container ml-container--medium-width ml-container--vertically-centered">
      <div class="col col-6 feature-content preview-image">
        <img src="/assets/img/systemML_Diagram.gif" alt="KDD 2017 Hands-On Tutorial">
      </div>
      <div class="col col-6 feature-content button-group">
        <h2>Declarative, Large-Scale Machine Learning with Apache SystemML</h2>
        <a class="button button-secondary" href="https://sparktc.ibmcloud.com/repo/KDD2017/systemml-kdd-tutorial.zip">Download Hands-On Tutorial</a>
      </div>
    </div>
  </section>

</main>
