Couverture de UCL for Code in Research

UCL for Code in Research

UCL for Code in Research

De : Peter Schmidt
Écouter gratuitement

À propos de ce contenu audio

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

© 2026 UCL for Code in Research
Épisodes
  • 5/10 Classes and Design [2026]
    Feb 18 2026

    Here we touch on some ways to build classes in C++ and how class design such as class hierarchies can help to make code more readable, more maintainable and less error prone (amongst other things). Klaus Iglberger and I also touch on design patterns and briefly what other programming paradigms exist apart from object oriented programming (OOP).

    Links

    • https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f The forgotten history of OOP
    • https://medium.com/@ryan_forrester_/struct-inheritance-in-c-comprehensive-guide-2027689d10ed structs and classes
    • https://www.enterpriseintegrationpatterns.com/index.html Enterprise Integration Patterns by Gregory Hohpe
    • https://martinfowler.com Martin Fowler author of so many books, including one on enterprise patterns
      • https://martinfowler.com/bliki/GangOfFour.html Martin F's write-up of the Gang of Four book
    • https://en.wikipedia.org/wiki/Design_Patterns Wiki page on the book 'Design Patterns - Elements of Reusable Object Oriented Software' written by E Gamma, R Helm, R Johnson and J Vlissides.
      • https://openlibrary.org/books/OL7408317M/Design_Patterns
    • https://www.amazon.co.uk/Software-Design-Principles-Patterns-High-Quality/dp/1098113160 book by Klaus Iglberger: "C++ Software Design: Design Principles and Patterns for High-Quality Software"

    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

    Afficher plus Afficher moins
    34 min
  • 4/10 On Polymorphism [2026]
    Feb 11 2026

    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

    Afficher plus Afficher moins
    27 min
  • 3/10 Throw, try, catch...test [2026]
    Feb 4 2026

    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

    Afficher plus Afficher moins
    32 min
Aucun commentaire pour le moment