public void addCourse(String name, String course) {
		/* search entire tree, if found, add course */
		StudentNode currentStudent = root;
		StudentNode preNode = null;

		/* empty tree */
		if (root == null) {
			StudentNode newNode = new StudentNode(name);
			newNode.courses.add(course);
			root = newNode;
			numStudents++;
			return;
		}

		while (currentStudent != null) {
			/* store pre-node */
			preNode = currentStudent;

			/* found */
			if (currentStudent.name.equals(name)) {
				currentStudent.courses.add(course);
				return;
			}
			/* traverse to next node */
			currentStudent = name.compareTo(currentStudent.name) < 0 ? currentStudent.left
					: currentStudent.right;
		}
		/* if not found, create a new node, insert it */
		StudentNode newNode = new StudentNode(name);
		newNode.courses.add(course);
		numStudents++;

		if (name.compareTo(preNode.name) < 0) {
			preNode.left = newNode;
		} else {
			preNode.right = newNode;
		}
	}