<!DOCTYPE html>
<html>

  <head>
    <link data-require="bootstrap@3.3.2" data-semver="3.3.2" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
    <link rel="stylesheet" href="style.css" />
  </head>

  <body>
    <h1>Registro de usuario</h1>
    
    <form>
      <select id="carrera" name="carrera" class="form-control">
        <option value="0">Elija carrera</option>
        <option value="taller.txt">Taller de Desarrollo</option>
        <option value="basededatos.txt">Base de datos</option>
        <option value="programacion.txt">Programacion II</option>
      </select>
      <select id="materia" name="materia" class="form-control">
        <option>---</option>
      </select>
    </form>
    <script src="script.js"></script>
  </body>

</html>
var carrera = document.querySelector('#carrera');
var materia = document.querySelector('#materia');
carrera.onchange = mandoCarrera;

function reciboMaterias(respuesta) {

  limpiar(); 
  
  var lines = respuesta.split('\n');
  for (var line = 0; line < lines.length; line++) {
    var opt = document.createElement('option');
    opt.innerHTML = lines[line];
    opt.value = lines[line];
    materia.appendChild(opt);
  }

}

function mandoCarrera() {
  var ajax = new XMLHttpRequest();
  ajax.open('GET', carrera.value);
  ajax.onreadystatechange = function() {
    console.log(ajax.status, ajax.readyState, ajax.responseText);
    if (ajax.status === 200 && ajax.readyState === 4) {
      reciboMaterias(ajax.responseText);
    }
    else
      limpiar();
  }
  ajax.send();
}

function limpiar(){
while(materia.options.length > 0){                
    materia.remove(0);
  } 
}
/* Styles go here */
@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,400);

body {
  font-family:'Ubuntu';
  width: 500px;
  margin: auto;
}

#carrera, #materia{
  margin-top: 10px;
}

#carrera:hover, #materia:hover{
  cursor: pointer;
  box-shadow: 3px 3px 5px #888888;
}
Introducción al desarrollo Web
Introducción a ASP.NET MVC
Modelos
Controladores
Vistas
Introducción a HTML5 y CSS
Introducción a JavaScript y JQuery
Creación de bases de datos
Creación de tablas
Datos del sistema
Integridad de la información
Modelo de datos relacional
Diagrama entidad-relación
Normalización
Vistas
Indices
XML