开发者

Tips on language or environment with better results in teaching numerical methods [closed]

开发者 https://www.devze.com 2023-02-07 15:30 出处:网络
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references,or expertise, but this question will likely solicit debate, a
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 10 y开发者_JAVA技巧ears ago.

I am preparing my first course on Numerical Methods for Electrical Engineering and would like to collect feedback from colleagues with experience in the subject, about which language or environment has generated more positive results in relation to student learning. MATLAB / Octave?, Python? C / C++? It would be interesting to use the R? Sorry if the question is outside the scope of the site.

Thanks for the feedback


Octave

  • Gentle learning curve-- easier to start using, than C, FORTRAN or even Python. Allows you to focus your curriculum on the concepts and not the minutiae.
  • Uses an interpreted programming model-- students receive feedback quickly. No compile/link. Rapid feedback also encourages students to explore concepts freely.
  • It works very well with the command line interface. Simple is good.
  • Runs on many operating systems.
  • Many, many scripts available freely.
  • Large community that supports MATLAB and Octave. Help is never far away.
  • Installation is very simple.
  • Many high-level numerical function are built-in, so to speak. You can choose to let your students use them, or not. It will depend on the curriculum.
  • Octave is free and works very well.

The only thing I miss is IDE integration with a debugger.

Check with the other faculty. They might have an opinion about what tool sets are appropriate for the class.


Environments with a Read-Execute-Print-Loop are far, far better than anything which requires a compiler. C and C++ (and Java for that matter) impose some intellectual overheads that may not be helpful.

In all cases (Matlab, Python, R) the basic rules of Floating Point arithmetic are absolutely essential.

It seems like (almost) every week someone posts yet another question here on why

>>> 555*(1/.555)
999.9999999999999

happens in Python (or Java or C).

Please don't allow your students to ask this question here.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号