Build page from content type course - use views or custom code
It's unclear from your post on your knowledge of Views.  However if your referring to the 4 content boxes being shown in the sketch then Views is a great tool for doing this. 

Regarding layout there is the functionality to return all fields you require in divs / classes etc and will be able to generate the look you wish.

Also links are no problem; in fields call up [content:path] - you can then add a 'custom text' field with your link 

&lt;a href='[path]' class="mybbutton"&gt;Link&lt;/a&gt;


Views can general be viewed as a way of returning data from the database and present it how you wish.  enjoy!