3 answers
3 answers
Updated
Vikas’s Answer
1. For AI take Andrew NG courses on Machine Learning and also Deep Learning
https://www.coursera.org/learn/machine-learning
https://www.coursera.org/specializations/deep-learning
2. Dont fall into the trap of taking endless coding courses for CS. The best way to learn coding and a new skill is to find projects either through a lab or an internship or a side project and master the skill through the project. This will help reinforce coding skills way more than taking a video lecture series course. A lot of young CS students fall into the trap of studying computer science like other subjects by just reading books instead of doing and end up feeling overwhelmed. Its a huge mistake.
Updated
Dhairya’s Answer
Hi Engoron,
Great to see you are interested in AI and CS. Both are very broad spaces with many exciting opportunities. As a student, you should first talk to your advisor and try to learn what resources are available to you as a student at your school. If you have opportunities for research / internships, definitely go for those.
While you are in school you should figure out if you're interested doing AI/ML research or engineering. If are interested in doing research (whether it's at an industry lab like FAIR or Google Brain or academic research at a university), you'll likely need to get a phd. It is possible to do AI research without a PhD (I did but it involved a lot of luck and some unique circumstance. And even that I returned to get my PhD in my 30s) It's incredibly hard and virtually impossible to land a position at any of the top labs without a PhD and publication history at the top conferences.
Getting a PhD is a serious commitment and so you'll want to talk to your advisors and current grad students to figure out if its something that interests you. If you do decide to get a phd, try to do in your 20s if you can as its much easier when you are younger. You'll also need publications for most PhD applications or research positions today. You should talk to professors in your CS department and try to find out if you can help out with their active research and outline a strategy for getting publications. While it may seem excessive to think about publications as an undergrad, the sad reality is that phd program admissions (at least in the US) are incredibly competitive and its expected that you have publication experience. If you can start early - it'll be greatly to your benefit.
For engineer paths, you don't need a PhD (though a master is becoming increasing common as the pool of candidates tends to very competitive). You will however want to develop strong software engineering skills. Again this is gained through writing lots of code and ideally internship/work experience. https://www.freecodecamp.org/ is a great resource that teaches you modern coding practices for a wide variety of use cases. If you're feeling lost start with their Javascript course and then the React course for front-end development. This will give the basics to be able to build modern web apps that will allow you to be competitive for internships. You can also explore their backend course , machine learning and scientific computing courses. But there are better resources out there for ML coding. If you feel confident in your coding skills you can also be freelance coder on sites like Fiverr and Upwork and try to earn some extra money and experience on the side.
Finally, you do not need a Phd or college degree to create AI models and projects. There are so many resources today that make it very easy to get up running quickly. Kaggle is a great place to learn about ML and DL models and play with fun dataset challenges. They have a fantastic free ecosystem (Kaggle Notebooks) that makes it really easy to learn how build models and apply them various problems (NLP, vision, and many other domains) and get access to free GPUs. Google Colab is also another fantastic resource that makes it easy to play ML/DL code in an online sandbox with access to free GPUs. Often many tutorials will be accompanied with Google colabs. Checkout the awesome ML repo: https://github.com/amrzv/awesome-colab-notebooks
Finally for online resources many great options:
- https://www.fast.ai/ - Jeremy Howard has a great set of courses available for free and for beginners which is useful for both aspiring scientists and engineers. The courses are all taught with great attention code software engineering design and modern DL tricks. The course assumes just basic highschool math and python knowledge and will get you up and running with experiments quickly
- https://d2l.ai/ is a great textbook with modern coding examples in pytorch, tensorflow and mxnet. Unlike FastAI which is focused on applications, d2l focuses on the underlying theory. However it is accompanied by coding example which can be helping in learning about the theory. The accompanying Berekely course (available for free) can be found here: https://courses.d2l.ai/berkeley-stat-157/syllabus.html
- Most university courses struggle to keep up with the pace of research and innovation. As you start finding problem that are interesting to you, start monitoring academic ML and AI conferences like Neurips, ICLR, ACL etc. See what's being published there and try to find accompanying code for the papers to play with.
https://paperswithcode.com/ is a great resource for looking up code implementations of modern models.
Great to see you are interested in AI and CS. Both are very broad spaces with many exciting opportunities. As a student, you should first talk to your advisor and try to learn what resources are available to you as a student at your school. If you have opportunities for research / internships, definitely go for those.
While you are in school you should figure out if you're interested doing AI/ML research or engineering. If are interested in doing research (whether it's at an industry lab like FAIR or Google Brain or academic research at a university), you'll likely need to get a phd. It is possible to do AI research without a PhD (I did but it involved a lot of luck and some unique circumstance. And even that I returned to get my PhD in my 30s) It's incredibly hard and virtually impossible to land a position at any of the top labs without a PhD and publication history at the top conferences.
Getting a PhD is a serious commitment and so you'll want to talk to your advisors and current grad students to figure out if its something that interests you. If you do decide to get a phd, try to do in your 20s if you can as its much easier when you are younger. You'll also need publications for most PhD applications or research positions today. You should talk to professors in your CS department and try to find out if you can help out with their active research and outline a strategy for getting publications. While it may seem excessive to think about publications as an undergrad, the sad reality is that phd program admissions (at least in the US) are incredibly competitive and its expected that you have publication experience. If you can start early - it'll be greatly to your benefit.
For engineer paths, you don't need a PhD (though a master is becoming increasing common as the pool of candidates tends to very competitive). You will however want to develop strong software engineering skills. Again this is gained through writing lots of code and ideally internship/work experience. https://www.freecodecamp.org/ is a great resource that teaches you modern coding practices for a wide variety of use cases. If you're feeling lost start with their Javascript course and then the React course for front-end development. This will give the basics to be able to build modern web apps that will allow you to be competitive for internships. You can also explore their backend course , machine learning and scientific computing courses. But there are better resources out there for ML coding. If you feel confident in your coding skills you can also be freelance coder on sites like Fiverr and Upwork and try to earn some extra money and experience on the side.
Finally, you do not need a Phd or college degree to create AI models and projects. There are so many resources today that make it very easy to get up running quickly. Kaggle is a great place to learn about ML and DL models and play with fun dataset challenges. They have a fantastic free ecosystem (Kaggle Notebooks) that makes it really easy to learn how build models and apply them various problems (NLP, vision, and many other domains) and get access to free GPUs. Google Colab is also another fantastic resource that makes it easy to play ML/DL code in an online sandbox with access to free GPUs. Often many tutorials will be accompanied with Google colabs. Checkout the awesome ML repo: https://github.com/amrzv/awesome-colab-notebooks
Finally for online resources many great options:
- https://www.fast.ai/ - Jeremy Howard has a great set of courses available for free and for beginners which is useful for both aspiring scientists and engineers. The courses are all taught with great attention code software engineering design and modern DL tricks. The course assumes just basic highschool math and python knowledge and will get you up and running with experiments quickly
- https://d2l.ai/ is a great textbook with modern coding examples in pytorch, tensorflow and mxnet. Unlike FastAI which is focused on applications, d2l focuses on the underlying theory. However it is accompanied by coding example which can be helping in learning about the theory. The accompanying Berekely course (available for free) can be found here: https://courses.d2l.ai/berkeley-stat-157/syllabus.html
- Most university courses struggle to keep up with the pace of research and innovation. As you start finding problem that are interesting to you, start monitoring academic ML and AI conferences like Neurips, ICLR, ACL etc. See what's being published there and try to find accompanying code for the papers to play with.
https://paperswithcode.com/ is a great resource for looking up code implementations of modern models.
Thank you, this is really helpful.
Engoron
Updated
Zohra’s Answer
Hi Engoron,
1) Intern with a professor in the physics/ CS department on a project. Professors love mentoring and you'll learn a lot with the right mentor. What you don't get in money you get in knowledge, which will ultimately pay off when applying for jobs and discussing projects and Software used
2) Go to the career department in your school and try to sign up for Work-Study program, where you get paid to intern in a filed of your interest. This is financial need based, so find out if you qualify first.
3) Last but not least, utilize the career department to sign up for career fairs/ internships with employers who are looking for passionate college students to employ.
Good Luck!
1) Intern with a professor in the physics/ CS department on a project. Professors love mentoring and you'll learn a lot with the right mentor. What you don't get in money you get in knowledge, which will ultimately pay off when applying for jobs and discussing projects and Software used
2) Go to the career department in your school and try to sign up for Work-Study program, where you get paid to intern in a filed of your interest. This is financial need based, so find out if you qualify first.
3) Last but not least, utilize the career department to sign up for career fairs/ internships with employers who are looking for passionate college students to employ.
Good Luck!