Contents of /fac/sci/physics/research/epp/resources/teaching/software_development_2025/ /fac/sci/physics/research/epp/resources/teaching/software_development_2025/ Contents of /fac/sci/physics/research/epp/resources/teaching/software_development_2025/ en-GB (C) 2026 University of ÌÇÐÄTV Wed, 25 Mar 2026 10:45:19 GMT http://blogs.law.harvard.edu/tech/rss SiteBuilder2, University of ÌÇÐÄTV, http://go.warwick.ac.uk/sitebuilder Pre-course software setup /fac/sci/physics/research/epp/resources/teaching/software_development_2025/setup/ Instructions to setup the software needed for the course Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/setup/ Session 1: Introduction to the UNIX shell /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_1/ This lesson guides you through the basics of file systems and the UNIX shell UNIX shell bash Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_1/ Session 2: Version Control with Git /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_2/ Introduction to version control of source code with Git Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_2/ Session 3: Core C++ Syntax and Program Flow Control /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_3/ Introduction to core C++ syntax, compiling code, and controlling the flow of a program Mon, 14 Jul 2025 13:10:56 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_3/ Session 4: C++ vectors and command-line arguments /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_4/ Using command line arguments to direct the execution of the program Mon, 14 Jul 2025 13:12:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_4/ Session 5: C++ Functions and References /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_5/ Further procedural C++: writing functions and using references to avoid copying Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_5/ Session 6: Build automation with CMake /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_6/ Automating code compilation, etc. with CMake Mon, 14 Jul 2025 13:49:20 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_6/ Session 7: Implementing the Caesar cipher /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_7/ Implementation of the Caesar cipher as a C++ function Mon, 14 Jul 2025 13:51:32 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_7/ Session 8: Data structures and Doxygen documentation /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_8/ Bundling related data into a data structure and automating code documentation with Doxygen Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_8/ Session 9: Object orientation with C++ classes /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_9/ Object oriented C++ with classes Mon, 14 Jul 2025 15:44:30 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_9/ Session 10: Unit testing /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_10/ Unit testing using the GoogleTest testing framework Mon, 14 Jul 2025 15:45:44 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_10/ Session 11: Generic Programming and the Playfair cipher (Part 1) /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_11/ Starting to implement the Playfair cipher using iterators and algorithms Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_11/ Session 12: Generic Programming and the Playfair cipher (Part 2) /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_12/ Continuing to implement the Playfair cipher using lambda functions, maps and pairs Tue, 15 Jul 2025 15:54:35 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_12/ Session 13: Generic Programming and the Playfair cipher (Part 3) /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_13/ Completing the Playfair cipher implementation using structured bindings Tue, 15 Jul 2025 15:58:17 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_13/ Session 14: Object composition and the Vigenere/Bellaso cipher /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_14/ Implementation of the Vigenère/Bellaso cipher using object composition Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_14/ Session 15: Dynamic polymorphism /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_15/ Dynamic polymorphism in C++ via shared type and late binding Tue, 15 Jul 2025 16:11:32 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_15/ Session 16: Smart pointers /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_16/ Use of smart pointers to manage object lifetimes Tue, 15 Jul 2025 16:12:10 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_16/ Session 17: Exceptions /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_17/ Handling error conditions with exceptions Wed, 09 Jul 2025 13:02:00 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_17/ Session 18: Concurrent programming /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_18/ Introduction to multi-threaded programming Tue, 15 Jul 2025 16:20:27 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/session_18/ Extra material and full solutions /fac/sci/physics/research/epp/resources/teaching/software_development_2025/extras/ Extras Tue, 15 Jul 2025 16:21:30 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/extras/ Course Feedback Form /fac/sci/physics/research/epp/resources/teaching/software_development_2025/feedback_form/ Wed, 09 Jul 2025 13:02:01 GMT Thomas Latham /fac/sci/physics/research/epp/resources/teaching/software_development_2025/feedback_form/