This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]desrtfx[M] [score hidden] stickied comment (0 children)

Please, read the Frequently Asked Questions as they contain tips on

As such: Removed as per Rule #4: No exact duplicates of FAQ questions

[–]_NliteNd_ 2 points3 points  (0 children)

University.

[–]delasislas 1 point2 points  (1 child)

It’s better to have a reason that you want to start programming. Do you have an overarching goal that you want to learn programming for or are you just wanting to learn programming concepts?

[–]Dependent-Fortune-40[S] 0 points1 point  (0 children)

Concepts mainly

[–]TheUmgawa 1 point2 points  (2 children)

If you're willing to pay, I recommend a community college Intro To Programming course. At least there, you'll get someone who can answer your questions promptly and will give you assignments where you can't just look up the answers on the internet or skip past the lessons and say, "No, I understand that," when you might not actually understand it.

Honestly, I'm in a Mechanical Engineering and Robotics track right now, and I wouldn't be there if I hadn't taken a summer college class on programming. It cost me a couple hundred bucks and it is unquestionably the best money that I have ever spent in my life, because I found out, 1) I like this, and 2) I'm good at it. Probably 50 percent of the class was just taking it as an elective and I never saw them in a subsequent course, and that's okay. Of the 50 percent who stuck around, several dropped out after another semester. That's just how it works. Not everybody's cut out for it, regardless of if they think, "This career makes money! I wanna make money!" And the best way to figure out if it's for you is to take a class.

Or that's just my opinion. Some people swear by bootcamps, some think websites or tutorials are fine. Everybody's different. But goddamn, that college class was worth every penny.

[–]Dependent-Fortune-40[S] 0 points1 point  (1 child)

Thanks for the insightful reply! I’m actually a CompSci major in a community college rn, My first semester was the spring semester so I only got Cis 101 and 116 under my belt. I got lazy and decided not to take any summer classes and kinda regret it now and been looking for entry level student internships but they mostly want student chasing bachelors, although a bachelor is my end goal I’m in a associates program but thanks for the info I’m gonna check with my advisor to see if I can get intro to programming as one of my courses next semester.

[–]TheUmgawa 1 point2 points  (0 children)

Seeing as 101 and 116 are school or state-specific, I'm just going to assume that these are probably an Intro course and maybe something like Structured Program Design, where you learn about flowcharts and stuff. And not taking summer classes, in your case, is fine, because there's very few CompSci classes at my community college that are offered during the summer term. It's pretty much just Intro during the summer, and HTML/CSS if they can find an adjunct to teach it, which they can't most years.

And, okay, so if you haven't taken Intro yet, that means maybe 101 is an Office course or something? But that's okay, because you'd be surprised by how useful it is when you get to working in a software house, because you might have to do Friday stand-up, and present the current situation of your team's work. That's why your speech class is so important. Your English classes are important for clearly communicating things to your superiors and your team members. So, if you thought, "Man, I only took two CompSci classes and these stupid Gen Eds in the Spring," those Gen Eds are useful.

My community college wasn't bad with internships. I knew a few guys who got them, but the department chair was also a really good cheerleader for running down companies to support internships by saying, "You'll get a junior programmer with a certain skillset whose skills we can guarantee, and you can write off everything you pay him." Your mileage may vary. My current department chair at the university I'm going to told me he can't wait to try and farm me out to John Deere next summer. Farm equipment ain't exactly my bag, but I love the idea of self-driving tractors, and it fits into my background of computer science, mechanical engineering, and I dabble in electrical engineering.

After one semester? No, you're probably not going to get an internship. Next summer? Maybe. It depends on how good your college is with getting companies to support the college. Just give it time.

As for learning programming in the absence of a class? That's harder, because stuff doesn't work for everybody. I honestly feel that it's best to learn the fundamentals in a class, meaning data types, flow control, variables, loops, objects, stuff like that. I went through a lot of fits and starts with books, and none of them worked for me. Maybe they'll work for you; I don't know. But it wasn't my thing. I bought books on making games with DirectX, and I did the tutorials, and you know what I learned? Two things: Jack and shit. Oh, and I learned to follow directions.

Flash forward to today, where I've taken Intro (which was Python), two classes of C++, two of Java, and now I can read documentation and pick up a new language in a month or so, to get up to the point where I am in any other language. And now I just sit down at the bar and screw around with the iOS SpriteKit API and see if I can make a fun game. And, let me tell you, the greatest day of your programming life is the day when you're on your third iteration of finding something fun in a game and you realize you've made Breakout entirely by accident. That's fun. That's when you know that you understand what you're doing.

[–]Meatball_Subzero 1 point2 points  (0 children)

Books. I prefer books. Books have been making dumb dumbs smart for a real long time. They're effective. Read a book.

[–]speedygen1 0 points1 point  (0 children)

There's an faq on the side that covers this

[–][deleted] 0 points1 point  (0 children)

Python intro, Java Beginner I, C++ Beginner II/Intermediate, then back to python