solving ordinary differential equations tion motivates the need for other solution methodsand we derive the euler-cromer scheme the ndand th-order runge-kutta schemesas well as finite difference scheme (the latter to handle the second-order differential equation directly without reformulating it as first-order systemthe presentation starts with undamped free oscillations and then treats general oscillatory systems with possibly nonlinear dampingnonlinear spring forcesand arbitrary external excitation besides developing programs from scratchwe also demonstrate how to access ready-made implementations of more advanced differential equation solvers in python as we progress with more advanced methodswe develop more sophisticated and reusable programsand in particularwe incorporate good testing strategies so that we bring solid evidence to correct computations consequentlythe beginning with population growth and disease modeling examples has very gentle learning curvewhile that curve gets significantly steeper towards the end of the treatment of differential equations for oscillatory systems population growth our first taste of differential equations regards modeling the growth of some populationsuch as cell culturean animal populationor human population the ideas even extend trivially to growth of money in bank let tbe the number of individuals in the population at time how can we predict the evolution of tin timebelow we shall derive differential equation whose solution is tthe equation reads td rn /( where is number note that although is an integer in real lifewe model as real-valued function we are forced to do this because the solution of differential equations are (normally continuousreal-valued functions an integer-valued tin the model would lead to lot of mathematical difficulties with bit of guessingyou may realize that td rt where is any number to make this solution uniquewe need to fix done by prescribing the value of at some timeusually say is given as then td rt in generala differential equation model consists of differential equationsuch as ( and an initial conditionsuch as with known initial conditionthe differential equation can be solved for the unknown function and the solution is unique it isof coursevery seldom that we can find the solution of differential equation as easy as in this example normallyone has to apply certain mathematical methodsbut these can only handle some of the simplest differential equations howeverwe can easily deal with almost any differential equation by applying numerical methods and bit of programming this is exactly the topic of the present the term scheme is used as synonym for method or computational recipeespecially in the context of numerical methods for differential equations