Download presentation
Presentation is loading. Please wait.
Published byMarsha Perry Modified over 8 years ago
1
Virtual Moneyball A Baseball League Simulator By Ryan Kroening http://compsci.snc.edu/cs460/kroera
2
Project Definition In Brief: Create a program to allow the creation of fictional MLB teams and simulate their performance over a number of seasons. Track any and all appropriate player and/or team statistics for research purposes Why Do We Care: The Economics of Sports The Salaries of Sports Stars Worker Exploitation The Problem of Data
3
Detailed Project Requirements Three Key Components to the Program Drafting Different Draft Philosophies Steinbrenner or Beane? Statistics What Wins Games? Batting or Pitching? Simulation Deterministic …yet Random Other Requirements Manage Multiple Teams/Leagues Between Season Alterations Reporting
4
Baseball Solved in Two Parts Microsoft Access Database Models the Desired League Structure Stores User Data Keeps Statistics C# User Interface Simulation Component Reporting (Crystal Reports)
5
Solid Management – Database Solution Function #1 – Store Player Statistics
6
Solid Management – Database Solution Function #2 – Model a Baseball League League Teams PitchersBatters Commissioner Schedule Results Draft Philosophy
7
Solid Management – Database Solution Other Components Available vs. Taken Players Keeping Historical Data – Season ID Variable Teams Selected PitchersSelected Batters Master Player Table
8
Sharp On-Field Talent – C# Solution Program Flow Models DB Model
9
Sharp On-Field Talent – C# Solution Simulation Component – What Wins Games?
10
Sharp On-Field Talent – C# Solution Simulation Component – Money, Talent, and Luck
11
Sharp On-Field Talent – C# Solution Reporting
12
Making Cuts – Database Exceptions Microsoft Access – A Bit Pudgy How Granular to Make the Data? What Does User Have Control Over? League (all) Teams (one) Commissioner PitchersBatters Stats What Stats Matter?
13
Making Cuts – Interface Exceptions “To-The-Point” Interface Fixed Player List Multiple Draft Philosophies Reporting Options Data Dump vs. Full Calculation More, More, More
14
Methodology Solid Database Model Rapid Prototyping Get Something Working! Dual-Program Design Interface Functional “One Piece a Day” Pick a Function/Task Get Something Working! Debug Save It Put Pieces Together Later
15
Demonstration Will almost certainly outperform the Brewers…
16
Strategies for Learning New Skills Acquired C# Visual Studio 2008 Development Building a DB from Scratch Learning/Developing at the Same Time Trial and Error (Get Something Working!) On-the-Job Training The Internet Google “C# AND …” MSDN
17
From the Classroom to the Diamond Database Theory/Modeling Good Model Easier Coding Program Flow Comes Naturally from Model OOP Principles Break Program Apart Into Chunks Functions and Classes/Objects Programming Language Theory Need to Learn, and Learn Fast Understood General C# First, Specifics Later
18
Expansion Teams/Program Extensions Migrate from Microsoft Access to SQL Server Performance Boost LINQ vs. DataSet Player Level Statistics Randomize Individual Game Performance Change Player Stats Throughout Season Dynamic AI Automatically Add/Drop Players During Season Trade Between Teams More Detailed Reports
19
Advice From An Old Pro Get Something Working! Obey Your Timeline Be Honest With Yourself “One Piece a Day” Use Your Resources CS Faculty Coworkers, Friends, Past Seniors, etc. Exercise! (trust me)
20
Thanks/Q&A Thanks to the Following People for Helping Me Out: The Entire SNC Computer Science Faculty Dr. Kevin Quinn The IT Department at Enzymatic Therapy Questions and Comments from the Audience?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.