How Do You Gain a Pro-Level Understanding of a Language? | Coursera Community
Coursera Header

How Do You Gain a Pro-Level Understanding of a Language?

  • 17 October 2019
  • 9 replies
  • 853 views

Userlevel 1
Badge +1

Hi everyone!  I’m new to the programming / computer science community, and I’ve been attempting to learn several new programming languages using online resources.  I’m teaching myself, so I’m not exactly following a strict curriculum or anything, which makes it a little difficult to find the resources I’m looking for.  I’ve been able to find several sites that claim to teach you a programming language, only to find that it only gives you a base-level understanding of that language.  I only recently found Coursera, and I’m currently testing it out to see how in-depth it teaches programming.  However, I was rather curious; for those of you who have managed to gain a more advanced understanding of certain languages, how did you accomplish that?  And are there any resources or courses that helped?


9 replies

Badge

Hey Kara. I would suggest practice and practice and practice. 

 

Stanford had a free Java course a few years ago. It will walk you through installing and using their program and then walk you through the basics and even more. 

 

It’s structured and has labs. Do the labs. Do them again until you fully understand and then move on. 

 

They used Eclipse in the one I worked on and it was probably the best one I have done yet. 

 

Look up Stanford and CS106A in case this forum has a website filter on it. 

Userlevel 1
Badge +1

Hello Kara!

As Daemon says, this is a matter of practice, facing problems and solve them. Online resources out there give you a foundation for start, then you naturally will start some project and face problems, you will the find solutions online for that specific problems, and learn something new from it. Then, reapeat.

Over the years this process will give you experience and generalizable knowledge that will extent toother languages and projects, this is the cycle.

Dont worry about courses dont  doing dive deep about an specific language or technology, the real experience is wating for you out there.

Good Luck!

Userlevel 3
Badge +5

Hi

Clara you are going to the thing that most people think of computer freeks and it helps when you have positive aptitude and lot of motivation to solve the programming issues.

I started doing programming projects from Udemi but after a couple i understand that it’s not going into a good direction. After a thinking of it i found a coursera and here it is.

Find yourself a course there are a great methodical teachers creating it in a inteactive maner that you are learning fast and evicient.

Start from fundametals you will going to need them, Tech Lead asks a question: “ask yourself what you are going to need to become a tech lead instead of a how fast i can get to the entry level”

cheers

Kacper

Badge

I may sound paradoxical, but I say that you should not strive to become a pro-level in any of programming languages (PL) memorizing its intricacies. While you spend your mental energy on one PL, it becomes outdated, like it happened to Cobol, Visual Basic, and Perl. It is more efficient to learn those features of PLs that are progressive (will be demanded in the long run). The source of such features is usually computer science. While learning theory is good, I am not sure everybody wants to do that. At least, there are courses that compare PLs and introduce interesting new PLs. Therefore, learn several PLs, picking those which seem progressive.

Badge

Hi, and welcome to the interesting world of programming;

You gain a pro-level understanding of a language by using it.  After years of programming, you become a pro. Some say ten years, but much before that point, you’ll be a decent programmer. 

To some extent, the actual language doesn’t matter, as most programming languages are procedural, and have the same problems, although some languages are more ‘programmer-friendly’ than others.  Some specialized languages are an exception, eg. functional languages, or hardware control lang’s or such, but most modern languages are the same, with ‘only’ syntax differences.

So, the earlier you start, and the more you program, the better you’ll know the language(s).  Read a lot of code.  Keep an active interest in what other people are doing, and how they do it, but keep in mind that sometimes you will only appreciate somebody else’s expert trick when you’re almost there yourself.  Use the internet; use ‘stackoverflow.com’.  There is help out there, if you get stuck.

Userlevel 1
Badge

As others have noted, the only way to get really good at programming is to do it, a lot.  This isn’t something you’ll accomplish in a couple weeks.  Tackle difficult problems, and grind through them.  After solving a problem, in one language, solve it in another.  Then solve it in another.  
Solve the problem in OOP, then solve it with FP.  Does one work more efficiently/faster than the other?  Decompile your solutions and compare the assembly they generated.  How much of a difference is there in what the computer was ultimately executing?  Were there compiler tweaks and settings you could’ve used that would have improved the output binaries?  

I’ve used five different programming languages in production, and I still really only feel ‘competent’ in two of them.  I’m currently learning Java.  Every new language that gets squeezed into the ol’ mental toolbox increases my understanding and appreciation of the other languages.  Your experience will likely be the same, but only if you write lots and lots and lots of code for years.

Don’t give up.  :-)

Badge

Personally I think, that you have to understand the programming language. From CS perspective,  each programming language is in some of category, and in every category programmers think differently. This is the first aspect,  second aspect is you have to take course about programming languages, and they you will be learn new language very fast.

You will be understand how languages are made from under hood side.

Badge +1

Supposing that the language learners are at elementary level and based on my own experience it requires deep and day to day engagement in our daily life.

Badge +1

At work and through physical professional engagements with experts while having self studying and practicing plans at home. 

Reply