How to show data from external api to theme template? I am totally new to Drupal. I have given one assignment to build Drupal site which shows courses from our company site. I am totally stuck in one point. I need to show data from our api into theme template. 

Can you please guide me on this? If you have any example, please share with me. I will dig into it and I will try to solve my problem.
There are a few answers to that question, and it depends on the design (appearence and behaviors), but the Drupal foundation is usually the same.
1st step
Create a custom block and place it in a page (node of a generic type is a good option or a programmatically created page.
OR
Create a custom page (see ´hook_menu´)
2nd step
Create a custom theme function using ´hook_theme´ (template file is usually easier to maintain)
3rd step (connect to the API)
Due to performance considerations (async vs. sync request) I prefer to use JavaScript to get the data and present it on the page / block we created. (AngularJS is my friend..)
If JS is not an option, then you can make the request in ´hook_block_view´ in case you used custom block, ´hook_page_build´ or in your ´hook_menu´'s callback in case you chose a page in step 1.