The main goal of this project is to study how students learn abstract mathematics. The specific situation to be studied is how students increase their level of sophistication in mathematics so that they can understand abstract algebra at the undergraduate level. In addition, since abstract algebra is a basic course for teachers, it has influence on the education of teachers and how they learn, and whence, how they teach mathematics in the schools. The design of the research study will include the study of "traditional" approach to teaching this course and a pedagogical approach that involves the use of computers to initially construct the abstract objects that occur in an abstract algebra course combined with a cooperative learning environment. This study will be carried out at a number of universities and by several faculty members at those universities. There will be a faculty workshop and minicourses given at professional meetings to disseminate the findings of this research and the techniques developed to help in learning abstract concepts.