Suggested Lectures and Readings
Here are some useful websites for exploring physics and programming:
Physics Resources
- You can follow Feynman Lectures on Physics. They are available for free on Feynman Lectures Website. They provide a very good introduction to almost all topics of Physics.
- Leonard Susskind (Stanford): The Theoretical Minimum - Lectures every physics student needs to go through at least once. They are excellent for concept building.
- Ramamurti Shankar (Yale) - A basic introduction to physics. The course is split into Fundamentals of Physics I and II.
- David Tong (Cambridge) Lecture Notes - Some of the best-curated notes for undergraduate and postgraduate physics studies.
- MIT OpenCourseWare - Physics - Free physics courses from MIT. Look for Prof. Mehran Kardar's lectures on Statistical Mechanics.
- For specific topics, refer to NPTEL. Almost everything is taught in NPTEL now a days.
- IIT Delhi Optics Learning Centre - A portal for those interested in Optics and Photonics and related recent R&D in India.
- Physics World - News, research, and insights from the world of physics.
Books I Followed During My Graduation
Subject | Book Title and Author |
---|---|
Mathematical Physics |
Mathematical Methods for Physicists: Arfken & Weber Mathematical Physics: H.K. Dass |
Classical Mechanics |
Classical Mechanics: Herbert Goldstein Classical Mechanics: J.C. Upadhyay (because I found Goldstein book difficult) |
Electrodynamics | Introduction to Electrodynamics: David J. Griffiths |
Quantum Mechanics |
Introduction to Quantum Mechanics: David J. Griffiths Quantum Mechanics Concepts and Applications: Nouredine Zettili Principles of Quantum Mechanics: R. Shankar |
Statistical Mechanics |
Fundamentals of Statistical and Thermal Physics: Frederick
Reif Statistical Mechanics: Raj Kumar Pathria |
Condensed Matter Physics |
Introduction to Solid State Physics: Charles Kittel Solid State Physics: Ashcroft and Mermin |
Electronics |
Semiconductor Physics and Devices: Donald Neamen Electronic Devices and Circuit Theory: Louis Nashelsky and Robert Boylestad (selected readings) |
Optics |
Introduction to Optics: Pedrotti Introduction to Fourier Optics: Joseph W. Goodman Principles of Optics: Born & Wolf |
Programming & Machine Learning
Here are some useful resources for learning programming and machine learning. But first, learn one of C/C++ and then move towards Python (because everyone is using it now a days)
- Harvard CS50 - Introduction to Computer Science - The celebrated course by David Malan, a fantastic beginner-friendly course covering programming fundamentals. Here is the Youtube link for the lectures. You can follow it with CS50’s Introduction to Programming with Python course for continuity.
- MIT OpenCourseWare - Introduction to Computer Science and Programming in Python - A beginner-level course using Python, great for problem-solving and computational thinking.
- MIT 6.006 - Introduction to Algorithms - A rigorous course on algorithms and data structures taught at MIT. Here is the Youtube playlist of the course.
- Stanford University - CS229: Machine Learning - Andrew Ng's famous machine learning course, covering theoretical and practical aspects. Alternatively, check out this coursera Machine Learning specialized course if you find the previous one too theoretical.
- For Deep Learning : check out Andrew Ng's coursera Deep Learning specialized course. To learn about transformer models, go through the Stanford CS25: Transformers course.
- Understanding Deep Learning - A free book and associated lectures and codes to understand Deep Learning properly. (But it will take a lot of time to go through it).
- You can (and should) try out various projects on Kaggle for honing your skills. freeCodeCamp also provides extensive free tutorials on programming, data science, web development, and machine learning (they also have an freeCodeCamp Youtube) channel which you can check out.
- P Solver - Learn how to tackle simple physics problems using Python. DigitalSreeni - Here is another useful Youtube channel where you can learn biomedical image processing using Python.