Prior CS Knowledge for College
Posted by ememanan@reddit | learnprogramming | View on Reddit | 13 comments
How much CS knowledge should I have before college?
I am a Senior High School graduate planning to take BSCS. I only have basic Python knowledge, and college starts in four months. The university I will be attending is very fast-paced, and my classmates will likely have advanced programming skills. I’m worried I'll be one of the few who struggle. I also currently only have one friend taking up the same course and he's years ahead of me in terms of coding. Is four months enough time to learn what I need before college, or am I cooked?
Fajan_@reddit
you’re not cooked at all tbh. most people start college with little to no coding, basic python already puts you ahead. the real difference comes from how consistent you are once it starts. if you have 4 months, just focus on basics and building small stuff, that matters way more than trying to “catch up” to others. you’ll be fine 👍
Important-Eye-6739@reddit
Math - set theory, statistics and probability, algebra (system of equations), matrices, linear algebra. The principles you will learn in these topics will be used in Discrete math.
Shape of the data will decide shape of the program. Understanding the shape and the relationship between data points will help. (Relationships as in -> one-to-one:lists, array. one-to-many: trees. many-to-many:graphs)
Two parts:
Relatively easy. Learning how to render data fetched from backend on to the client machines. Learning frameworks and libraries- React, SwiftUI, NextJS, UI component libraries.
Not so easy: Scripting, writing code to get data from users, extracting data from existing data set using algorithms (math heavy part) - storing it in database in a way that makes fetching efficient.
Employing best security practices, etc.
PalpitationOk839@reddit
You’re completely fine. Most people start college with little to no coding knowledge.
In 4 months, just focus on basics + small projects + logic building.
Consistency matters more than being “ahead.”
No_Report_4781@reddit
It would help to take some lessons to make the intro classes easier, but the college will make you buy the books that have all of the information you’ll need
lumberjack_dad@reddit
You won't need any prerequisite programming knowledge. But if it's been a while since you took math classes you might want review. If you want to finish your degree on time you should have the calculus series done by end of your freshman year.
Master-Ad-6265@reddit
you’re fine tbh most people start with little to no experience. basic python already puts you ahead of a lot of people in 4 months just focus on fundamentals (loops, functions, basic DSA) and you’ll be more than okay. you’re not cooked at all
amazing_rando@reddit
You aren't gonna teach yourself more in four months than you'll learn from your first week or two of classes. In my experience the kids who already had some knowledge had an easier time acclimating at first but still hit the same wall as everyone else once they started moving on to less familiar concepts. No matter what, you're going to be spending most of your time on projects that cover subjects you're still learning, so getting comfortable working that way is arguably a bigger skill than learning those things in advance.
captainAwesomePants@reddit
As you enter a college CS program, you will find a wide mix. Many of your colleagues will have absolutely zero experience. They quite possibly will never have used a computer in any way beyond a web browser. On the opposite end, some of your incoming colleagues will have been programming since middle school. Some of those kids will probably test out of their first course or two, and some of them will stay just to make the rest of you feel stupid. Every fall we get folks in here who say "oh my god, I'm three weeks into my new course and this one guy is just going so fast and gets everything and I'm stupid should I switch to a business major" because of those kids. Trust me, there will be more than a "few" who struggle.
Anyway, the short version is that knowing stuff isn't necessary, but it sure as heck helps. We all learn best when we already understand about 2/3 of what's being taught. If the intro course is in, say, Java, and you already know Java, you're going to get a lot more out of it, and you're also going to have a much easier time with the assignments.
If you want to learn something in advance, my #1 suggestion is to find out which programming language the first course uses and start playing with that.
JohnBrownsErection@reddit
Unless you want to jump right into an advanced class(if you college allows it) none is perfectly adequate.
To give an example of what I mean by that, Cornell apparently has an extremely difficult first year computer science course for overachievers to test themselves with, which I learned about from watching a video not too long ago experimenting with how different AI models handled the course work as given by one of the department's TAs.
And honestly? That course had me fucked up. I could've done it but it would not have been an easy time at all and that's despite having a fair amount of experience with programming. It was not an easy course load and I have mad respect for any student who survived it, let alone got an A.
So unless you're that kind of person who wants to jump ahead into the deep end, don't worry too much.
Joe59788@reddit
Any college makes you do a placement test. If you don't place out of a class you'll do the intro class first.
You can take harvards course for free now: https://www.reddit.com/r/learnprogramming/comments/1kxi0yl/free_harvard_cs50_courses/
Handle-Zestyclose@reddit
I did part of the Harvard class also, it is pretty good. I also got the "Python Crash Course" book by Eric Matthes and it's phenominal. I used so many lessons and resources that were pretty confusing before I finally settled with this book. It does an amazing job explaining things and doesn't seem to skip over anything. I learned a ton from this book.
EntrepreneurHuge5008@reddit
0, undergraduate degrees assume you have 0 prior knowledge.
For graduate degrees, it depends on whether they're geared towards people without a relevant background or geared towards people with a relevant background. The former assumes you'll take the foundational classes as part of the Master's (generally during the first semester), while the latter assumes several semesters of math and CS related classes.
ImplodingCoding@reddit
You'll be fine.