Content area

Abstract

Which programming language should we teach in the first course of programming to our undergraduate students of engineering? Most entering freshmen have no programming experience whatsoever. We have to teach them the first steps of programming, and swiftly bringing them to a level of skill where they can use computing in their other courses: to analyze data for lab reports, to learn linear algebra, to solve problems in mechanics, problems involving differential equations, and writing a program to control a robot (embedded programming).

Python is a high-level object-oriented programming language. It is designed to be easy to program. Guido van Rossum started the design of Python in 1980. Over the years, Python has gained popularity in a broad range of fields from web development, games, scripting language, science, and engineering. Python is open source software, and can thus be distributed freely, even for commercial use. This openness makes that Python plays well with the other languages and is easily expandable. Python is a general purpose language, which means that many things are made easy. Examples are string processing, reading/writing files, sockets, websites, databases, GUI’s. This is why it has been adopted by so many universities. The ease of use for general tasks makes Python very suitable for education. For science this is also an advantage, as scientist often need to load data, visualize it, and maybe control it via a user interface. For commercial applications this means that many things work out of the box, saving time and money.

Matlab was designed at the University of New Mexico by Cleve Moler in the late 1970s. It soon spread to other universities and found a strong audience within the applied mathematics community. Later, Jack Little, a Stanford University engineer, recognized its commercial potential and founded Mathworks in 1983. Matlab is a commercial numerical computing environment and programming language. It has a lot of advanced toolboxes and functions, and they are oriented to circuit analysis, signal processing, financial analysis, economics, business, statistics, and optimization .These functions are well documented and developed. However they are proprietary and you cannot see the code of most of the algorithms you are using. The proprietary nature also makes it difficult for third parties to extend the functionality of this language. Matlab is not an open source language and you have to buy a license. However it is easier for beginners, because the package includes all you need. Python and Matlab are interpreted language, which means that rather than compiling the complete program, bits of code can executed in a running program/session. This is what makes it so suitable for scientific computing: you can quickly run part of code in a sequence, or run the same piece of code repeatedly while improving it.

In this paper based on the data from different universities and industries, we evaluate and recommend a programming language for the first course of programming to our undergraduate students of engineering.

Details

Business indexing term
Title
The First Course of Programming: Python, Matlab, or C?
Source details
Conference: 2016 ASEE Annual Conference & Exposition; Location: New Orleans, Louisiana; Start Date: June 26, 2016; End Date: August 28, 2016
Publication year
2016
Publication date
Jun 26, 2016
Publisher
American Society for Engineering Education-ASEE
Place of publication
Atlanta
Country of publication
United States
Source type
Conference Paper
Language of publication
English
Document type
Conference Proceedings
Publication history
 
 
Online publication date
2016-07-05
Publication history
 
 
   First posting date
05 Jul 2016
ProQuest document ID
2317808979
Document URL
https://www.proquest.com/conference-papers-proceedings/first-course-programming-python-matlab-c/docview/2317808979/se-2?accountid=208611
Copyright
© 2016. Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the associated terms available at https://peer.asee.org/about .
Last updated
2025-11-15
Database
ProQuest One Academic