diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index 37c7deb4c..138f88d53 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -24,40 +24,20 @@ module CoursesHelper
   def find_excelletn_course keywords, current_course
     # 获取tag匹配结果ID
     a_tags = []
-    # kc = keywords.to_a
-    Course.visible.where("is_excellent =? and is_public =?", 1, 1).each do |ec|
+    Course.where("is_excellent =? and is_public =?", 1, 1).includes(:tags).each do |ec|
       if ec.tags.any?{|value| current_course.name.include?(value.to_s)}
         a_tags << ec.id
       end
     end
-    # sql = "SELECT distinct c.* FROM `courses` c, tags t, taggings ts where t.id = ts.tag_id and ts.taggable_id = c.id  and c.is_excellent = 1 and is_delete = 0 and
-    #       ts.taggable_type = 'Course' and t.name like '%#{keywords}%'"
-    # a_tags = Course.find_by_sql(sql).select{|course| course.is_public ==1 unless User.current.member_of_course?(course)}
-    # 通过elastic结果获取精品课程
-    a_courses = []
-    #courses = Course.search(keywords)
-    #courses.each do |c|
-    #  a_courses << c.id
-    #end
-    a_courses << a_tags unless a_tags.length == 0
     # 课程本身不能搜索显示自己
-    excellent_ids = a_courses.flatten.uniq.delete_if{|i| i == current_course.id}
-    limit = 5 - excellent_ids.length.to_i
+    excellent_ids = a_tags.uniq.delete_if{|i| i == current_course.id}
     sql = "SELECT distinct c.id FROM course_activities cs, courses c where cs.course_id = c.id
-         and c.is_excellent =1 and c.is_public = 1 and c.id != #{current_course.id} order by cs.updated_at desc;"
-    default_ecourse_ids = Course.find_by_sql(sql).flatten
-    # REDO:时间紧,待优化
-    default_ids =[]
-    default_ecourse_ids.each do |de|
-      default_ids << de.id
-    end
-    default_ids = default_ids - excellent_ids
-    #default_ecourse = Course.where("id is not in (?)", ids).find_by_sql(sql).flatten.delete_if{|i| i == current_course.id}.flatten
-    arr_result = excellent_ids << default_ids
-    arr_result = arr_result.flatten.first(5)
-    return arr_result
-    # 过滤条件:精品课程、本身不在搜索范围
-    #e_courses = Course.where("is_excellent =? and id in (?)",1, arr_result).where("id !=?", current_course.id)
+         and (c.is_excellent =1 or c.excellent_option =1) and c.is_public = 1 and c.id != #{current_course.id} order by cs.updated_at desc;"
+    default_ids = Course.find_by_sql(sql).flatten.map { |c| c.id }
+    excellent_ids << default_ids.flatten
+    arr_result = excellent_ids.flatten.uniq.first(5)
+    excellent_courses = Course.find(arr_result)
+    return excellent_courses
   end
 
   # 判断精品课程是否可见,非课程成员无法查看私有课程
@@ -258,7 +238,7 @@ module CoursesHelper
   # 学生人数计算
   # add by nwb
   def studentCount course
-    course ? course.student.count.to_s : 0#course.student.count
+    course ? course.student.count.to_i : 0#course.student.count
   end
 
   #课程成员数计算
@@ -293,12 +273,17 @@ module CoursesHelper
   def searchTeacherAndAssistant project
     #searchPeopleByRoles(project, TeacherRoles)
     members = []
-    project.members.each do |m|
+    project.members.includes(:user).each do |m|
        members << m  if m && m.user && m.user.allowed_to?(:as_teacher,project)
     end
     members
   end
 
+  def TeacherAndAssistantCount course
+    students_count = course.student.count
+    number = course.members.count - students_count
+  end
+
   def search_student_in_group(project, course_group_id)
     #searchPeopleByRoles(project, StudentRoles)
     members = []
diff --git a/app/views/courses/_recommendation.html.erb b/app/views/courses/_recommendation.html.erb
index a0c659493..63803a5b9 100644
--- a/app/views/courses/_recommendation.html.erb
+++ b/app/views/courses/_recommendation.html.erb
@@ -1,22 +1,21 @@
-<% unless excellent_course_recommend(course).length == 0 %>
+<% exc_course = excellent_course_recommend(course) %>
+<% unless exc_course.length == 0 %>
     <ul class="courseR mb10">
       <h4 class="mb5" ><%= l(:label_homework_recommendation) %>:</h4>
-      <% excellent_course_recommend(course).each do |e_course| %>
-          <% e_course = Course.find(e_course) %>
-
+      <% exc_course.each do |e_course| %>
           <li class="mt15"> <%= image_tag(url_to_avatar(e_course), :width => "40", :height => "40", :class => "fl mr10 rankPortrait", :alt => "logo") %>
             <div class="fl">
               <p class="f12 mb5"><%=link_to e_course.name, course_path(e_course.id), :class => "hidden fl w170" %><div class="cl"></div> </p>
               <p class="f12">
-                <% if visable_attachemnts_incourse(e_course).count > 0 %>
-                    <span class="fl mr15 fontGrey4"><%= l(:project_module_attachments) %>(<%= link_to visable_attachemnts_incourse(e_course).count, course_files_path(e_course), :class => "linkBlue2" %>)</span>
+                <% if course_file_num > 0 %>
+                    <span class="fl mr15 fontGrey4"><%= l(:project_module_attachments) %>(<%= link_to course_file_num, course_files_path(e_course), :class => "linkBlue2" %>)</span>
                 <% end %>
                 <% if e_course.homework_commons.where("publish_time <= '#{Date.today}'").count > 0 %>
                     <span class="fl fontGrey4"><%= l(:label_homework_commont) %>(<%= link_to e_course.homework_commons.where("publish_time <= '#{Date.today}'").count, homework_common_index_path(:course=>e_course.id), :class => "linkBlue2" %>)</span>
                 <% end %>
                 <div class="cl"></div>
