Connect with us

North Carolina

Major Differences in 2026 Spring Camp For NC State

Published

on

Major Differences in 2026 Spring Camp For NC State


RALEIGH — Throughout March, NC State football returned to its practice fields and began its preparations for the 2026 season. Things were very different for Dave Doeren and his staff this spring compared to a year ago for several unique reasons, but most of them were positive ones.

The Wolfpack had many different newcomers to integrate this season, both from the transfer portal and the recruiting class, but it seemed to go seamlessly in spring camp for Doeren and the coordinators. Continuity and a veteran presence helped NC State feel as though it could be in for a very successful 2026 season, potentially cracking that 10-win mark for the first time under Doeren.


No new coordinators

Advertisement

NC State defensive coordinator DJ Eliot coaches during a practice. | Courtesy of NC State Athletics

Advertisement

During the 2025 offseason, Doeren embarked on a major overhaul of his coaching staff. Defensive coordinator Tony Gibson left the Wolfpack for a head coaching position at Marshall, with DJ Eliot replacing him during the offseason. Doeren elevated quarterback coach Kurt Roper to offensive coordinator to replace Robert Anae after a rough 2024 campaign.

The changes at both coordinator spots meant spring football was a bit of a mess, with two new schemes going in and the entire team learning the new systems. The complete defensive overhaul became even more difficult due to a surplus of injuries, which shortened the roster significantly. That forced Eliot and Doeren to explore the spring transfer portal for players like Cian Slone and Sabastian Harsh. With that window gone, NC State adjusted to its new reality in 2026.

Advertisement

NC State offensive coordinator Kurt Roper watches the Wolfpack. | Courtesy of NC State Athletics

Advertisement

Eliot, Roper and Doeren all explained how much easier things were with the schemes installed this offseason, as there were enough players around from the 2025 season to teach some of the tendencies and points of emphasis on the field where the coaches can’t always communicate.

Doeren still finds himself coaching more of the basics than he did before the transfer portal era, but it’s been an easier adjustment than anticipated for the veteran head coach. It also seems to be igniting a new fire as he heads into his 14th season, something that became particularly evident when he shot down retirement rumors during the 2025 campaign.

Advertisement

Experienced transfers

NC State WR Joshisa “JoJo” Trader stretches during a practice with the Wolfpack during the spring term. | Photo credit: @joshisathe1 (X)
Advertisement

The other part of spring camp that made coaching easier for Doeren, Eliot and Roper was the fact that many of the transfers the team brought in had extensive experience already. JoJo Trader, Popo Aguirre and Chance Robinson all played for the Miami Hurricanes, contributing to varying degrees to a deep College Football Playoff run. Harvey Dyson also played in the CFP with Tulane.

Advertisement

Translating a playbook to players already accustomed to playing at a very high level is much easier than teaching it to an entirely new group, as the Wolfpack had a year ago. The hope is that those veteran players will help NC State take another step, rather than just maintaining the position they finished in at the end of the 2025 season.




Source link

North Carolina

North Carolina advisory group recommends legalizing marijuana

Published

on

North Carolina advisory group recommends legalizing marijuana


North Carolina advisory group recommends legalizing marijuana for adults

Advertisement

PUMP STATION AND IS NOT INTENDED FOR PUBLIC USE. A NORTH CAROLINA STATE ADVISORY GROUP WANTS LAWMAKERS TO LEGALIZE MARIJUANA FOR ADULTS IN A TIGHTLY REGULATED SYSTEM. THE RECOMMENDATION CAME IN AN INTERIM REPORT FROM THE NORTH CAROLINA ADVISORY COUNCIL ON CANNABIS. THE GROUP SAYS LEGALIZATION FOR ADULTS 21 AND OLDER WOULD MAKE CANNABIS USE SAFER BY REPLACING UNREGULATED SALES WITH TESTED, CONTROLLED PRODUCTS. IT COULD ALSO GENERATE MILLIONS IN TAX REVENUE FOR THE STATE, ACCORDING TO THE MARIJUANA POLICY PROJECT, NORTH CAROLINA IS ONE OF A HANDFUL OF STATES THAT DO

Advertisement

North Carolina advisory group recommends legalizing marijuana for adults

Updated: 9:46 PM EDT Apr 6, 2026

