Ok, programming and "heavy" gaming. I don't know if you realize that "heavy" gaming tends to require as good a graphics card as you can afford, but anyway. To me it sounds like you only need a light/mid-range computer (not laptop - they get too expensive for any significant amount of power). Any CPU would be fine for you and any mid-range graphics card (up to GTX 560 Ti) would be more than enough. Also since you seem to be only doing the basics of the course (not the advanced stuff my brother did) you can get away with an AMD GPU.
So I would recommend the following in a build:
CPU: AMD A6 or A8 for their built in APUs - that way you can put more money towards better parts and just buy a decent graphics card at a later time when you actually need better performance. If you want to buy a graphics card straight away, either get a Phenom II X4 or a Core i3-2100. i3 is much stronger, but Phenom is cheaper. Cost should be around $80-120.
RAM: 4GB of the cheapest RAM you can find (I'd say G.Skill or Corsair XMS3 - stay away from Kingston RAM). Should only cost $30-40.
Motherboard: Depends on the processor. Not the most important part, although the more money you put into it, the more reliable it will probably be. $60+.
HDD: Any 500GB or 1TB drive, just get the cheapest. $80+
DVD: Again, get the cheapest. $16-25.
Power supply: Aim for 550W minimum, preferably 650W to allow for future upgrades. Preferably from recognised brands like Antec or Corsair. $60+.
Case: Depends on how big you want it. Antec One, Antec 100 or HAF 912 are all good ones. $50+.
Graphics card (if you get one straight away): HD 6650 or better, GTX 550 Ti or better. $160+.
Approximate price: $595 (inc. graphics).
You can look for prebuilt PCs online, but you always pay around 20% more for it. Make that 50% more for it if it's a laptop. Building your own PC is cheaper, and fairly easy (even girls can do it, with a little help from YouTube). It's simply a matter of putting the parts together in the right order.
its not that i dont want to do it im just really lazy