DiscoverUCL for Code in Research
UCL for Code in Research
Claim Ownership

UCL for Code in Research

Author: Peter Schmidt

Subscribed: 5Played: 24
Share

Description

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

13 Episodes
Reverse
In this episode we look into more essential Git commands, such as branching and merging. Branching and merging are key concepts that help you develop code or even text documents in a team. They help you maintain different versions of files and work on them independently. Another element of collaborative working is provided by GitHub: the pull request. Pull request are a great way to do code reviews, which avoids introducing bugs and also learn from each other. In my conversations Sam and Eiri...
Peter Schmidt - the host of this podcast - interviews Sam Harrison, an environmental modeller at the UK Centre for ecology and hydrology. Is it version control important for his research? what tool does he use? How he learn it? Links and transcript available in the show notes. About Sam https://www.ceh.ac.uk/staff/samuel-harrisonhttps://www.ceh.ac.uk/About Git https://git-scm.com/https://github.com/git/git/https://github.com/git/git/tree/v0.99 (almost) first version of Git from 2005https...
In this last episode of the companion podcast for the C++ course at UCL, I invited both Klaus Iglberger and Marc Hartung (Dive, Berlin) to go through some aspects of parallel computing. But also to look a little bit ahead of what's in store for C++ in future standards. And how the language may help you in your career. Links: https://www.youtube.com/watch?v=NReDubvNjRg&list=PLY_qIufNHc2-Dk9IVNtgoF4uhKRszjJPz Cpp Conference (Cpp Con) Back to basics YouTube 2023https://www.youtube.com/watch?...
Marc Hartung and I will discuss distributed memory in parallel computing in this episode, with tools like OpenMPI. We also discuss some of the hardware aspects around HPC systems and how shared and distributed memory computations differ. Links: https://www.open-mpi.org OpenMPI homepagehttps://docs.open-mpi.org/ the docs for OpenMPIhttps://www.mpi-forum.org The MPI Forum (who write the MPI standard)http://openshmem.org/site/ OpenSHMEM https://en.wikipedia.org/wiki/Distributed_memory summa...
Parallel programming is a huge, exciting and evolving field. Together with my guest Marc Hartung from Dive in Berlin, Germany, we try to cover some aspects of it: including OpenMP, how to synchronise data etc. Links: https://en.cppreference.com/w/cpp/language/memory_model the C++ memory modelhttps://www.openmp.org OpenMP home pagehttps://www.openmp.org/resources/openmp-compilers-tools/ Compilers for OpenMPhttps://gcc.gnu.org/projects/gomp/ the GNU OpenMP compilerhttps://en.wikipedia.org...
How can we measure the performance (run-time, memory usage etc) of our C++ code? And what does performance mean, anyway. These and other questions are the topic of this episode - with my guest Klaus Iglberger, C++ engineer, tutor and mentor. Memory https://en.wikipedia.org/wiki/Non-uniform_memory_access something about memory accesshttps://dl.acm.org/doi/10.1145/216585.216588 Ań article on 'Hitting the memory wall' how fast can memory access be?https://www.ibm.com/docs/en/xl-c-and-cpp-a...
Software libraries play a crucial role in software development, and C++ is no exception. Klaus and I walk through the different aspects of building, using and selecting libraries. Links: https://cmake.org CMake toolhttps://en.wikipedia.org/wiki/Library_(computing) write up on software libraries with a bit of historyhttps://en.wikipedia.org/wiki/Executable_and_Linkable_Format the ELF Format for shared libs (executable and linkable format)https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/Link-...
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 OOPhttps://medium.com/@ryan_forrester_/st...
4/10 On Polymorphism

4/10 On Polymorphism

2025-02-1226:33

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 Stroustruphttps://cplusplus.com/doc/tutorial/polymorphism/https://ics.uci.edu/~jajones/INF102-S18/readings/05_stratchey_1967.pdf Christian Strachey's article where he introduces polymorphismhttp...
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...
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 arehttps://en.wikipedia.org/wiki/Address_(programming_language) one of the early uses of pointers in ...
This first episode is about introducing C++, where it started, how it evolved. You will hear from 2 practitioners: Klaus Iglberger (C++ coach/trainer) and Marc Hartung (tech lead at Dive in Berlin). Here are a few links for you to follow up on: https://www.stroustrup.com The Home Page of Bjarne Stroustrup who created C++. There are plenty of links for you to followhttps://isocpp.org/std/the-standard The C++ standard homepage https://www.mn.uio.no/tjenester/it/hjelp/programvare/simula/ve...
Welcome to the new podcast from the Advanced Research Computing Centre of the University College London, UK. A companion podcast for courses on Research Computing at UCL. In this first season we'll be presenting the course on Research Computing with C++. And this short teaser explains how it all works. Have fun! 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
Comments