Trending Now

Answers

Sounds very problematic; forgetting everything is not right; CS is always about making software; so language is a fundamental skill, let us say you need to complete a VB project and you forgot the details, you should be able to get back up to speed over few hours of refreshing VB skills; that's the litmus test, pass it and you are fine.

You are intending to embark on a career that's going to involve designing, writing and debugging programs for at least a third of your waking life--for decades--and you have no desire to write programs. Is that right?

You might want to re-think that career choice. It doesn't sound like it will make you very happy.

That may be pessimistic, but it's a possibility. There's a lot to learn--mostly after college, it's true--but I don't know how I could have put in all those hours if this wasn't something I'd do (and have done and still do) for fun. Write a horoscope generator or a text adventure or you own personal password safe, or a calculator that has what YOU want in it, or a mini web-scraper to grab and display the latest xkcd comic. Whatever. Your choice, but find some way to keep busy writing code and bumping into problems you don't know how to write, so you have to go learn something you didn't know before, and so on.

As for what language, that hardly matters. Writing code and getting it working is what gives you experience in using a computer to solve problems. You're learning C, though, so find out how to use more of C than the piddling bit they'll teach you in a class geared to the slowest boat. When you take another language, do the same thing.

You should generally know at least 2-3 different languages by the time you start looking for a job. WHICH languages, depends greatly on what industries you're interested in.

Java and Python are still very common so you should definitely know them. You should also be familiar with Shell.

R is a pretty specialized language for dealing with big data. C is only used for low level stuff - operating systems, drivers, firmware, etc.

Keep in mind that any job you take will require you to learn a great deal, not just about that company's operations, but also any tools or additional languages you will need to know. In many instances, the most important thing isn't what you already know, but how fast you can understand a problem, and show how you will go about solving it in a fast and efficient manner.

Most companies are happy to do interviews in Python, Java, or C, so any of those would be fine. If you already know what area of computing you are interested in, then you could focus on that. If it's web development, then knowing Javascript is a must. It's mostly useless otherwise. If you are interested in scientific computing, stats, or data, then R is important, but not so much if not. If you are looking for software engineering positions, Java and C are good. Python is mostly used for AI and neural networks.

If you don't know yet what interests you, then focus on C for now. Do independent projects as well as your classwork. It's not important to know lots of different languages right now. It's much more important to be fluent in one mainstream language that is relevant to things that interest you. You can always pick up another language later.

You should focus on English composition. Pay attention -- when you start looking for a job they aren't going to just look at your transcript. They are going to pay as much attention to how you express yourself.

Programming is about paying attention to detail. You said, "I have not learned any programming languages." And then you immediately contradict yourself by saying you have learned two.

Also, I'm uncertain if you used the wrong verb tense. You said, "Im [sic] learning C this semester."

Do you know what the [sic] means? Are you currently enrolled in a C class, or should you have said, "I will be learning C this coming semester"?

If you want to review Python, how much time do you think it would take for you to do so? Is there something that is stopping you from trying?

When you learn to drive, you have to drive a particular model of car, but no one asks which brand to drive. When you learn a programming language, you are learning about programming -- loops, if statements, etc. The exact syntax is much less important, although a closed-book test will give the impression that memorization is important. That's an artifact of school, but isn't important in the real world.

Once you get a job, you will be using that language full time. It doesn't take long to get used to it. And, you can refer to notes.

As a sophomore, you should NOT be saying that you are trying to get into a big company. Focus on getting good grades. And, when you are ready to start applying for work, you will apply for anything you can find.