-              </p>
-            </div>
+                </p>
+                </div>
             <div class="cl"></div>
           </li>
       <% end %>
diff --git a/app/views/layouts/_project_info.html.erb b/app/views/layouts/_project_info.html.erb
index db9e24a36..461d2b6d9 100644
--- a/app/views/layouts/_project_info.html.erb
+++ b/app/views/layouts/_project_info.html.erb
@@ -1,12 +1,10 @@
 <% is_teacher = User.current.logged? && (User.current.admin? || User.current.allowed_to?(:as_teacher,@course)) %>
-<% teacher_num = searchTeacherAndAssistant(@course).count %>
+<% teacher_num = TeacherAndAssistantCount(@course) %>
 <% student_num = studentCount(@course) %>
-<% course_file_num = visable_attachemnts_incourse(@course).count%>
 <div class="pr_info_logo fl mr10 mb5">
   <% if is_excellent_course(@course) %>
     <img src="/images/course/boutique.png" width="50" height="auto" alt="精品" class="boutiqueP" />
   <% end %>
-<!--<a href="#"><img src="images/courses/pic_courses.jpg" width="60" height="60" alt="logo" /></a>-->
 <%= image_tag(url_to_avatar(@course), :width => "60", :height => "60") %>
 </div>
 <div class="pr_info_id fl mb5 f14">ID:<%= @course.id%><%= @course.is_public == 0 ? "(私有)" : "(公开)" %>
@@ -16,55 +14,16 @@
 </div>
 <div class="pr_info_id fl f14">
   <% unless is_teacher %>
-    <!--<a href="" class="pr_join_a f12">加入课程</a>-->
-      <div id="join_in_course_header"><%= join_in_course_header(@course, User.current) %></div>
+    <div id="join_in_course_header"><%= join_in_course_header(@course, User.current) %></div>
   <% end %>
 </div>
-<!--<div class="pr_info_id fl mb5 f14">
-      ID:<%#= @course.id%>
-    </div>
-    <div class="pr_info_join fl">
-      <%# if is_teacher%>
-          <%#= link_to "<span class='pr_setting'></span>#{l(:button_configure)}".html_safe, {:controller => 'courses', :action => 'settings', :id => @course}, :class => "pr_join_a" %>
-          <%#= set_course_time @course%>
-          <%#= link_to "<span class='pr_copy'></span>#{l(:button_copy)}".html_safe, copy_course_course_path(@course.id), :class => "pr_join_a" %>
-      <%# else%>
-          <div id="join_in_course_header"><%#= join_in_course_header(@course, User.current) %></div>
-      <%# end%>
-    </div>-->
 <div class="cl"></div>
-
-<!--<div >-->
-<!--<a class="pr_info_name fl c_dark fb break_word" href="http://<%#= Setting.host_course%>/courses/<%#= @course.id%>" target="_blank">-->
-<!--<%#= @course.name %>-->
-<!--</a>-->
-<!--<%# if @course.is_public == 0%>-->
-<!--<span class="img_private ">-->
-<!--<%#= l(:field_is_private)%>-->
-<!--</span>-->
-<!--<%# end %>-->
-<!--<%#if @course.tea_id == User.current.id && @course.outline == 0 %>-->
-<!--<span>-->
-<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
-<!--</span>-->
-<!--<%# else%>-->
-<!--<span>-->
-<!--<a href="javascript:void(0)" onclick="course_outline('<%#= @course.id%>');">设置大纲</a>-->
-<!--</span>-->
-<!--<%# end %>-->
-<!--</div>-->
 <div >
 <a class="pr_info_name fl c_dark fb break_word" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank"></a>
 <div>
   <a class="pr_info_name c_dark fb break_word fl" href="http://<%= Setting.host_course%>/courses/<%= @course.id%>" target="_blank">
     <%= @course.name %>
   </a>
-  <%# if @course.is_public == 0%>
-  <!--<span class="img_private "></span>-->
-  <!--<span class="img_private mr5 fl">
-              <%#= l(:field_is_private)%>
-            </span>-->
-  <%# end %>
   <span id="course_outline_bar">
       <%if User.current && @course.tea_id == User.current.id && (@course.outline == 0 ||  BlogComment.where(:id=>@course.outline).count == 0) %>
           <a href="javascript:void(0);" title="设置课程大纲" onclick="course_outline('<%= @course.id%>')" class="mr5 syllabusSetting fl"> </a>
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index ff7f20300..7495b20db 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -55,7 +55,8 @@
   <div id="content">
     <div id="LSide" class="fl">
       <div class="project_info" style="position: relative" id="project_info_<%=@course.id %>">
-        <%=render :partial=>'layouts/project_info' %>
+        <% course_file_num = visable_attachemnts_incourse(@course).count %>
+        <%=render :partial=>'layouts/project_info', :locals => {:course_file_num => course_file_num} %>
       </div><!--课程信息 end-->
       <div class="info_box">
         <ul>
@@ -168,7 +169,7 @@
         <div class="cl"></div>
       </div><!--项目标签 end-->
       <!--课程推荐-->
-      <%= render :partial => 'courses/recommendation', :locals => {:course => @course} %>
+      <%= render :partial => 'courses/recommendation', :locals => {:course => @course, :course_file_num => course_file_num} %>
       <div class="fontGrey5 mt10 ml10 mb10">访问计数 <%= @course.visits.to_i %></div>
     </div><!--LSide end-->