Title :
Four steps to teaching C programming
Author :
Budny, Dan ; Lund, Laura ; Vipperman, Jeff ; Patzer, John L.
Author_Institution :
Eng. Student Services Center, Pittsburgh Univ., PA, USA
Abstract :
Our experience with teaching C programming has shown that the students have a problem understanding the concept of arrays, dealing with the syntax of the language, designing the organization of the program and understanding the concept of flow control such as looping and branching or function calls. In a typical C programming course the instructor must deal with all of these problems simultaneously, because of the nature of the language. To help solve this problem we have divided the various concepts and used different software packages to introduce each topic independently. For example we have discovered that EXCEL can be used to explain the concept of an array, matrix operations, data input, and the built in functions provides the student with a number of useful tools. The concept of designing the layout of a program can be introduced very well with HTML, and then the concept of control such as looping and branching can be introduced with MATLAB without many of the syntax problems that comes with C. Finally once the students are familiar with the use of EXCEL, UNIX, HTML and MATLAB the introduction of C is much easier for the students to understand. This paper describes how we introduced this new teaching concept into the University of Pittsburgh freshman engineering computing course.
Keywords :
C language; Unix; computer science education; educational courses; hypermedia markup languages; programming; teaching; C programming teaching; EXCEL; HTML; MATLAB; UNIX; University of Pittsburgh; arrays; branching; built in functions; data input; flow control; freshman engineering computing course; function calls; language syntax; looping; matrix operations; program layout; program organisation; software packages; Education; HTML; Knowledge management; MATLAB; Problem-solving; Programming profession; Quality management; Software engineering; Software maintenance; Software quality;
Conference_Titel :
Frontiers in Education, 2002. FIE 2002. 32nd Annual
Print_ISBN :
0-7803-7444-4
DOI :
10.1109/FIE.2002.1158140