MarneMath
Education Advisor
- 550
- 198
I disagree with your second point. You can learn a language without a good understanding of algorithm design. It's difference between good efficient code and naive code. Compare the performance between
and
The difference between both run time is rather amazing. Knowing solid algorithm design, and complexity, is generally the difference between code that "works" and code that "works well".
As for point 2. I think that mainly helps if you already have a job in a related field. If someone came to be with Coursera Big Data certificate but no prior experience and worked in a non-stem field/degree in a non-stem field, I would be hesitant to move forward with anything. However, if an engineer came to me with that and showed solid understanding, I may consider an entry level position for them.
Code:
def russian_math(a,b):
x = a; y = b; z = 0
while x>0:
if x%2 == 1: z = z + y
y = y << 1
x = x >> 1
return z
Code:
def stupidway(a, b):
x = a
y = b
z = 0
while x > 0:
z = z + y
x = x - 1
return z
The difference between both run time is rather amazing. Knowing solid algorithm design, and complexity, is generally the difference between code that "works" and code that "works well".
As for point 2. I think that mainly helps if you already have a job in a related field. If someone came to be with Coursera Big Data certificate but no prior experience and worked in a non-stem field/degree in a non-stem field, I would be hesitant to move forward with anything. However, if an engineer came to me with that and showed solid understanding, I may consider an entry level position for them.
