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

  • Hans Fangohr
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. 1.
    Kernighan, B.W., Ritchie, D.M.: The C Programming Language. Prentice Hall Software Series (1988)Google Scholar
  2. 2.
    The Mathworks: Matlab (2003),
  3. 3.
    Prechelt, L.: An empirical comparison of seven programming languages. IEEE Computer 33, 23–29 (2000)Google Scholar
  4. 4.
    van Rossum, G.: Python tutorial. Centrum voor Wiskunde en Informatica (CWI), Amsterdam (1995),
  5. 5.
    NumPy Team: Numerical Python (2003),
  6. 6.
    Donaldson, T.: Python as a first programming language for everyone. In: Western Canadian Conference on Computing Education (2003),

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Hans Fangohr
    • 1
  1. 1.University of SouthamptonSouthamptonUK

Personalised recommendations