UCL for Code in Research

By: Peter Schmidt
  • Summary

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

    © 2025 UCL for Code in Research
    Show more Show less
Episodes
  • 4/10 On Polymorphism
    Feb 12 2025

    Inheritance, templates, function overloading - they all fall into the category of polymorphism in programming. My guest Klaus Iglberger and I discuss the different aspects of how this could be done with C++.

    Links

    • https://www.stroustrup.com/glossary.html#Gpolymorphism Glossary provided by Bjarne Stroustrup
    • https://cplusplus.com/doc/tutorial/polymorphism/
    • https://ics.uci.edu/~jajones/INF102-S18/readings/05_stratchey_1967.pdf Christian Strachey's article where he introduces polymorphism
    • https://dl.acm.org/doi/pdf/10.1145/6041.6042 Article by Cardelli and Wegner On Understanding Type, Data Abstraction and Polymorphism
    • https://en.wikipedia.org/wiki/Virtual_method_table virtual tables (vtables)
    • https://pabloariasal.github.io/2017/06/10/understanding-virtual-tables/
    • https://www.geeksforgeeks.org/vtable-and-vptr-in-cpp/
    • https://belaycpp.com/2021/10/01/history-of-c-templates-from-c-style-macros-to-concepts/ A history of templates
    • https://www.stroustrup.com/dne.html Bjarne Stroustrup: the Design and Evolution of C++

    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

    Show more Show less
    27 mins
  • 3/10 Throw, try, catch...test
    Feb 5 2025

    Exceptions are essentials, as are error codes. Writes Bjarnes Stroustrup. And so on our 3rd stop through C++ I talk about what you could do when things go wrong. And what you can do to prevent errors - with testing. My guest is, again Klaus Iglberger.

    The sounds you're hearing are from the excellent https://sound-effects.bbcrewind.co.uk BBC sound library - free of use for non-commercial purposes.

    Links:

    • https://en.wikipedia.org/wiki/Exception_handling_(programming)
    • https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1947r0.pdf B Stroustrup's article 'C++ exceptions and alternatives'
    • https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_exceptions.html GNU exception manual
    • https://en.wikipedia.org/wiki/Errno.h the macro
    • https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html
    • https://archive.org/details/working-effectively-with-legacy-code/ Michael Feathers "Working Effectively with Legacy Code"
    • https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0003r0.html#2.0 what went on with C++98 exceptions?
    • https://devblogs.microsoft.com/oldnewthing/20180928-00/?p=99855 another discussion on the "old" exception handling in C++

    Tools:

    • https://undo.io/products/undo-c-plusplus/ Undo
    • https://github.com/catchorg/Catch2 Catch2
    • https://google.github.io/googletest/ Google tests
    • https://github.com/emil-e/rapidcheck RapidCheck property based testing


    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

    Show more Show less
    32 mins
  • 2/10 Data Types and the world of (smart) pointers
    Jan 29 2025

    In the beginnings were...data and data types. Which is where we begin our journey through C++. The language provides for a range of interesting, fundamental, complex and custom types - one of which is a set of pointer types.
    My guest in this episode is Marc Hartung from Dive in Berlin, Germany.

    Links:

    • https://en.wikipedia.org/wiki/Pointer_(computer_programming) summary of what pointers are
    • https://en.wikipedia.org/wiki/Address_(programming_language) one of the early uses of pointers in the APL language
    • https://en.wikipedia.org/wiki/Memory_management article on memory management
    • https://learn.microsoft.com/en-us/cpp/cpp/type-conversions-and-type-safety-modern-cpp an article on type conversion
    • https://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html GCC compiler and support for 128bit integers
    • https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library C++ Standard Library
    • https://dl.acm.org/doi/pdf/10.1145/242604.242613 Ań article on how the C++ Standard Library emerged
    • https://en.wikipedia.org/wiki/Standard_Template_Library the Standard Template Library (not to be confused with the C++ Standard Lib)

    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

    Show more Show less
    35 mins

What listeners say about UCL for Code in Research

Average customer ratings

Reviews - Please select the tabs below to change the source of reviews.