Where to Start

I was advised by one of the alumni to get familiar with C and JS before my program starts (BSD), but I don't know what the perfect place to start is. (I pretty have much no prior coding experience) I tried to find an answer to this online and majority of the people advised that python is the best language to learn for someone who has never coded before. I watched a couple of hours of a 12 hour long python course for beginners on YouTube before I started having second thoughts regarding whether it was the right choice. Meanwhile, I was told that it would be hard for me to understand "C" if I started of with Python. So, I ditched learning python and started learning C from a course that someone suggested but it was highly mathematics oriented. I had a hard time understanding it because mathematics is not really my forte. I'm not sure if I should work on my math knowledge or I should find a different C course. I just wanna be prepared for college so it's easy for me later on. What should I do now?
60 Replies
CaramelCorn
CaramelCorn•11mo ago
Harvard's EDX CS50 is the best intro course for C that I've seen
Rust
Rust•11mo ago
I kinda "speedrunned" high school maths so I think I'll have a hard time understanding the lectures and solving the assigned problem sets.
Eakam
Eakam•11mo ago
The first few weeks don't have much maths from what I remember And if it does have some maths, I think it would be a good idea to get familiar with it again It does help, even if a little
Rust
Rust•11mo ago
how do I do that tho??
CaramelCorn
CaramelCorn•11mo ago
khan academy is good ngl it was better than most of my math teachers in hs and profs in uni
Rust
Rust•11mo ago
I'm not familiar with the education system in the US. I think they've named certain courses such as calculus-1, alegebra-1 etc for high school students. So, what courses would I have to complete to say that I have the mathematical maturity of a high school student?
Eakam
Eakam•11mo ago
That ^, and there are resources online As with anything though, you have to actually practice solving stuff using a tablet/paper
CaramelCorn
CaramelCorn•11mo ago
I mean for sure you need pre-calc and calc, and algebra, idk which US courses tho specifically
Eakam
Eakam•11mo ago
IMO it is probably better to get started with CS50 and when you get stuck on the maths, learn that thing
Rust
Rust•11mo ago
it really gets frustrating that way, and I keep feeling stuck because of my math knowledge. That's the reason why I wanna finish the math courses first what do I need to right on khan academy to find a course that covers all these topics?
Eakam
Eakam•11mo ago
Yea, it is not easy but from my experience, that feeling of being stuck is most of programming lol Khan academy had courses divided by classes/grades a while back if that helps
Rust
Rust•11mo ago
but experiencing that feeling before actually learning to code is even more exasperating my question is which classes exactly do I need to attend tho😩
Eakam
Eakam•11mo ago
Very generic classification, you don't really need all of it for starting to learn programming but, this is a classification on there:
No description
Rust
Rust•11mo ago
most of the people I ask this question to say, "You just need to know calculus, algebra etc" what exactly tho?? what would you suggest for me to watch??
CaramelCorn
CaramelCorn•11mo ago
you can ignore geometry and trigonometry, stats don't really come into it
Eakam
Eakam•11mo ago
Probably what calculus is, and why do we need it. I haven't used it in programming yet but if you want to learn it you can It varries a lot depending on what you are doing ngl
CaramelCorn
CaramelCorn•11mo ago
it's mainly algebra
Eakam
Eakam•11mo ago
For me, most usage has been adding stuff, equations, division and stuff Computers do the operations, you need to know how to form the equation
Rust
Rust•11mo ago
does it require the knowledge of graphs and stuff? I'm really bad at graphs
CaramelCorn
CaramelCorn•11mo ago
yeah calculus and other stuff does become more useful the more advanced you get in computer science, but you won't get into that in this program not really no that's more calc, trig, geometry that have to do with graphs and functions
Rust
Rust•11mo ago
yeah, I get it. I won't be needing most of this either but because of this I struggle while attending courses I like cs50 which courses would yall suggest me to watch out of these?? (to get through courses like cs50)
Eakam
Eakam•11mo ago
Algebra I guess, I only did upto week 3 of cs50 though
CaramelCorn
CaramelCorn•11mo ago
most of what I used when doing courses like cs50 was algebra and some functions
Rust
Rust•11mo ago
seriously, that's it??? it's kinda hard to believe that I won't be needing calculus or trigonometry
Eakam
Eakam•11mo ago
Not sure why you would need it for BSD, I never used anything past basic maths in CPA
CaramelCorn
CaramelCorn•11mo ago
they really don't factor into programming much at a basic level, unless there are specific trig / calc problems that you're solving via code yeah BSD has a bit more math, but not much
Rust
Rust•11mo ago
I was watching an online introduction to C programming course recently and it had examples of arithmetic/geometric progressions and factorials (which I'm not really good at) in the first lecture itself
Eakam
Eakam•11mo ago
Oh, which one?
CaramelCorn
CaramelCorn•11mo ago
oh hahaha yeah, they do that because most people learning programming are math majors, I had a similar introduction those aren't core to programming, they're just good sample problems to solve via code that the students would already be familiar with solving on paper
Rust
Rust•11mo ago
idk lol, I've read this at a lot of places that the difference between an average programmer and a good programmer is their mathematical skills which indirectly contribute to their analytical thinking nptel, introduction to c programming
CaramelCorn
CaramelCorn•11mo ago
that can be the case, computer science is a mathematics degree at its heart, but that only really matters in high performance programming gigs like Google and game engine design more programs are being developed like BSD and CPA that ignore the math in favour of prioritizing actual familiarity with programming math does improve problem solving skills to a degree but it's not the end of the world if you're bad at math yk
Rust
Rust•11mo ago
but the thing is I wanted to be prepared for college in the meantime, and most of the online courses required high school maths I guess, I'll just watch Algebra-1 and 2 for now Meanwhile. should I start C or python??
CaramelCorn
CaramelCorn•11mo ago
C
Eakam
Eakam•11mo ago
Easier to learn python if you learn C, not the other way around
CaramelCorn
CaramelCorn•11mo ago
C is what you'll actually be using, and is a better introduction to programming all around for hobbyists python is a nice starting point, but for understanding programming C is better
Rust
Rust•11mo ago
what would you say is the best online course if I wanna learn C? (Cs50 is kinda vague and I don't think I'll need to watch all the lectures to learn C)
Eakam
Eakam•11mo ago
get used to reading cppreference and a lot of other documentation becomes easier CS50 is rather good. There are tutorials on youtube as well. I remember a good one I saw a while ago though I only saw the first 1/3
Eakam
Eakam•11mo ago
Eakam
Eakam•11mo ago
It is not C though
Rust
Rust•11mo ago
is it better to master a particular language first or should I just watch cs50?
Eakam
Eakam•11mo ago
I misremembered
Rust
Rust•11mo ago
lol
Eakam
Eakam•11mo ago
Imo, CS50 I don't think mastering a language is a thing
Rust
Rust•11mo ago
ik lol but you get what I mean I'm afraid I'll rage quit because I don't have any prior coding experience
Eakam
Eakam•11mo ago
You can go either way, though if you learn multiple languages, you start seeing the similarities and it becomes easier to learn more languages Within the same classification, most languages are very similar, just the syntax changes I had zero coding experience and it was a struggle. But it is doable if you keep going
CaramelCorn
CaramelCorn•11mo ago
better than waiting for ipc144 to ragequit from lack of experience
Rust
Rust•11mo ago
are these kinda courses any good? will it be the same stuff I'll be learning in college?
No description
Eakam
Eakam•11mo ago
It can work, if you code alongside them Otherwise, ehh YMMV
CaramelCorn
CaramelCorn•11mo ago
yeah when learning thru video tutorials it's important to try to code by yourself as well, and not just follow along with them, or even worse just watch them if you just watch or just code along it won't be very productive for learning
Rust
Rust•11mo ago
I'll try to code by myself while watching these kinda videos. I think I wanna learn C (whatever is gonna be taught in college about it), which video would be good for me? I'll watch cs50 lectures after I somewhat learn C make a couple of projects on it and become familiar with coding what am I supposed to do?
Eakam
Eakam•11mo ago
I feel like cs50 will become boring once you learn c a lot
CaramelCorn
CaramelCorn•11mo ago
take the code that you made at the end of each section and play around with it, change it, make it do something else so you really understand what's going on that's what I'd recommend anyway once you learn a few basic things there's a lot you can do
Rust
Rust•11mo ago
ohhh I feel like I would rage quit and start contemplating whether coding is the right thing for me😩 (if I start off with cs50) I just need a place to start (other than cs50) where I can just get somewhat familiar with C and become confident enough to begin cs50
CaramelCorn
CaramelCorn•11mo ago
yeah just have fun with coding for now if that's your concern learn basic input/output and some functions and dick around with those
Rust
Rust•11mo ago
how can I learn whatever's taught in BTP100 - Programming Fundamentals Using C online??
Eakam
Eakam•11mo ago
If you need ideas of where to start (super basic) - Get an IDE setup for C - Write a basic hello world program - Try changing the output, like how do you get an input and display that in output - Then try getting multiple inputs. You could then learn how to store them in arrays, and then how to use that to output those - Then try getting some input values, perform some calculation (addition of two numbers for example), and then output the result - You could then separate the addition logic into a separate functions That will teach you the basics of loops, variables, input output, arrays, and functions Obviously this is not something you should expect to master in one day And once you are used to that, you can start cs50 imo. At least the first week is that stuff
Rust
Rust•11mo ago
is the knowledge of that gonna enough to make me feel confident enough to start cs50? how long would it take for me to complete cs50?(would 5 months be enough??)
Eakam
Eakam•11mo ago
Is that enough knowledge to start? I think so yea Is that enough to make you feel confident? That depends on you 5 months seems enough but even if you don't finish it, it still is extremely good
Rust
Rust•11mo ago
okay thanks a lot for helping me out, I had been stuck on this issue for quite a while now. But I guess, I've finally found an answer. I hope I can start learning to code now
Eakam
Eakam•11mo ago
Good luck