0 - 3 of 3 tags for aggregate functions

Hi All,
I'm getting an error regarding non aggregate values when using sum over partition function. Basically, my goal is to get the total of a measured column for a particular descriptive column. i.e. 



A.Product Type,



I am trying to produce a results table with the last completed course date for each course code, as well as the last completed course code overall for each employee. Below is my query:

SELECT employee_number,
MAX(course_completion_date) OVER (PARTITION BY course_code) AS max_course_date,
MAX(course_completion_date) AS max_date
FROM employee_course_completion
WHERE course_code IN ('M910303', 'M91301R', 'M91301P')
GROUP BY employee_number

This query produces the following error:
3504 : Selected non-aggregate values must be part of the associated group

I want to execute SUM of a field at different grouping levels... is it possible to use SUM inside CASE statement???

Something like below..