Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposed order #311

Open
kangwonlee opened this issue Feb 17, 2024 · 0 comments
Open

proposed order #311

kangwonlee opened this issue Feb 17, 2024 · 0 comments

Comments

@kangwonlee
Copy link
Owner

kangwonlee commented Feb 17, 2024

Proposed Order:

  1. Python Review & Float Format (1 week): This is a good starting point for a refresher.
  2. Introduction to Numerical Methods (1 week): Briefly introduce the concept of numerical methods, its importance in engineering, and provide real-world examples to spark student interest.
  3. Root Finding (2 weeks): Cover sequential, bisection, and Newton's methods, emphasizing their applications and convergence characteristics.
  4. Linear Algebra 1: Vectors and Matrices in Python Lists (1 week): Introduce vector and matrix operations using Python lists, focusing on basic manipulations and calculations relevant to numerical methods.
  5. Linear Algebra 2: Vectors and Matrices in NumPy Arrays (2 weeks): Introduce NumPy arrays as the standard tool for efficient numerical computations with vectors and matrices. Cover advanced operations, indexing, and linear algebra functions.
  6. Interpolation (2 weeks): Explore linear, quadratic, and spline interpolation techniques, emphasizing their applications in data fitting and approximation.
  7. Numerical Integration (2 weeks): Focus on 0th, 1st, and 2nd order integration methods (trapezoidal, Simpson's rule, etc.), highlighting accuracy and error analysis.
  8. Midterm Exam (1 week): Review key concepts covered so far and provide an opportunity for students to assess their understanding.
  9. Optimization (2 weeks): Introduce and compare gradient descent and other optimization techniques, demonstrating their use in solving engineering problems.
  10. Probability & Statistics (2 weeks): Cover generating combinations, basic statistics concepts, and introduce pandas for data manipulation and analysis. Connect this to numerical methods applications like Monte Carlo simulations.
  11. Ordinary Differential Equations (ODEs) (4 weeks): Introduce Euler's method, followed by Heun's method and RK4 for higher-order solutions. Emphasize stability and error analysis.
  12. Exam Review & SymPy (1 week): Review key concepts from ODEs and introduce SymPy for symbolic computations relevant to numerical methods.
  13. Final Exam (1 week): Comprehensive assessment of course learning objectives.

Reasons for the Change:

  • Early Introduction to NumPy: Moving NumPy earlier allows students to utilize its capabilities throughout the course for efficient computations.
  • Logical Progression: The order allows students to build upon concepts, starting with basic operations and progressing to more complex numerical methods.
  • Maintaining Student Interest: Interleaving different topics like optimization and probability with core numerical methods can enhance engagement.
  • Focus on Applications: Throughout the course, emphasize real-world engineering applications of each numerical method to motivate students.

Additional Tips:

  • Hands-on Practice: Provide ample coding assignments and projects for students to apply their learning through practical exercises.
  • Visualization: Encourage visualization of results using libraries like Matplotlib to enhance understanding.
  • Open Communication: Encourage students to ask questions, discuss challenges, and seek clarifications.
    Remember, this is just a suggestion. You can adapt it based on your specific course objectives, student background, and teaching style. The key is to create a well-structured, engaging, and application-oriented course that equips engineering juniors with the necessary skills in Python numerical methods.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant