MATH 334: Differential Equations
James Cook's Differential Equations Homepage

  • Course Planner for Fall 2018 Math 334
  • You Tube Playlist for Fall 2018 Math 334

  • Recommended Assignments:
    These assignments are recommended, but, not collected. I also recommend you work through the practice homework problems listed a bit lower on this webpage.
    Lecture Notes:
    These are a work in progress, however, you can rely on what is already typed. It's fairly clear what is missing as you compare against the text. I'll clarify where to look in the text when something is missing, so, it's important to follow the Lectures day by day.

    Useful Materials and Links:

    Old Practice Homework List with Selected Solutions:
    I have provided solutions for problems like the standard examples. The practice homework is not collected but it is representative of the skill set I expect you should assimilate as the course unfolds.

    (the * problems indicate the problem is explicitly about a real-world application. However, all the problems in this course are real world since you are in the real world and you will be doing the problems. Besides that obvious comment, all the mathematics mentioned in this course is used in engineering, physics and much much more... if you want to see more of that add a physics minor or an engineering major. My focus is math.)

    The pdf lined below contains solutions to systems of ODE problems. These are from the 4-th edition of Nagel Saff and Snider.

    Section # My Lecture Notes Solutions Assignment Description / Hints / Mathematica helps
    Sec. 2.2 [13-23] PH-[1-3] 9, 11, 15, 21, 25, 35* separation of variables
    Sec. 2.3 [24-28] PH-[4-6] 7, 9, 11, 15, 21, 23* integrating factor method
    Sec. 2.4 [24-28] PH-[7-9] 11, 13, 17, 23, 29 exact equations
    Sec. 2.5 [29-37] PH-[10-13] 7, 9, 11, 13 special integrating factors
    Sec. 2.6 [29-37] PH-[14-16] 9, 15, 17, 41 transformation tricks
    Sec. 3.4 [41-45] PH-[17-21] 1*, 5*, 19*, 23*, 33*, 35* Newtonian Mechanics
    Sec. 4.2 [46-55] PH-[22-23] 1, 5, 13, 17, 27, 29 homogeneous constant coefficient ordinary differential equations with real roots
    Sec. 4.3 [46-55] PH-[24-26] 1, 5, 13, 21, 32*, 33*, 35* homogeneous constant coefficient ordinary differential equations with complex roots
    Sec. 6.2 [46-55] PH-[27-30] 1, 9, 13, 15, 17, 35* higher order homogeneous constant coefficient ODEs.
    Sec. 6.1 [56-65] PH-[31-33] 1, 5, 7, 9, 17, 23 theory of linear ODEs.
    Sec. 6.3 [75-88] PH-[34-37] 5, 11, 13, 15, 17, 21, 23, 25, 27 annihilators; a way to find the particular solution.
    Sec. 4.4 [75-88] PH-[38-39] 9, 11, 15, 17, 21, 23, 27, 31 undetermined coefficients ( section 6.3 justifies where the guess for the particular solution comes from).
    Sec. 4.5 [91-93] PH-[40-43] 1, 3, 17, 21, 25, 29, 43* superposition principle.
    Sec. 4.6 [89-90] PH-[44-48] 1, 5, 15 variation of parameters ( for things not covered by undetermined coefficients)
    Sec. 4.7 [94-101] PH-[49-50] 45, 47 variable coeffcients.
    Sec. 4.9 [102-108] PH-[51-52] 3, 5, 9*, 11* [use math software for #3 and 5] springs and vibrations.
    Sec. 4.10 [102-108] PH-[53-58] 9*, 11* forced vibrations.
    Sec. 5.1, 5.2, 5.4 [102-108] phase plane, see solutions and play with pplane. phase plane portraits and qualitative study of stability
    Sec. 5.7 [102-108] PH-[59-62] 3*, 5*, 7*, 9*, 11*, 13* RLC circuits and the analogy to springs with forced vibrations
    Sec. 9.3 [s75-s82] Chpt. 9 Hwks. see solutions matrix math
    Sec. 9.4 [s83-s88] Chpt. 9 Hwks. see solutions. matrix notation for systems of ODEs
    Sec. 9.5 [s89-s99] Chpt. 9 Hwks. see solutions. homogeneous systems of ODEs, real e-values
    Sec. 9.6 [s89-s99] Chpt. 9 Hwks. see solutions. homogeneous systems of ODEs, complex e-values
    Sec. 9.7 [s100-s103] Chpt. 9 Hwks. see solutions. nonhomogeneous systems of ODEs, real e-values
    Sec. 9.8 [s104-s123] Chpt. 9 Hwks. see solutions. matrix exponential, when e-vectors are not enough
    Sec. 12.1, 12.2, 12.3, 12.4 Energy Analysis:(pp19-pp27) phase plane hwks see solutions. phase plane portraits and quantative study of stability via energy analysis.
    Sec. 8.2 [155-160] PH-[85-89] 1, 5, 9, 11, 15, 25, 29, 31, 33 power series refresher
    Sec. 8.3 [161-165] PH-[90-97] 1, 9, 13, 17, 19, 21, 27 power series solutions to DEqns
    Sec. 8.4 [166-170] PH-[98-103] 7, 11, 13, 17, 21, 31* analytic coefficients
    Sec. 8.5 [94-101] PH-[104-105] 1, 5, 13 Cauchy-Euler Problem
    Sec. 8.6 [171-178] PH-[106-114] 1, 17, 21, 23, 25, 27, 33, 41 Frobenius method
    Sec. 8.7 [171-178] PH-[106-114] 5, 11, 15 (note to self, find Ginny solution) finding a second linearly independent solution
    Sec. 10.2 . PH-[118-126] 1, 5, 9, 13, 15, 21, 23, 29, 33 separation of variables for PDEs with nice boundary conditions
    Sec. 10.5 . PH-[135-144] 3, 7, 15 the heat equation
    Sec. 10.6 . PH-[145-149] 1, 13, 15 the wave equation
    Sec. 10.7 . PH-[150-161] 1, 3, 7, 9, 11 Laplace's equation
    Sec. 7.2 [109-114] PH-[63-64] 9, 13, 15, 17, 19, 21, 23 Laplace Transformations
    Sec. 7.3 [115-121] PH-[65-66] 5, 7, 11, 13, 15, 17, 19, 25 Properties of Laplace Transformations
    Sec. 7.4 [122-126] PH-[67-71] 1, 3, 21, 23, 27, 33, 35 Inverse Laplace Transformations
    Sec. 7.5 [127-133] PH-[72-76] 3, 9, 11, 35 How to solve differential equations via Laplace Transformations
    Sec. 7.6 [134-140] PH-[77-81] 5, 7, 9, 11, 17, 19, 33, 39, 59 discontinuous functions (this is most interesting feature of the Laplace method in my opinion)
    Sec. 7.8 [145-154] PH-[82-84] 1, 5, 29 Dirac Delta "functions"
    Sec. 10.3 . PH-[127-132] 1, 5, 7, 9, 11, 13, 19, 21, 29 Fourier series
    Sec. 10.4 . PH-[133-134] 5, 13, 17 Fourier cosine and sine series

    Old Course Notes:
    These notes were compiled from the previous dozen or so times I've taught this course (2006-2011). Note the current semester notes are typed and posted towards the top of this page. The notes below serve as a bank of alternative thoughts and examples.

    There are no formal notes on Chapter 10, but there are 40+ pages of Practice Homework solutions on Chapter 10. Beyond that, the text is in many ways better than my notes in this course so I recommend that you read it. These notes have certain redundancies and certain thoughts are not complete. Be assured I will complete the thoughts in lecture. Lecture only loosely follows these notes. It is important that you attend each lecture and pay attention.

    1. [1-12] Introduction to Differential Equations: I begin with a few unjustified calculations from physics. My goal is simply to convince you that DEqns are useful and of foundational importance to physics ( and hence to all applied sciences ). We will not justify some of those calculations until the end of the course when we study Partial Differential Equations (PDEs). Pages 9-12 include many important terms which we use throughout the course. Slope fields and Euler's Method are discussed (but not tested). Our focus is on finding closed form solutions.

    2. [13-23] Separation of variables and applications: The proof of separation of variables is U-substitution. We also discuss applications including exponential population growth, radioactive decay, position and velocity, orthogonal trajectories, mixing tank and the logistic model. To summarize: if you can describe a physical process in terms of how the change in the quantities of interest then the basic law which governs the process will be a differential equation.

    3. [24-28] The integrating factor method allows us to solve many problems for which separation of variables fails. In general dy/dx + py = q is called a linear ODE and if p,q are continuous functions then the integrating factor method will solve it. Next we discuss exact DEqns. In short, if the DEqns is dF = 0 for some function F(x,y) then the solutions are simply level curves of F. We discuss how to check if a given DEqn Mdx + Ndy = dF for some F. We also describe how to find F from the Pfaffian form Mdx + Ndy. (Writing a DEqn as a sum of functions times differentials is called a Pfaffian form of the DEqn). If you decide to do further study on differential equations you might look into Pfaff's theorem which loosely states that any first order ODE can be converted to an exact equation through the multiplication of an integrating factor. See Cantwell's excellent text "Introduction to Symmetry Analysis" for a much deeper look at what differential equations are and how symmetry is used to categorize the existence and structure of solutions to ordinary differential equations. Incdientally, Cantwell is actually an engineer who uses symmetry methods to tackel difficult nonlinear problems in fluid physics.

    4. [29-37] Sometimes a given DEqn fails to be exact, however if we multiply by a function "mu" then the resulting DEqn becomes exact. Since we know how to solve exact DEqns this is nice. The difficulty is that there is a great variety of possibilities for "mu" (again called the integrating factor, however this is no longer calculated the same way as in Section 2.3). Fortunately we are not faced with the question of how to find "mu" in general, we will always be given some hint to guide us. Then pages 35-37 discuss the idea of substitution. We see how a clever change of variables can sometimes recast an insolvable problem into a nice separable DEqn. Again, we are fortunate that we are not asked to find a general method of which substitution is "best". Many problems do allow for educated guessing on the basis of a manifest pattern, but that's about it. (see Cantwell's text for the thought process behind much of the guessing, this is beyond this course)

    5. [38-40] I give an example of how symmetry guides a choice of cannonical coordinates. I don't give a very careful definition of what a "symmetry of a differential equation" is or even what precisely how a "change of coordinates" is made. But, I do give an example where the DEqn looks very hard in Cartesian coordinates yet once we change of polar coordinates it becomes separable. This is due to the fact that the polar coordinates are cannonical coordinates with respect to the rotational symmetry the given DEqn possesses. This is not required material, however it is an invitation to further study. There is still much ongoing research on the topic of "geometry of differential equations". These notes are largely inspired from Peter Hydon's text "Symmetry Methods for Differential Equations: A Beginners Guide". If you reach a deep understanding of that text then things like the integrating factor method will not seem like a "trick", instead they will gain a nice geometric motivation. (again See Cantwell's text for another take on the calculations in Hydon)

    6. [41-45] Newtonian Physics flows from his 2nd Law F = dP/dt where P = mv for simple examples in rectilinear coordinates. We study a few token examples and find that we already know more than enough DEqns to squash any of these applications. The falling raindrop problem is one of my favorites ( there are many other variations on the model given in these notes)

    7. [46-55] Higher order linear constant coefficent homogeneous ordinary differential equations are easy. We learn that an n-th order DEqns has n-solutions y1,y2,...,yn and the general solution is simply a linear combination of those n-solutions; y = c1*y1 + c2*y2 + ... + cn*yn. The question then is simply: "How to find y1,y2,...,yn ?". Turns out it's just an algebra problem. We calculate the "Characteristic Equation" then its roots guide us to the formulas for y1,y2,...,yn. Our focus is largely on the n=2 case where the Characteristic Equation is a quadratic equation. We also introduce the "operator notation" for a differential equation so we can write higher order examples like y'''+3y''+3y'+y = 0 as (D+1)^3[y]=0 (nice compact notation that reveals the most important aspect of the differential equation, namely that the Characteristic Eqn is (r+1)^3 = 0). Finally, I should mention that when the Characteristic Eqn has a complex root it naturally suggests we have a complex solution. However, we want real-values solutions so this is not quite satifactory. The solution is simple, any complex solution we find always contains two real-solutions, they're just the real and imaginary parts of the complex solution. You need to review the complex exponential function in order to understand the details completely. I have relegated those calculations to an Appendix on Complex Math.

    8. [i-12i] Complex Math Appendix.

    9. [56-66] I begin by discussing linear independence of functions and how the Wronskian sometimes helps. In short, the Wronskian is a useful tool for determining the linear independence of n-functions which are solutions to a common DEqn of order n. Linear independence is an important concept which we by in large take for granted in this course since the methods we develope tend to guide us to solutions which are automatically independent. We also define important terms such as "Linear Operator" and "nonhomogeneous" or "homogeneous" DEqn. The Theorems stated on page 66 are the foundation of most of what we do in about 45% of the course. I doubt we will have time to cover the Wronskiann notes in their entirety, but I would like for you to read over them. The questions you want to answer are simply: what does it mean for a set of functions to be linearly independent and why do we care?

    10. [67-74] These notes go through a derivation of the solution to the n-th order homogeneous linear constant coefficient differential equation. To summarize, I show that the n-th order differential equation can be written as an operator equation and then the operator can be factored into n operators of the simple form. Then we learn that this breaks the problem into n-pieces. Better yet, the factorization of the operators matches the factorization of the characteristic polynomial. The operator idea is important and it will be used again in the annihilator method. Older more excellent differential equations would even devote a whole section to analyze the question of factoring operators, see Rabenstein's masterful text for an example.

    11. [75-88] Here we discuss how the Method of Undetermined Coefficients treats the nonhomogeneous constant coefficient ODE in many cases. I begin by outlining the method just for the n=2 case. However, we soon learn that to understand the choice of the particular solution we need knowledge of higher order (n > 2) DEqns in order to apply the annihilator method. The really neat thing is we can take the given nonhomogeneous problem and convert it to a corresponding homogeneous problem which we know how to solve in all possible cases already. This is nice because it takes the guesswork out of finding the particular solution Yp. Once we find the right form for Yp then it is just a matter of algebra to determine the undetermined coefficients A,B,C etc... Finally, on pages 85-86 I revisit the question of linear independence yet again and I try to explain why it is we need both Yh and Yp to form the general solution.

    12. [89-90] Variation of Parameters is a slight generalization of the Method of Undetermined Coefficents. Instead of looking for undetermined constants we look for undetermined functions. The method boils down to calculating Eqn (10) once you find the fundamental solution set. You should reserve Variation of Parameters as a method of last resort, if undetermined coefficients works it's much easier. Variation of Parameters is quite general, it even applies to DEqns with variable coefficients like xy''+cos(x)y'-y = exp(x). I can't ask many such problems at this point because we have no method to even calculate the fundamental solution set. There are precious few linear ODEs with easy to find fundamental solution sets ( see Problem 23 for how to create new DEqns which have formulas sort-of like the constant coefficient case).

    13. [91-93] The superposition principle states that the response of a linear system is the sum of the responses to each external force, or current, or voltage etc... Mathematically, it means we can break down a complicated sum of nonhomogeneous terms and treat each summand independently. This is very labor saving for certain examples.

    14. [94-101] The n=2 Cauchy Euler problem is solved and several examples are provided. Generally variable coefficient linear ODEs are not so easy to solve but the Cauchy Euler problem actually amounts to P(xD)[y]=0 so the same operator arguments we made for the constant coefficient case transfer over to the situation here. However, the eigenfunctions and generalized eigenfunctions of xD differ from that of D so the solutions look quite different. We also discuss Reduction of Order on pages 96-97. Reduction of order gives us a general method for calculating a second linearly independent function given we already have calculated the first solution. Reduction of order probably gives the most satisfying answer as to where the x comes from in the double root solution xexp(rx).

    15. [102-108] We apply the mathematics for solving n-th order constant coefficienct ODEs to two common real world applications: the RLC circuit and the spring-mass system with damping. We provide analysis of how a given system will respond to various different external forces or voltages. It turns out there is a certain frequency which makes for the largest long term current or motion for the system, this frequency is called the resonant frequency. In the special case of pure, un-damped, harmonic motion the result of coupling a system to a resonant source is catastrophic without doubt (see E95 for the math). Unfortunately pure harmonic motion is impossible for physical springs or circuits since friction and resistance are inevitable.

    16. Two Equations, Two Unknowns:(s72-s74) Systems of equations can be surprising at times, but it all comes back to the cases that arise in this simple case. The methods presented in this section are useful for many problems in this course and elsewhere.

    17. what is the matrix ?:(s75-s82) Far from being a surreal expidition into philosophical science fiction, the matrix is a notational convenience which allows us to solve many equations as if they were one single equation. The methods presented here are useful in many many many places.

    18. Theory for systems:(s83-s88) We see how systems of 1st order linear ODEs have a special position in the big-picture of things, any linear n-th order linear ODE can be viewed as a system of 1st order ODEs. On the flipside we can expect certain features from our experience with the n-th order case, indeed much of the theory is analogus.

    19. Simple Homogeneous Linear systems:(s89-s99) I say "Simple" because we examine only the cases where there are enough eigenvectors to comprise the solution. Interestingly, we can have a double root and still no factor of "t" appear since the presence of vectors in the solution introduces a new facet to the linear independence of our solutions.

    20. Nonhomogeneous Linear systems:(s100-s103) Again we discuss two methods to extract the particular solution for a nonhomogeneous linear system of ODEs. Undetermined coefficients is considerably more difficult in this context, however variation of parameters inherits an elegance from the matrix formalism which makes it more tractable in my limited experience.

    21. Matrix Exponential:(s104-s123) Here we learn how to solve the less than "Simple" cases. It is the case that exp(tA) is a fundamental matrix for the system of ODEs x'=Ax, but what does that mean? And how do we even calculate such a thing? We introduce the "generalized eigenvector" to aid us in this task, in the process we gain greater insight into why the eigenvector methods worked before. Eigenvectors are also useful in many applications besides the one under consideration in these notes, so experience in calculating eigenvectors is not a bad thing.

    22. Phase Plane:(pp1-pp18) We examine systems of two ODEs from a qualitative point of view. The Phase Plane is a tool which allows is to graphically tackle the form of solutions for such a system. Various types of asymptotic behaviour are discussed, we describe the possible motions for a stable or unstable equilbrium point. (this material is taken partially from chapter 5 and also the beginning of chapter 12)

    23. Energy Analysis:(pp19-pp27) As we know any second order ODE is equivalent to a system of two first order ODEs in normal form. If we choose one of the variables in our system to be velocity then we find a system of ODEs in x and v=x'. In classical mechanics one calls the x,v plane the phase plane. We analyze how energy is a constant of the motion for conservative systems. The potential function G gives us a neat tool to construct the phase plane plot, essentially we can use calculus one min/max theory to find the critical points. After mastering the conservative case we move on to the more subtle nonconservative case (think adding friction to the mix). It turns out we can use the conservative case for a system to construct the solutions in the nonconservative case. (this material is taken partially from chapter 5 but mostly from chapter 12)

    24. [155-160] Power series provide a prolific tool to analyze a great variety of functions. Most functions we encounter are analytic, at least locally, so Taylor's Theorem guarantees we can represent a function by a sort of unending polynomial. I review a few of the basic notions from Calculus II. We discuss the IOC and ROC as well as how to manipulate series by addition, multiplication etc... Also I remind you we know certain standard examples by memory ( or we should ). I do not seek to over-emphasize issues of convergence in this course. We need at least the basics to keep out of trouble, but our overal emphasis is more on calculation. We'll leave existence for the mathematicians in most problems we work. I should mention we are being slightly sloppy on certain points in this regard. There is always a question as to whether or not a given series actually converges, and if so where. The text is much more careful than my notes on this issue.

    25. [161-165] I demonstrate how to solve DEqns via power series. The idea is simple, the details are not. To summarize,(1.) suppose the solution is a power series with unknown coefficients (2.) substitute solution into the DEqn (3.) solve the resulting recurrence equations for the unknown coefficients. It's interesting that homogeneous and nonhomogenous cases are treated the same way ( however, the nonhomogeneous case will produce terms in the solution which do not depend on an arbitrary constant, those terms are the particular solution naturally)

    26. [166-170] Singular points are defined. We cannot hope to find series solutions around a singular point in general. However, certain singularities are called "regular" if they are not too bad. Not too bad in the sense that the Method of Frobenius will provide solutions near such points.

    27. [94-101] The n=2 Cauchy Euler problem is solved and several examples are provided. Generally variable coefficient linear ODEs are not so easy to solve but the Cauchy Euler problem actually amounts to P(xD)[y]=0 so the same operator arguments we made for the constant coefficient case transfer over to the situation here. However, the eigenfunctions and generalized eigenfunctions of xD differ from that of D so the solutions look quite different. We also discuss Reduction of Order on pages 96-97. Reduction of order gives us a general method for calculating a second linearly independent function given we already have calculated the first solution. Reduction of order probably gives the most satisfying answer as to where the x comes from in the double root solution xexp(rx).

    28. [171-178] The Method of Frobenius is nontrivial. It provides solutions for DEqns with regular singular points. These are not power series solutions in all cases. There are essentially three cases that can happen and it is all based on an intuitive generalization of the Cauchy-Euler problem. We do not treat the complex case in these notes. I combine sections 8.6 and 8.7 into a uniform discussion.

    29. I currently have no written notes for the partial differential equations chapter. However, there are about 40 pages of hwk solutions from Chapter 10 and it is likely we will work some of those out together as I explain the method in lecture. See the table for links.

    30. [109-114] Laplace Transform is motivated and defined, just kidding motivation is up to you.

    31. [115-121] Additional Theorems for Laplace Transform are given, we see how to deal with derivatives and more... I provide proofs for some of the Theorems, usually it's not that hard. Basically you just start with the definition and do calculus.

    32. [122-126] Inverse Laplace Transforms are discussed here. For successful calculation you need both a mastery of partial fractions algebra and an complete and working knowledge of the known Laplace Transforms.

    33. [127-133] We finally get to the point of the Chapter. We can solve differential equations via the Laplace technique ( see page 127 for a flow-chart of the logic ). E130 and E131 show that we can also treat problems where the "initial" conditions are not at zero, it's a good trick to know about. Finally E132 shows how Laplace Transforms can be used to solve variable coefficient problems in some cases, the math in the "frequency" or "s-domain" is unusual in that it is not just algebra, we actually have to do calculus to solve for Y(s) ( in contrast the constant-coeff. problems give us an algebra problem in the s-domain ). Honestly, I do not recommend Laplace transforms for solving variable coefficient problems in general, solution via series techniques is much more promising.

    34. [134-140] Laplace Transforms of discontinuous functions and periodic functions are discussed. The Gamma Function is defined and used to help quantify the transform of non-integer powers of t. Pages 134-136 are the most crucial parts of these notes since we are not covering periodic functions as part of the required material. You should pay particular attention to the formulation of piecewise-defined functions in terms of the unit-step (also called the Heaviside function). The unit-step functions allow us to write formulas which cover multiple cases with a single formula.

    35. [141-143] Convolution products allow us to break up inverse transforms of product. The cost is that to find explicit formulas we have to complete certain integrals which can be tiresome at times. This is not part of the required material, however if you ever find you are using Laplace Transforms in a course I would urge you to come back and read this material then. Convolution is an important tool for harder problems.

    36. [145-154] The Dirac Delta Function is used to model forces which act in an instant of time, like a hammer hitting a nail. The impact of the hammer is spread over a very small time increment. Often we are not interested in the precise mechanism of how the nail is impacted by the hammer, instead we only care about the overal outcome. Namely the momentum that the nail is driven into the wood. The Dirac Delta function allows us to model such phenomenon. The delta functions are used in electromagnetism to model the charge density of a point charge. The mathematics we want is something that is zero everywhere except one point where it somehow integrates to a finite value for any region containing that point. This is in complete violation of the usual rules and properties of functions and their integrals, however this is not surprising since the Dirac Delta Function is in truth a "Distribution". The theory of distributions is beyond this course, but rest assured that there is a solid mathematical framework in which the Dirac Delta function finds a home. The infinite dimensional analogue of the Delta Function which one encounters in Quantum Field Theory is not so well justified, but people (physicists) use it anyway. I digress... I conclude these notes with a few hearty examples of how Dirac Delta functions and/or discontinuous forcing functions are naturally handled by the Laplace technique. To make these notes more interesting I should have reinterpreted one of the last examples in terms of and RLC circuit with some switches, the math is similar.

    Old Tests and Quizzes:
    Notice that previous times I've taught this course the material has been shifted around so you should not assume that Test I from a previous semester is a good representation of the test for the current semester. If you'd like to know what's covered this semester you should refer to the notes list and better yet come to class where I may on occassion offer further refinements of the course plan. I do not plan to post reviews this semester, lecture speaks for itself, it is your responsibility to craft the review from the lectures.

    Test Solutions from Spring 2009 Semester:

    These are the Quizzes from Spring 2012: These are the Tests from Spring 2012:

    Back to my Home

    Last Modified: 8-8-17