This is for incoming freshmen. Transfers, see the Transfer Students Guide.
The key thing is: don’t panic. Yes, there are people coming in with internships already, or five years of Java, or several capture-the-flags under their belt. There are also many more people who have absolutely no experience, who think Python is a snake and Java is a kind of coffee, and ultimately, all of you can and will succeed.
Never taken CS before, or have some experience but want good fundamentals: CS 1110 - Introduction to Computing Using Python.
Have solid experience, in AP Java or the equivalent (you got a 5 or passed the placement exam): CS 2110 - Object-Oriented Programming and Data Structures.
Have extensive experience and want a challenge: CS 2112 - Object-Oriented Programming and Data Structures - Honors.
If you’re not sure whether you’re ready for a class, you can sit in on the class, or you can enroll and later switch if it doesn’t seem to be working out after a few weeks. This is especially true of CS 2112.
Other than these classes, you’ll likely be taking college electives and prerequisites. For Engineering, this is stuff like calculus, physics, chemistry, ENGRDs, and ENGRIs. For both colleges, this also includes liberal studies and writing seminars.
You don’t have to worry about falling behind. Starting with 1110 is the expected, normal route, and there’s nothing wrong with it. Don’t jump into 2110 or 2112 because you feel like you have to keep up.
There are a few people who started in CS 3110 - Data Structures and Functional Programming or CS 3410 - Computer System Organization and Programming. If this applies to you, you probably already know it, and you’ll need to talk to the department.
There are a few people who took CS 2800 - Discrete Structures. This is really a math & proofs class, and doesn’t really need 1110/2110 beforehand. However, your first semester is likely full enough already, so don’t feel like you have to rush towards it. It is usually taken alongside CS 2110 - Object-Oriented Programming and Data Structures or CS 3110 - Data Structures and Functional Programming.
Internships & Research
In general, it’s going to be hard to get into these as a freshman. See Opportunities—there are positions specifically for freshmen.