Even though most algorithms are a few lines to half a page long in the textbook, their implementation often requires hundreds of lines in C or Java. Unfortunately, experiences have shown that programming assignments in algorithm classes may not always be pedagogically beneficial. The argument for using these languages is mainly a practical one: students are probably already proficient in these languages even if they are not, learning these languages would give them a practical skill. Virtually all courses and textbooks so far have asked students to program in a traditional language such as C or C++, and recently Java has gained popularity. Textbooks that include programming as an integral part of algorithm education have also been authored to meet this demand. As a result, it is not uncommon for algorithm courses to include programming assignments. While it is possible to study algorithms just by reading textbooks and doing problem sets, students often do not really learn the algorithms until they actually try implementing them. As a result, algorithm courses are taken by not only computer majors as a requirement, but also by students from other majors. Algorithms are used not only by computer scientists and computer engineers, but also by many in other engineering and science disciplines. IntroductionĪlgorithms are the single most important toolbox for anyone who must solve problems by writing computer programs. These features have been implemented in a graduate level algorithms course with successful results. More importantly, we report our novel use of Python for representing aggregate data structures such as graphs and flow networks in a concise textual form, which not only encourages students to experiment with the algorithms but also dramatically cuts development time. The advantages of Python include its textbook-like syntax and interactivity that encourages experimentation. Python represents an algorithm-oriented language that has been sorely needed in education. Unfortunately, the use of traditional programming languages forces students to deal with details of data structures and supporting routines, rather than algorithm design. Many algorithms courses include programming assignments to help students better understand the algorithms. University of California, Irvine, CA 92697-2625 Abstractĭesign and analysis of algorithms are a fundamental topic in computer science and engineering education. Chouĭepartment of Electrical and Computer Engineering Algorithm Education in Python Algorithm Education in Python Pai H.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |