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
  • 5 replies

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?

5 replies


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!

Badge +1


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”




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.


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 ‘’.  There is help out there, if you get stuck.