隨著Web 2.0 概念的流行與許多以使用者分享內容為主的網站當道,原先在程式設計課程授課之中,學生多是從教師講授並給予程式設計範例,或是從參考書籍中得到幫助,但此方式多以專家角度出發,以單向的程式範例教導模式,難以從學生角度出發給予幫助,也難以去提供多元化的程式教授範例。本研究設計一個以Web 2.0 觀念為主的網頁程式設計之分享環境 (WPAS 2.0),讓學生可以自由的透過平台來分享本身學習的過程,以及設計了讓學生易於分享程式碼範例的工具,包含有程式碼註記工具 (code annotation)、程式碼分類工具 (code tagging)並以大眾分類法 (folksonomy)作為分類基礎、以及同學之間的程式碼評估工具 (code rating)、並加上程式碼引用機制(code citation),這些以Web 2.0 概念為主所設計的工具來輔助同學分享在程式學習時的心得,進一步達到協助程式問題解決,並實際於課堂上進行實驗。本研究將探討以上WPAS 2.0 提供之工具的使用在對於其程式設計學習活動之相關性與其對活動成就與學習成效的影響,接著透過問卷瞭解學生對WPAS 2.0系統使用之有用性以及易用性看法,並訪談學習成效較高與較低或是在學習活動中有特殊表現的學生。最後提出結論與建議,以幫助老師與學生在程式設計上使用分享環境系統的教學與學習。Currently, with the popularity of the Web 2.0 concept and the sharing contents provided by users in the most websites, the programming courses that students were used to be taught with programming examples from lecturing provided by teaching or getting help from reference books. Those ways usually come up with the expert point of view and one-way lecturing mode for students to teach the programming examples. It is difficult to help students from their perspective, as well as to provide diverse programming examples for them. In this study, a web-based programming assisted system had been designed based on the Web 2.0 concepts (WPAS 2.0) for students. In order to let students freely share their learning contents by the WPAS 2.0, some tools were designed for helping them to accomplish that task, including: code annotation tool for annotating on programming code, code tagging tool which is based on folksonomy , code rating tool to let students evaluate others’ code, and code citation mechanism. Those tools were designed with the concept of Web 2.0 to assist students for sharing what they had learned, and to solve their programming problems further more. After a practical experiment was conducted in the classroom, the relationship between the programming learning activities and their effect on students’ learning achievements were studied in this research. The results had shown that the sharing platform was very useful and played an important role for students to get high activity achievements. But there was no instantly direct help for increasing students’ programming ability by sharing programming examples. Besides, students’ perceived viewpoints about WPAS 2.0 by questionnaires were investigated as well. At the end of the course, an in-depth interview was held to study some students who performed extremely contrarily in the class or had special behavior in the programming learning activities. Finally, some conclusions and suggestions are provided in order to help teaching and learning in programming courses with programming sharing system.