I want to replace a word in my theme with another throughout wordpress

I see some great answers for how to do a search and replace on a given string found in the database. However as I understand the OP’s question, they are looking to replace text found in the theme files, as the question says “I have used a theme that includes the word “courses” throughout the theme by default…”.

If this was a case where the theme anticipated this need, or was already changing the text of a plugin, like some themes change the WooCommerce cart text from “add to cart” to “purchase course”. Then there would be filter hooks available but you would need well written documentation, or the ability to look through the code to determine this. (https://developer.wordpress.org/reference/functions/add_filter/)

A fast simple clever way would be to add this to a child theme’s functions.php file. (https://codex.wordpress.org/Child_Themes)

function start_modify_html() {

    ob_start();
}

function end_modify_html() {

    $html = ob_get_clean();
    $html = str_replace( 'Course', 'Project', $html );
    $html = str_replace( 'course', 'project', $html );
    echo $html;
}

add_action( 'wp_head', 'start_modify_html' );
add_action( 'wp_footer', 'end_modify_html' );

The last way would be to edit the theme files, if the theme were ever updated all of your changes would be lost. To do this you could download the theme and use any decent text editor to do a search and replace, then upload. I do this with Atom editor all the time and it is open source and free to download. (http://flight-manual.atom.io/using-atom/sections/find-and-replace/)