Sub-Website within a bigger website I want to create an entirely new website within a drupal7 website. 
 For example: 
www.school.edu will have theme A (not sure if theme's the right word, basically, different looking webpage). And all its subpages and paths will have the same thing. (i.e. www.school.edu/news, wwww.school.edu/about, www.school.edu/contact ... etc). 
 And, I want a new website within www.school.edu to exist. And that new website should have a different theme.  

 for example:  
www.school.edu/compsci will have theme B. And all the subpages that follows under compsci/ should all have the same themes; by having a different theme, I mean they will have different headers, different logos, different main menus, different everything, basically entirely new website. (i.e. www.school.edu/compsci/news, www.school.edu/compsci/about, www.school.edu/compsci/contact

I have looked around for answers; it's just that I haven't been able to phrase my question well and I thought if I explained it as such, I would be able to get more accurate answers. 

With the code below, I have been able to make each subpage that exist under /compsci to go to page__layout_1 ... 

function theme_preprocess_page(&amp;$vars, $hook) {
    $path = drupal_get_path_alias($_GET['q']);
    $current_page_path = explode('/', request_path());

    if ($current_page_path[0] == 'compsci') {
      $vars['theme_hook_suggestions'][] = 'page__layout_1';
    }
}


Now, the question is, how I would be able to define different main-menus, different nav-bars, so on. I am quite new to drupal so some terms I am still unfamiliar with -- do I create custom themes or custom modules -- what's the best approach to this?
You can set different themes using hook_custom_theme()

function HOOK_custom_theme() {
  if(arg(0, drupal_get_path_alias()) == 'compsci') {
    return 'theme_machine_name';
  }
}


When you create menus, they will create a block. You can enable the menu blocks on a per-theme basis.