/Four Year Plan/

I want to make an application that will apply the methodology I used to come up with a long-term schedule but that's on the back burner at the moment. In case anyone else want's to jump on that hand grenade, the idea would be to take the scheduling info from the scheduleman site (the individual course pages list the historic times for classes and you can extract a pattern from there) and the course descriptions and relationships (pre-req/co-reqs) from the departmental sites (minimizing the need to go in and manually enter any of this information) and allow the user to use their known requirements for classes to try to come up with a schedule. I would like to have the actual degree requirements coded in but that may ultimately require hand-coding instead of grabbing it from the degree requirement pages, and then I'd only be inclined to do that for the degrees that directly affect me. If this was coded in, then it would be possible to easily see closely related minors/majors, highlighting opportunities that might not otherwise be noticed. Naturally, course loads, time in classroom, and scheduling issues would all be immediately apparent and instantly updated as a user laid out what they would like to do and when, as well as conflicts and trains of requirements (pre-req to pre-req to pre-req), especially the fall/spring specific courses and time conflicts (it seems like everyone wants to have their class at 1400 to 1530 and it's a pain in the ass to schedule around!). Maybe I'll get around to writing this thing before summer ends, or at least have a solid start on it.

Sometime last semester I decided it would be a good idea to plan out the next four years to ensure I don't have any crazy conflicts of classes in the future, and to sanity check my plans. Turns out I can't really fit in a computer science double major, but I can get enough biology to call it a BSC Minor, a CS minor, and probably a Computational Neuroscience minor (although I need to double check for double/triple counting caps). Still missing a humanity or two, and the last two semesters only have four classes so there's room. Also this is without overloading except for a credit here or there.

To make sense of this, the semesters are labeled what fall/spring year they are, and the classes are broken up by MWF or TR types. No wacky labs or anything so the method worked for me. A couple of the MWF don't really have F hours but it doesn't matter much. Also, recitations are not taken into account, so hopefully there aren't any conflicts there. They change too much to really plan ahead for. Lastly, the hour headings should be self explanatory.

crazy diagram, eh?

This diagram was the beginning of the plan. There were twice as many classes in the white middle-section between now and grad school, but I managed to wean it down to reality. This is hardly finalized, as I may change my mind as I get more ECE Core's in, and this also has not been adjusted to reflect the schedule timings I figured out would work from the chart above.

scary, no?

For Reference:

  • 21120 - Calc I
  • 21122 - Calc II
  • 88012 - AP Govt Credit
  • 36011 - AP Stat Credit
  • 85011 - AP Psych Credit
  • 15110 - Intro to Programming
  • 15121 - Intro to Data Structures
  • 03110 - General Biology
  • 09101 - Intro to Experimental Chemistry
  • 09105 - Intro to Experimental Chem Lab
  • 18100 - Intro to Electrical and Computer Engineering
  • 76101 - Interpretation and Argument
  • 99102 - Computing @ Carnegie Mellon
  • 33106 - Physics I for Engineers
  • 21127 - Concepts of Mathematics
  • 42101 - Intro to Biomedical Engineering
  • 80100 - Intro to Philosophy
  • 80102 - Honors Philosophy
  • 21241 - Matrix Algebra
  • 15123 - Effective Programming in C and UNIX
  • 03121 - Modern Biology
  • 69195 - Emergency Medical Technician
  • 09217 - Organic Chemistry
  • 03362 - Cellular Neuroscience
  • 15211 - Fundamental Data Structures
  • 18200 - ECE Sophomore Seminar
  • 18243 - Introduction to Computer Systems
  • 36217 - Probability Theory and Random Process
  • 33107 - Physics II for Engineers
  • 03363 - System Neuroscience
  • 18202 - Mathematical Methods for ECE
  • 18240 - Digital Systems
  • 18290 - Signals
  • 33107 - Physics II for Engineers
  • 03231 - Biochemistry
  • 15251 - Great Theoretical Ideas
  • 18220 - Analog Circuits
  • 85102 - Intro to Psychology (need to change this)
  • 85221 - Principles of Child Development
  • 03240 - Cell Biology
  • 18340 - Digital Computation
  • 18447 - Introduction to Computer Architecture
  • 80180 - Nature of Language
  • 85211 - Cognitive Psychology
  • 03330 - Genetics
  • 15212 - Principles of Programming
  • 18545 - Advanced Digital Design Project
  • 85219 - Biological Foundations of Behavior
  • 15386 - Neural Computation
  • 15451 - Algorithms
  • 18487 - Introduction to Computer and Network Security, and Applied Cryptography
  • 18540 - Rapid Prototyping of Computer System

52 classes...