Try something like this:
declare @tableName varchar(max) = 'course'
declare @sql varchar(max) = concat(
'select ',
(
select string_agg( quotename(COLUMN_NAME), ', ') from (
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @tableName
EXCEPT
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS [tc]
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE [ku] ON tc.CONSTRAINT_NAME = ku.CONSTRAINT_NAME
AND ku.table_name = @tableName
) d),
' from ',
quotename(@tableName)
)
--print @sql
exec (@sql)