In this research, the authors developed the learning environment, which consists of an electronic notebook, a textbook and an exercise book for learning the programming language. The authors named the learning system with the electronic notebook "Programming notes". The window of the "Programming notes" has three areas, the program editing area, the error message display area and the comment input area for error messages. Moreover, it is easy for beginners to study the programming language, because there are several function buttons, such as a reference button of an electronic textbook. The characteristics of this learning system are as follows.(1) The process of learning is automatically recorded in the individual files when a learner uses the learning system.(2) Learners can learn from their mistakes recorded in the learning system.(3) Teachers can make good use of the recorded data to educate the programming language. We used the learning system to educate the C programming language at the College of Technology. it is clear that the learning system is effective to educate beginners. Moreover an electronic textbook of the learning system was used for the education of Department of Engineering at university. In this learning environment, study data of students are stored in the file server of the Intranet. In the asynchronous learning system which we have designed, these study data are stored to the database server and are inspected from the web server.(5)Web上で問題集が自動作成されるシステムを開発し,電子問題集(ドリル型Web-CAI)による教育を提案した.