UCL for Code in Research

Peter Schmidt

The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK. 

  1. 2025. 12. 11.

    9/9 Research Software Engineering with Python (COMP233) - Performance

    In this last episode of this course, I talk to Itamar Turner-Trauring who created the website PythonSpeed and spent a considerable time on finding ways to make Python code faster and more efficient. Python and its ecosystem also have great tools how you can measure performance. Links: https://pythonspeed.com a set of articles and recommendations on how to improve your performancehttps://blog.sentry.io/python-performance-testing-a-comprehensive-guide/ a general blog post on performance testinghttps://uwpce-pythoncert.github.io/SystemDevelopment/profiling.html https://uwpce-pythoncert.github.io/SystemDevelopment/index.htmlhttps://en.wikipedia.org/wiki/Computer_performancehttps://python-102.readthedocs.io/en/latest/performance.htmlhttps://docs.python.org/3/tutorial/datastructures.htmlhttps://www.green-algorithms.orghttps://doi.org/10.1145/356635.356640 Donald Knuth's paper on over optimisationhttps://wiki.python.org/moin/TimeComplexityhttps://blog.jetbrains.com/dataspell/2023/08/polars-vs-pandas-what-s-the-difference/ comparing Polars with PandaProfiling tools https://pyinstrument.readthedocs.io/en/latest/https://docs.python.org/3/library/profile.htmlhttps://docs.python.org/3/library/time.html the time function in Pythonhttps://docs.python.org/3/library/timeit.html another function to measure time in Pythonhttps://jiffyclub.github.io/snakeviz/ a graphic profile viewerhttps://bloomberg.github.io/memray/ flexible memory profilerhttps://github.com/benfred/py-spyhttps://www.wrighters.io/profiling-python-code-with-py-spy/https://github.com/P403n1x87/austin-python The Python wrapper for the Austin profiler Don't be shy - say Hi This podcast is brought to you by the Advanced Research Computing Centre of the University College London, UK. Producer and Host: Peter Schmidt

    23분
  2. 2025. 12. 04.

    8/9 Research Software Engineering with Python (COMP233) - Design and Patterns

    In this episode I talk to Jeremiah Miller - a software engineer - and Max Albert - a research software engineer in the research software group at the University of Southampton about refactoring and design patterns. https://en.wikipedia.org/wiki/Design_Patternshttps://en.wikipedia.org/wiki/Spaghetti_codehttps://www.distributed-systems.net/index.php/books/ds4/ book by A Tanenbaumhttps://refactoring.com The Refactoring book by Martin Fowlerhttps://martinfowler.com/architecture/https://martinfowler.com/eaaDev/https://martinfowler.comhttps://www.patternlanguage.com the original book by Christopher Alexander on design patterns in architecture - for towns, cities etc. This book inspired software engineers to define a set of design patterns on how to structure codehttps://refactoring.guru/design-patterns Max recommended Sandi and her tips and recommendations on codinghttps://sandimetz.com/99bottles the idea of making things as identical as possible to sniff out design breaks or changeshttps://refactoring.guru/design-patterns another website on design patterns and refactoringSome books: Design Patterns - Elements of Reusable Object-Oriented Software Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley, 1995, ISBN 0-201-63361-2Enterprise Integration Patterns Gregor Hohpe, Bobby Woole, Addison-Wesley, 2004, ISBN 0-321-20068-3Don't be shy - say Hi This podcast is brought to you by the Advanced Research Computing Centre of the University College London, UK. Producer and Host: Peter Schmidt

    28분

소개

The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK.