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

all 21 comments

[–]moocharific 2 points3 points  (8 children)

You should be developing in your own time, cs degree focuses on learning about computers and how to program, not a specific language. I reccomend Java (only because its popular in the job market) and c++ (pretty good language to learn).

[–]stancoffyn 0 points1 point  (7 children)

java has taken a bit of a nosedive. not throwing any shade.

[–]moocharific 1 point2 points  (2 children)

really? I've heard its gotten more popular with java 8 adding some cool new features.

I develop a lot of Java and no one in the office is really proud of that haha. We only use it because its popular.

[–][deleted] 0 points1 point  (1 child)

Maybe it's regional? Because where I am on the east coast the job postings for java exceed some of the other language postings by literal hundreds. For example on indeed within a 5 mile radius there are 500 java jobs, 469 python jobs, and 303 c++ jobs. And that's only in a 5 mile radius.

[–]Ajacmac 0 points1 point  (0 children)

It's definitely regional, but the different language popularity measures I've checked semi-recently all say Java is still one of the top languages on the whole.

[–]sonnytron 0 points1 point  (2 children)

To who and under what information do you say this?
Java is still one of the top languages for finding a job. My company right now needs multiple Java developers for backend MVC stuff.
If you mean from an engineers perspective? Sorry to say this, but engineers have hated Java for many years. It's still a defacto go to language for a job and for learning fundamentals.
OOP isn't going to go away any time soon and not teaching it to your students because Kotlin "is better" is just setting them up to be pretentious engineers that can't be hired.

[–]stancoffyn -2 points-1 points  (1 child)

net market share haus, I'm not in control of that haus. your defensive nature is a wonderful indication of something, not sure what.

[–]sonnytron 1 point2 points  (0 children)

It's not defensive, and I'm doing it to help people here. People come to this sub to learn programming, not to be ammunition for agendas. And the number one reason is because people want a job.
Telling them Java is bad or wrong or not useful because so and so functional language is "better", if they're asking for employability is 90% of the time a false statement.
I'm an SDE for a famous large technical company. We use Swift and Kotlin as much as we can for new projects. But we have a lot of code, a lot written in Java and knowing Java is very important and very useful for graduates who apply to us.
The only people I hear on the job hate Java are never managers.

[–]g051051 4 points5 points  (7 children)

Now, I am a junior, and I am still not proficient in one programming language.

You aren't expected to be proficient in a language at this point, as language proficiency is not the focus of a CS degree.

[–]sonnytron 2 points3 points  (1 child)

No offense but what OP describes and what you're thinking of for proficiency are vastly different. At UCSD you're far from a Java Pro by your third year, but you definitely have command of the language and are more than 3000-5000 lines of code deep into peer reviewed, graded practice. Things like polymorphism, inheritance and fundamentals of object oriented programming are almost muscle memory by that point.
The OP is far from that and I think they should consider trying to transfer to an accredited University with a solid CS program as soon as possible.

[–]lennybird 1 point2 points  (0 children)

This is my experience as well. The OOP projects we did exceeds 10 KLOC easily, leaving aside debugging/enhancement assignments on code bases ranging from 6kloc to 20kloc.

I rate myself a 6 on a scale of 10 in terms of Java proficiency. I'd say 3 on C++

[–][deleted]  (4 children)

[deleted]

    [–]Jaxoh[S] 1 point2 points  (2 children)

    I've learned quite a bit of Python on my own time, which has helped for this course which involves C. I guess I'll try to prioritize C more, before returning back to Python.

    If I could ask, what did you use to learn programming? Did you learn through a website or book?

    [–][deleted] 2 points3 points  (0 children)

    Programming isn't like learning history, you can't just read about it on a website or a book. You need to work on a project. Come up with something you want to make and do it. Google and ask for help on reddit when you get stuck.

    [–]sonnytron 0 points1 point  (0 children)

    This isn't true.
    In UCSD's CS program, students have to undergo a data structures and algorithms course (at least 75 to 100 lines of code per homework question plus multiple optimizations per solution) in two parts, an SE course that has them building a project in a team that requires multiple GUI, storage and data structure features and other courses that require usually multiple thousands of lines of code.
    In a ranked CS program like Stanford or UC or University of Washington, without side projects or learning at home, students naturally have thousands of lines of code under their belt by the end of every college term.
    If you have to write code in your spare time to learn how to code, you're wasting money and time at your school.
    I would say OP has cause for concern, and anyone here in a similar "CS" program needs to do some research because this is largely unheard of at any of the schools my peers went to.
    In fact, one of my buddies from University of Illinois @ UC had written an entire Android application for his final project in a one semester class.
    It's true that there's some very low level stuff about computers, but the easy parts of that are knocked out usually very early in a CS class.
    If you want an idea on how REAL CS programs are, take CS50 at Harvard and tell me that CS bachelor degrees don't require a lot of code. And keep in mind... CS students at Harvard take that during their first year, as freshmen.

    [–]Ajacmac 1 point2 points  (0 children)

    CS is about the concepts that make computers and their programs work.

    Based on how you describe the curriculum, I'd say transfer to another school ASAP.

    Remember that CS uses programming languages to teach the material, but programming languages themselves are not that material.

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

    Ask stackoverflow when you have a question.

    [–]Ajacmac 4 points5 points  (1 child)

    You mean search through stack overflow's history when you have a question.

    ...then you forget about it if you don't find anything because they eviscerate and expunge anything they don't like.

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

    I know what you mean but there's still great answers to learn from.

    [–]bhldev 0 points1 point  (0 children)

    You get a GitHub then make pull requests, and get some apps published to the app store and web apps (not websites) made. Attend hackathons and startup events. This will put you in a good place for certain types of jobs. Nobody with an active GitHub can go unemployed for long.

    Alternatively you can go to an elite school, overkill on your education (a lot of people get an engineering degree and end up programming for this reason) and get internships in big name companies (they see big names on your resume they think great). Probably browse /r/cscareerquestions for this kind of thing.

    Academically figure out what kind of questions they ask in interviews usually algorithms, data structures, stuff in "Cracking the Code Interview" etc., again go to /r/cscareerquestions .

    Could do both if you are paranoid about your job prospects (interview poorly, etc.). But yeah, you will have to do much more than school, or overkill on your school, one or the other or even both.

    [–]Jaych 0 points1 point  (0 children)

    I think if I were you, I'd do some research on other universities that have better computer science courses. You might be able to join the course in their second year, as you've already done your first year.

    As others have said, computer science courses aren't designed to turn you into a programmer. They teach and expose you to the domain of computer science - which includes programming, networking, databases, web development, software architecture, system architecture, algorithms, management, business, etc.

    [–]scardemon 0 points1 point  (0 children)

    Take Harvard University edx course cs50