Skip to main content

A Comparison of C, MATLAB, and Python as Teaching Languages in Engineering

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNCS,volume 3039)


We describe and compare the programming languages C, MATLAB and Python as teaching languages for engineering students. We distinguish between two distinct phases in the process of converting a given problem into a computer program that can provide a solution: (i) finding an algorithmic solution and (ii) implementing this in a particular programming language. It is argued that it is most important for the understanding of the students to perform the first step whereas the actual implementation in a programming language is of secondary importance for the learning of problem-solving techniques. We therefore suggest to chose a well-structured teaching language that provides a clear and intuitive syntax and allows students to quickly express their algorithms. In our experience in engineering computing we find that MATLAB is much better suited than C for this task but the best choice in terms of clarity and functionality of the language is provided by Python.


  1. Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall Software Series (1988)

    Google Scholar 

  2. The Mathworks: Matlab (2003),

  3. Prechelt, L.: An empirical comparison of seven programming languages. IEEE Computer 33, 23–29 (2000)

    Google Scholar 

  4. van Rossum, G.: Python tutorial. Centrum voor Wiskunde en Informatica (CWI), Amsterdam (1995),

  5. NumPy Team: Numerical Python (2003),

  6. Donaldson, T.: Python as a first programming language for everyone. In: Western Canadian Conference on Computing Education (2003),

Download references

Author information

Authors and Affiliations


Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fangohr, H. (2004). A Comparison of C, MATLAB, and Python as Teaching Languages in Engineering. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds) Computational Science - ICCS 2004. ICCS 2004. Lecture Notes in Computer Science, vol 3039. Springer, Berlin, Heidelberg.

Download citation

  • DOI:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22129-6

  • Online ISBN: 978-3-540-25944-2

  • eBook Packages: Springer Book Archive