diff --git a/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.html b/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.html
new file mode 100644
index 0000000..60300b0
--- /dev/null
+++ b/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.html
@@ -0,0 +1,41 @@
+{% var letterhead= filters.letter_head || (frappe.get_doc(":Company", filters.company) && frappe.get_doc(":Company", filters.company).default_letter_head) || frappe.defaults.get_default("letter_head"); %}
+{% if(letterhead) { %} 
+<div style="margin-bottom: 7px;" class="text-center">
+	{%= frappe.boot.letter_heads[letterhead].header %}
+</div>
+{% } %}
+<h4 class="text-center">{%= __("Assessment Report") %}</h4>
+<hr>
+<h5 class="text-center">{%= __("Course Code: ") %} {%= filters.course %}</h5>
+<h5 class="text-center">{%= __("Assessment Group: ") %} {%= filters.assessment_group %}</h5>
+<h5 class="text-center">{%= __("Assessment Plan: ") %} {%= data_to_be_printed[0]["assessment_plan"] %} </h5>
+<hr>
+
+<table class="table table-bordered">
+	<thead>
+		<tr>
+			{% for(var i=1, l=report.columns.length; i<l; i++) { %}
+				<th style="text-transform: uppercase; max-width: 100px">{%= report.columns[i].label %}</th>
+			{% } %}
+		</tr>
+	</thead>
+	<tbody>
+		{% for(var j=0, k=data.length; j<k; j++) { %}
+			{%
+				var row = data[j];
+			%}
+			<tr>
+				{% for(var i=1, l=report.columns.length; i<l; i++) { %}
+					<td class="text-center">
+						{% var fieldname = report.columns[i].field; %}
+						{% if (!is_null(row[fieldname])) { %}
+							{%= row[fieldname] %}
+						{% } %}
+					</td>
+				{% } %}
+			</tr>
+		{% } %}
+	</tbody>
+</table>
+
+<p class="text-right text-muted">Printed On {%= dateutil.str_to_user(dateutil.get_datetime_as_string()) %}</p>
diff --git a/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.py b/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.py
index 98c0419..2b407c7 100644
--- a/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.py
+++ b/erpnext/schools/report/course_wise_assessment_report/course_wise_assessment_report.py
@@ -59,7 +59,7 @@
 			from `tabAssessment Result` ar, `tabAssessment Result Detail` ard
 			where ar.assessment_plan in (%s) and ar.name=ard.parent and ar.docstatus=1
 			order by ard.assessment_criteria''' %', '.join(['%s']*len(assessment_plan_list)),
-			tuple(assessment_plan_list), as_dict=1, debug=True)
+			tuple(assessment_plan_list), as_dict=1)
 
 		for result in assessment_result:
 			if "total_score" in result_dict[result.student]:
@@ -121,8 +121,11 @@
 
 	columns = get_column(assessment_criteria_list, total_maximum_score)
 	chart = get_chart()
+	data_to_be_printed = [{
+		"assessment_plan": ", ".join(assessment_plan_list)
+	}]
 
-	return columns, data, None, chart
+	return columns, data, None, chart, data_to_be_printed
 
 def get_column(assessment_criteria, total_maximum_score):
 	columns = [{
