For me there are basically 3 things to learn here :
- Python - there are many courses on LinkedIn, Coursera, EDX, Udemy, etc. to learn the basics of programming plus the Python Primer
- AutoCAD API
- Civil 3D API
For this two, best thing to do is look at the posts in this forum and see the code that has been posted. Like this one : Run DYnamo Script on entire folder of dwg's - #11 by Paolo_Emilio_Serra1
Personally, I’ve found that the trickiest thing is to navigate the API (particularly AutoCAD’s) to find the class/method /property that you’re looking for but there are many examples in other forums especially with C# that show you the logic needed. After, it is just a matter of syntax.
My recommendation is to first learn the basics of Python (could take a couple of weeks or months depending on your previous experience and the time you can dedicate to it) and then try to tackle a specific problem. You can get inspiration from this forum, for example solving this using the View class : Zoom to a specific location in model space - #2 by david_licona