1
$\begingroup$

I am a non-cs graduate and would love to be a machine learning engineer.

I have learned to code, and know the basics of Machine learning. Now I would like to know what "basics of CS" I should learn to be completely job ready.

I sometimes have difficulties reading CS documentations, and don't know how programs and computers work in the background. I am also naiver on topics like memory management, operating systems, networking, electronics stuff like microprocessor, compiler design etc. Are these all necessary for my transition to AI? If they are, would you please recommend me a short learning path or books or videos. I hope I wouldn't need to go deep in these areas.

Thanks!

$\endgroup$
3
$\begingroup$

The first two paragraphs of the Wikipedia article on Machine Learning will give you a good outline of the things you need to know. Algorithms and Data Structures are key from CS, but you also need quite a lot of things like Statistics, Mathematics, Pattern Recognition and such.

It is a pretty long road if you start out only knowing how to program. It is also a field with a lot of current activity and a lot will change before you get very far along that road. It is good to have a goal, but if you start late in a hot area you need to keep a flexible outlook so that you have options if that field cools off while you study. But those same things needed for ML are also good for other things as well.

So, the courses you mention probably aren't especially necessary but your statement that you have trouble with documentation is a bit worrying. Perhaps that will change with practice.

If you are a young person starting out, don't commit too deeply to any one path. Learn the basics so that you can choose later when you know more, both about yourself and about the state of research at that time.

| improve this answer | |
$\endgroup$
2
$\begingroup$

It's hard to know what you really know from just your assertion that you've "learned to code and know the basics of Machine learning as well." Do you mean that you can write a script/notebook in Python/R using libraries like sklearn or tensorflow? Can you do a full ML pipeline - preprocess data, train a model, then test and evaluate it's performance (oh, and then actually deployed it in an app/website)? Have you written any of your own classes/algorithms from scratch, even as an exercise? Do you know the basics of machine learning (including classics like SVMs and Decision Trees/Forests), or only more specifically deep learning (just neural networks)? Have you written code to tackle a problem without ML to see if it could be simpler and more effective? If the answer to any of these things is "not yet," those are certainly gaps in your basic coding and ML expertise that you'd probably need to convince an employer that you'd be an asset.

Most of the specific topics that you mentioned are 98% of the time not too relevant to the daily work of machine learning practitioners, but understanding the basics of memory management and (as Buffy mentioned) the space/time efficiency of Algorithms and Data Structures will be pretty important once your ML projects get bigger: ML often uses a LOT of processing and memory resources, especially if you're not careful. I'd say definitely take a proper Algorithms and Data Structures course if you have not before (there are several good ones on Coursera).

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.