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.
精彩评论