Content area

Abstract

The introductory computer programming course for engineers is usually taught using the C++ programming language. This work describes our current effort, as a pilot project, which can be used in an evaluation process by those departments that would like to substitute Matlab for C++. Those who would like to continue the current practice, but are looking for more challenging problems or projects involving Matlab can also use the project outcome. The main reason behind switching to Matlab from C++ is the fact that many engineering faculty at Penn State, in various departments, have recognized that the current courses teaching programming skills using C++ are not fully utilized in later required courses in the curriculum. Increasingly in undergraduate courses in various engineering disciplines, Matlab is being used for problem solving. Robotics projects, which include using Handy Board and Interactive C programming, were added to illustrate an application of programming which students can relate to and enjoy, as well as helping them to improve their software and algorithm design skills for real-time applications. A discussion of the advantages and disadvantages of conducting a computer programming course in this format, including three different course formats that we have used are included.

I. Introduction

Computer programming has been part of the engineering curriculum since the dawn of the computer age. The course is typically taught during the freshman or first semester of the sophomore year to ensure that students have sufficient programming background for solving problems in engineering courses. Although the assignments usually require some mathematical and/or basic physics/engineering background, the course is focused around programming concepts. Most universities use a “teach-a-language” approach in teaching this course, which means students work with a general purpose programming language (e.g., C++, Java, or FORTRAN) that is sufficiently flexible to build anything that needs to be built. This approach provides training in programming, but is so time consuming that there is little opportunity left to learn about computation.

II. Current practice

The introductory computer programming course for engineers, which was once dominated by FORTRAN for several decades, was gradually changed to C and later to C++ during the late 1980’s and early 1990’s. Currently most universities require only one computer-programming course for their engineering students (excluding computer engineering and computer science). This course is usually taught in C++ and in some cases in Java and FORTRAN. Until the fall 2004 semester at Penn State, we offered two versions of this course (C++ and FORTRAN), where the C++ version was required by the majority of the departments. The course was designed to cover fundamental concepts of programming (using C++ or FORTRAN), including introduction to computers and programming; data types, declaration and displays; assignment

Details

Title
Teaching The Introductory Computer Programming Course For Engineers Using Matlab And Some Exposure To C
Source details
Conference: 2006 Annual Conference & Exposition; Location: Chicago, Illinois; Start Date: June 18, 2006; End Date: June 21, 2006
Pages
11.1231.1-11.1231.11
Publication year
2006
Publication date
Jun 18, 2006
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
2015-03-10
Publication history
 
 
   First posting date
10 Mar 2015
ProQuest document ID
2317713582
Document URL
https://www.proquest.com/conference-papers-proceedings/teaching-introductory-computer-programming-course/docview/2317713582/se-2?accountid=208611
Copyright
© 2006. 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-18
Database
ProQuest One Academic