The Ducks announced the entry-level deal with the defenseman Tuesday.
Theodore was the 26th pick in the NHL draft in June. He has one assist through his first three preseason games and played more than 22 minutes Sunday against Colorado, leading the Ducks in ice time.
Theodore had 50 points in 71 games with the WHL's Seattle Thunderbirds last season. He also played for Canada at the under-18 world championships.