Welcome

The LMUCS Class of 2016 will be sharing their projects with you today

An annual tradition
since 1983

Rachel
Cameron
Juan
Joaquín
Nicole
Matt
Jeff

Misa
Maurice
Adrian
Anthony
Jordan
...
...

Albert
Alex
Akrs
Mattie
Gastón
Joseph
Danny

But first...I'm here to tell you a little bit about the class.

I'll be fast

Oh hi, I'm @rtoal

Values

  • Industry Preparation
  • Academic and Professional Growth
  • Open Source
  • Helping Each Other
  • Fun

Focus

  • Version Control (GitHub)
  • Agile (Rally/Pivotal)
  • Teamwork and Chatter (Slack)
  • Architecture and Clean Code
  • Testing
  • Security
  • Documentation
  • Presentation

History

1983 Chess
1984 Backgammon
1985 Monopoly
1986 Othello
1987 Monopoly
1988 Text Editor
1989 Monopoly
1990 Monopoly
1991 Risk
1992 Backgammon
1993 Scramble
1994 Abalone
1995 Casino Games
1996 Lion's Strike
1997 Acquire
1998 Risk
1999 Keck Wars
2000 NOVA | WAPi
2001 RAPID | Quest for the Last Turing Machine
2002 Galaxy Sleuth | Space Chicken
2003 Island Adventure | Reality High
2004 LMU Sleuth | Supermarket Mystery
2005 Carcassone
2006 JOGL da Ball
2007 B.L.Y.T.S.S.
2008 iDeccka
2009 Serengeti
2010 Manic Monkey Madness
2011 K'tah
2012 Wutup
2013 Chuzr
2014 CherAmi | Kalventure

The Project

Build a fully-functional, interactive, layered, distributed, secure, database-backed software system using agile best practices as part of a small, cohesive team.

Lectures (me)

  • Git
  • Networks & Internets
  • HTTP and REST
  • Databases (lots of NoSQL)
  • Hadoop

But usually, we had guests

Because the L.A. Tech Scene

September Guests

Alex Schneider • Security Innovation
Threat modeling
Aghyan Alzuabi • Symantec
Agile, scrum, and product/project management
Jerry Nguyen • CrowdStrike
Security
Mark Chavira • Google
Observe projects and give feedback

October Guests

Marcelo Tallis and Benson Hon • Criteo
Machine learning presentation; long discussions with students
Laura Massa • LMU
Observe class; advise instructor on learning outcomes and assessment
Myron Flickner • IBM Research
Neuromorphic computing
Jerry Nguyen • CrowdStrike
Review students' threat models and give feedback
Marc Hamilton • NVIDIA Nvidia hardware, software, company culture, and the Silicon Valley scene

November Guests

Manish Goyal and Dave Pedowitz • Friendbuy
An Ask-Me-Anything about entrepreneurship, L.A. Startups, B2B, B2C, software architecture and tech
Brian Handy • Disney / USC
Game Industry presentation; feedback on projects
Andy Won • Amazon
Brief review of projects

December Guests

Maggie Shih • Criteo
Big Data, Semantic Advertising, Tech Startups, and Acquisitions
Kin Lane • API Evangelist
Business, Politics, Economics, and Technology of APIs; feedback on students' APIs
Ed Bramanti • Philosophie
JavaScript, Node, Go, and how to get a job
John Kochian • UCLA
Coaching student presentation dry runs

Sometimes
it was just a work day


Always beginning with a standup

Working off the backlog

Writing everything in the wiki

Junior-Senior Hack Day

Reading & Watching

A partial list

  • Uncle Bob’s Clean Code (Book and Videos)
  • What is Scrum?
  • Spotify’s Engineering Culture
  • Code as Design essays by Jack Reeves
  • Building a Feature No One Asked For
  • What are CSRF Tokens and how do They Work?
  • Sarah Mei’s Why You Should Never Use MongoDB
  • OOP is an Expensive Disaster which Must End

Writing

  • READMEs
  • Wiki
    • Project Descriptions, Goals, ...
    • Brainstorming, Designs, Proposals
    • Meeting Notes
    • Threat Models (more on this later)
  • Agile Board
    • Epics and User Stories

That's all I've got

Because today is about the students

Let’s hear from them now

Nicole Anguiano • Cameron Billingham • Juan Carrillo
Jeff Fennell • Matt Flickner • Joaquín Loustau • Rachel Rivera

Grapevine is...

...An application that automatically populates a user's calendar with events from Twitter and Facebook. Events are extracted by an intelligent agent that listens to feeds that the user follows.

Architecture

Semantic Processing



Date Extraction

We parse tweets and posts...

Date Extraction

...if we find a date, we have an event.

Events

Once an event has been identified,
we add more information, such as:

  • Start time
  • End time, if known
  • Author
  • Text from original post
  • Link to original post

Let's see chrono in action!

Categorizing Events

Multi-label classifier trained on 2000 pre-labeled posts

entertainment academic community service food spirituality ...

Client API

http://docs.grapevineapi.apiary.io/#

Mobile Clients

Apps

Time to Open it Up

Login Screen

Feed Management

Loading

Event List

Event Detail

Calendars (Month)

Thanks

Dr. Toal
Masao Kitamura
Austin Hentrup
John Cena
All the speakers

https://github.com/lmucs/grapevine

Maurice Leavell • Misa Pham • Adrian Ruiz • Anthony Menjivar • Jordan McRae

Hayabusa is...

...A side-scrolling game with ninjas. Defeat your enemy with hand-to-hand combat, ninja stars, bombs, and your ability to teleport.

Unreal Studio

Blueprints

Backgrounds


Down arrow

Sprites

Health, Scoring, & Platforms

Original Soundtrack

Six original tracks for the game, inspired by older games.

Game Play

Move[W] [A] [S] [D]
Punch[J]
Kick[K]
Bicycle Kick[I]
Shuriken[L]
Bomb[O]
Teleport[SPACE]

Teleporting

Thanks

https://github.com/lmucs/hayabusa
http://my.cs.lmu.edu/~aruiz25/Hayabusa/

Albert Johnston • Alex Schneider • Mattie Coccia • Gastón Dondero • Andrew Akers • Joseph Barbosa • Danny Levine

Coliseo is...

...an Oculus Rift arena survival game

Plus a companion Leaderboard web application

Game

Unity

Uses C#

Chose over Unreal because of better Oculus support

Oculus Rift

Basic support comes free in Unity but not good enough

Many hours put into making the Oculus feel smooth

Interaction

Xbox One controller

Mouse and keyboard

Scene design

Went with an adapted Unity lighting demo

Wanted an intense atmosphere to help develop immersion

Scoring

Survival combat

Points given for each kill until you die

Webapp



Login

Internationalization

Leaderboard

Security

Strong hashing on sensitive data storage (passwords, etc)

Escaping all user input to prevent XSS

CSRF synchronizer tokens

SSL and related features (HSTS, HPKP)

Thanks

https://github.com/lmucs/coliseo

Thank you all for coming

— • —

Please join us in the Keck Lab for refreshments