The deal will run through the 2018-19 campaign.
Johnson, 22, attended the Penguins' prospect development camp at the UPMC Lemieux Sports Complex in Cranberry last week. He is coming off an impressive sophomore season at the University of Minnesota-Duluth where he scored 18 goals and tallied 37 points in 42 games. He finished second on the club in both goals and points.
A 6-foot, 174-pound product of Grand Rapids, Minnesota, Johnson clinched Minnesota-Duluth's berth in the 2017 Frozen Four when he scored an overtime, power-play goal to defeat Boston University, 3-2. Johnson and the Bulldogs eventually fell to Denver, 3-2, in the NCAA championship game.
Johnson proved himself to be plenty versatile at Minnesota-Duluth, as he played all three forward positions in 2016-17 - center, left wing and right wing - before filling in on defense late in the season when the Bulldogs had a rash of injuries on the back end. He also manned the point on the power play.
Johnson was Minnesota-Duluth's top-scoring freshman in '15-16, racking up 18 points (6G-12A) over 39 games. He wrapped his two-year college career with 81 games played, 24 goals, 31 assists, 55 points, nine power-play goals and five game-winning markers.
Before advancing to the college ranks, Johnson skated for two-plus seasons in the United States Hockey League. He broke in with the Indiana Ice near the conclusion of the '12-13 campaign, before spending his final two campaigns with the Sioux City Musketeers.
In his second and final year with Sioux City in '14-15, Johnson produced 31 goals, 40 assists, 71 points and a plus-25 to earn First-Team All-USHL honors. That year, Johnson's 71 points ranked second in the league, while his plus-25 and seven game-winning markers placed third overall.