About the course
Computing has always played an important role in science and engineering. Sometimes it is also called the "third pillar" along with experiments and theory. In this course, you will learn computational science and engineering with the help of the Python programming language. This course covers the fundamental concepts of python variables, functions, and packages. Then it introduces control structures and basic numerical algorithms. In this course, you will also learn about interpolation, integration, differentiation, ODE and PDE solvers, and basic linear algebra.
The course mainly focuses on the practical approach and expects you to try hands-on with the exercises to get completely proficient in working with.
The course can be taken by:
Students: All students who are pursuing professional graduate/post-graduate courses related to computer science / Information Technology.
Teachers/Faculties: All computer science teachers/faculties who wish to acquire new skills.
Professionals: All working professionals, who wish to enhance their skills.
- 24X7 Access: You can view lectures as per your own convenience.
- Online lectures: ~30 hours of online lectures with high-quality videos.
- Hands-on practice: Includes source code files for hands-on practice.
- Updated Quality content: Content is the latest and gets updated regularly to meet the current industry demands.
Test & Evaluation
Each lecture will have a quiz containing a set of multiple-choice questions. Apart from that, there will be a final test based on multiple-choice questions.
Your evaluation will include the overall scores achieved in each lecture quiz and the final test.
Certification requires you to complete all the lectures, quizzes, and the final test.
Topics to be covered
Module 01: About computer, python: Variables and Array
- Introduction to computers
- Python variables
- Numpy arrays and its functions
Module 02: Python: Control structures, Programming style
- Basic python control structures
- Python packages and programming style
- Some suggestions on programming
Module 03: Plotting, Errors, Data input/output
- Plotting functions in Python
- Errors analysis & Nondimensionalization
- Data I/O & Mayavi
Module 04: Interpolation
- Lagrange Interpolation scheme
- Interpolation two dimensions
Module 05: Numerical Integration
- Integration using Newton-Cotes
- Integration using Gaussian quadrature
- Gaussian quadrature continued
Module 06: Differentiation, ODE solvers
- Numerical differentiation of functions
- Ordinary differential equations solver
- ODE solver continued
Module 07: Forier transforms, PDE solvers
- DiscreteFourier transform
- PDE solver: Diffusion equation in spectral method
- PDE solver: Diffusion equation using finite difference
- PDE solver: Wave equation using finite difference
Module 08: Linear Algebra, Summary
- Ax = b using the Gaussian elimination method
|1. Introduction||2. The Programming Cycle for Python||3. Getting started|
|4. Variables and simple data types||5. Elements of Python||6. Type Conversion|
|7. Expressions||8. Assignment Statement||9. Arithmetic Operators|
|10. Operator Precedence||11. Boolean Expression||12. Introducing lists|
|13. Working with lists||14. For Loop||15. Nested Loops|
|16. Tuples||17. Unpacking Sequences||18. Lists|
|19. Mutable Sequences||20. List Comprehension||21. Sets|
|22. If statements||23. Conditionals||24. Conditionals (Continued)|
|25. Expression Evaluation||26. Float Representation||27. Dictionaries|
|28. User input and loops||29. Break and Continue||30. Function|
|31. Parts of A Function||32. Execution of A Function||33. Keyword and Default Arguments|
|34. Scope Rules||35. Strings||36. Indexing and Slicing of Strings|
|37. More Slicing||38. Higher Order Functions||39. Sieve of Eratosthenes|
|40. Abstract Data Types||41. Classes||42. Modules|
|43. Importing Modules||44. Classes||45. Special Methods|
|46. Class Example||47. Inheritance||48. Inheritance and OOPS|
|49. Files and Exceptions||50. File I/O||51. Exceptions|
|52. Testing your code||53. Assertions||54. Iterators|
|55. Recursion||56. Simple Search||57. Estimating Search Time|
|58. Binary Search||59. Estimating Binary Search Time||60. Recursive Fibonacci|
|61. Tower Of Hanoi||62. Sorting||63. Selection Sort|
|64. Merge List||65. Merge Sort||66. Higher Order Sort|