Editorial Standards

Advertisement

A North Carolina state advisory group wants lawmakers to legalize marijuana for adults in a tightly regulated system.The recommendation came in an interim report from the North Carolina Advisory Council on cannabis. Officials said legalization for adults 21 and older would make cannabis use safer by replacing unregulated sales with tested, controlled products.It could generate millions in tax revenue for the state.According to the Marijuana Policy Project, North Carolina is one of a handful of states that do not allow either medical or recreational use of marijuana.Watch: NOWCAST streaming newscastsNAVIGATE: Home | Weather | Watch NOWCAST TV | Local News | National | News We Love |Keep up with the latest news and weather by downloading the WXII app here

A North Carolina state advisory group wants lawmakers to legalize marijuana for adults in a tightly regulated system.

The recommendation came in an interim report from the North Carolina Advisory Council on cannabis. Officials said legalization for adults 21 and older would make cannabis use safer by replacing unregulated sales with tested, controlled products.

Advertisement

It could generate millions in tax revenue for the state.

According to the Marijuana Policy Project, North Carolina is one of a handful of states that do not allow either medical or recreational use of marijuana.

Watch:NOWCAST streaming newscasts

Advertisement

NAVIGATE: Home | Weather | Watch NOWCAST TV | Local News | National | News We Love |

Keep up with the latest news and weather by downloading the WXII app here

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

Advertisement

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

Advertisement

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

Advertisement

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wxii12.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wxii12.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

Advertisement

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

Advertisement

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

Advertisement

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

Advertisement

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

Advertisement

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wxii12.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wxii12.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

Advertisement

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…

Advertisement



Source link

Continue Reading

North Carolina

Carrie Everett, crowned Miss North Carolina in 2024, dies of stomach cancer, family says

Published

on

Carrie Everett, crowned Miss North Carolina in 2024, dies of stomach cancer, family says


Carrie Everett, who was crowned Miss North Carolina in 2024, has died of stomach cancer, family members tell WRAL News.

Everett’s parents told WRAL News their daughter died late Sunday night, asking for privacy. They shared the following statement:

“Carrie Everett transitioned on Easter Sunday with her family and friends surrounding her with love. The family is spending time together as they celebrate her memory. They ask that you continue to pray for them [and] celebrate her memory.”

Everett attended North Carolina Central University, where she majored in vocal performance. She was diagnosed with stomach cancer in July 2025, when she was 21, after scans found masses in her abdomen.

Advertisement

In March, family members posted on a GoFundMe page that Everett’s chemotherapy treatments weren’t working and shared plans to move her out of state for treatment. 

Everett spoke to WRAL News last year after the diagnosis, sharing her plans to go back to college and her dreams of becoming a gospel singer.

A year earlier, after claiming her Miss North Carolina title, she told WRAL News her parents immigrated to the United States from West Africa. Growing up, she said her family struggled with finances, and the journey to the crown was a challenging one, and many of the gowns she wore during the pageant were borrowed or from thrift stores. 

Everett was the fourth Black woman to win the title since the pageant began in 1937. She dreamed of working in girl’s education and creating accessibility for future generations.

Advertisement



Source link

Continue Reading

North Carolina

UNC basketball coach candidates: 10 names to consider as search hits roadblocks

Published

on

UNC basketball coach candidates: 10 names to consider as search hits roadblocks


play

Tommy Lloyd signed a new deal.

So did Nate Oats.

Advertisement

Dusty May is a “no” as well.

So where does North Carolina turn now for its open men’s basketball coach position? Here are 10 names to consider:

Billy Donovan, Chicago Bulls

Donovan is the big fish still swimming in the pond. Can UNC hook him? Donovan has been linked since the Tar Heels fired Hubert Davis on March 24. The Bulls’ season ends April 12, and they won’t be in the playoffs. Is UNC willing to wait and miss out on the first week of the transfer portal? For the right fit, why not? Plus, the Bulls are reportedly set for a front office shakeup, so it may be time to jump ship.

After 11 years away from college basketball, is Donovan ready for a return to campus? College ball is basically pro ball, anyway now. He’d be the candidate most UNC fans are pinning their hopes on after other high-profile rejections.

Advertisement

Mark Byington, Vanderbilt

Byington, 49, played at UNC Wilmington and was an assistant at Virginia and Virginia Tech, so he’s got some familiarity with the state and ACC. He may not have the name recognition as some of the other coaches linked to the job, but he’s averaged 25 wins across his past four seasons as a head coach, including 27 victories this season in his second year at Vanderbilt

He’s never made a Sweet 16, but he’s never been at a program like North Carolina, either.

Todd Golden and Nate Oats had never been to a Sweet 16 before coaching at Florida and Alabama, respectively. Now, they’re two of the best coaches in the sport.

Sean Miller, Texas

Miller is a winner. He’s coached in 14 NCAA tournaments, reached the Sweet 16 nine times and the Elite Eight four times.

Advertisement

Miller spent five seasons on Herb Sendek’s NC State staff, so knows the state. His firing at Arizona will raise some red flags with his involvement in 2017 Adidas FBI probe, but if Rick Pitino, Will Wade and Bill Self (among others involved) can still coach at the top level, why shouldn’t Miller?

He just finished his first season at Texas, going 21-15, taking the Longhorns from the First Four to the Sweet 16, and a last-second tip-in away from the Elite Eight.

Ben McCollum, Iowa

McCollum is a proven winner at multiple levels and a program builder. The 44-year-old coach won four Division II national championships before jumping to the Division I level. He’s won more than 80% of his games, leading Drake to 31 wins before making the move to Iowa and taking the Hawkeyes to the NCAA Tournament this season. Imagine what he could do with a blue-blood program?

Scott Drew, Baylor

Two years ago, Drew claimed a spot near the top of Kentucky’s wish list. He turned down the Wildcats, a humbling blow to UK. Two years later, you must wonder whether Drew would benefit from a restart. His Baylor team went 16-16 and got trampled within the Big 12. Drew last reached a Sweet 16 in 2021, when he produced a national title.

Take the macro view, and Drew’s Baylor accomplishments are phenomenal. He rescued from the trash bin a program that had been rocked by a deadly scandal. He took the Bears up, up, up, until they reached the top of the sport.

Advertisement

Zoom in, and you realize Drew’s best days at Baylor are behind him. He’s still widely respected, and if Drew, 55, is ever going to leave Baylor, right now is likely his last best chance.

Josh Schertz, Saint Louis

Schertz was in the mix for the NC State job before saying he was staying with SLU. Would UNC make him reconsider?

Like McCollum, Schertz cut his teeth coaching in Division II, reaching four Final Fours at Lincoln Memorial. His 2024 Indiana State team was electric — and an NCAA Tournament snub before reaching the NIT final. He’s rebuilt Saint Louis in just two seasons and plays a brand of basketball that’s easy on the eye.

Grant McCasland, Texas Tech

All but one of his 12 seasons as a head coach have been in Texas. It’ll likely be hard to pry him East, especially with the deep pockets in Lubbock.

But he’d be an interesting option. Another former Division II and JUCO head coach, McCasland’s teams win. He won the NIT at North Texas in 2023 and led Texas Tech to the Elite Eight in 2025. Had JT Toppin not gotten hurt this year, who knows how far the Red Raiders could have advanced.

Advertisement

Jerry Stackhouse, Golden State assistant

Stackhouse is a candidate if the Tar Heels stay in the family, His Vanderbilt tenure was up and down, and before the Commodores really dipped into the NIL space. He had two winning seasons in his five years in Nashville, but that 28-60 SEC record will be hard for UNC fans to swallow.

Mike Malone, former NBA coach

An underrated possibility, the 54-year-old Malone is a championship-caliber coach and has a daughter who plays volleyball at UNC. He’s been around the Tar Heels’ basketball program at times and has history as a college and NBA coach. Malone led the Denver Nuggets to an NBA title in 2023.

T.J. Otzelberger, Iowa State

If UNC wants to build its identity around defense, Otzelberger is the guy to do it. The 48-year-old coach has produced top-10 defensive units in four of his five seasons at Iowa State. The Cyclones are elite at creating turnovers. The Heels would have a clear identity and structured program under Otzelberger. Considering what he’s built in Ames, this could be UNC’s safest, most reliable option.

USA TODAY Sports reporters Blake Toppmeyer and John Brice contributed to this report.



Source link

Advertisement
Continue Reading

Trending