{'fraction_non_alphanumeric': 0.017881705639614855, 'fraction_numerical': 0.0, 'mean_word_length': 5.438053097345133, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Teaching Software Engineering by Developing Commodity Software

Software engineering is one of the main disciplines of computer science. It plays a crucial role in computer science education, especially on a graduate level. However as important as software engineering education is, it is the subject of constant discussions, changes, and controversies. At the Faculty of Mathematics, Computer Science and Mechanics of Warsaw University we launched a software project with the aim to produce an integrated student management information system (called USOS) for the faculty, the university and other Polish public universities. It is a huge databaseoriented software application done partly in Oracle technology and partly in open source technology (Internet modules). The system is designed and developed by computer science students supervised by lecturers and Ph.D. students. For the last three years software engineering education at the faculty was focused around USOS development. This process is manifold — it takes part on a variety of courses, many methods and tools of software engineering are tested along the way, possibilities for research experiments arise. Students learn by applying standards and being exposed to good practices. USOS provides a unique opportunity to integrate education in software engineering with production of commodity software. That model of software engineering education is very successfull and will be continued.