This is my second semester studying computer engineering at UCF, and I currently have an Asus X555LA with intel core i3 and 4 GB RAM. So far I haven't needed a laptop with more advanced capabilities, but that my not hold as I go further in my major. I'd be grateful if any upperclassmen in engineering would refer me to a good laptop that meets all the requirements for higher-level programming classes! Thank you.
I would suggest not to buy a new computer until know what you need. There are several programming environments and they all require different resources. For example, to take an intro C++ class you're going to be good with a good ol' 16-bit computer. However, if you need to lunch MS Visual Studio, 4-8GB would be required. Then, throw everything away and get a Mac if you want to do a project in iOS.
Now, a good one-size-fits-all could be what David suggested: an i7 with 8 or 16GB of RAM where you can install Windows & Linux. If you think you're going to do Mac development, then get a Mac where you can virtualize Windows and Linux (Mac is already based on Linux anyway).
Also, make sure it has an SSD drive of at least 256GB. That will make everything much faster as the bottleneck is usually in IO.
Good luck with your classes!
i7 with 16GB RAM would work