Asee peer logo

First Programming Course In Engineering: Balancing Tradition And Application

Download Paper |


2003 Annual Conference


Nashville, Tennessee

Publication Date

June 22, 2003

Start Date

June 22, 2003

End Date

June 25, 2003



Conference Session

Programming and DSP Issues in Education

Page Count


Page Numbers

8.575.1 - 8.575.7



Permanent URL

Download Count


Request a correction

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Session 2420

First Programming Course in Engineering: Balancing Tradition and Application

K-Y. Daisy Fan, David I. Schwartz

Department of Computer Science, Cornell University, Ithaca, New York


The “Introduction to Programming” course is an essential part of any first-year engineering program. As part of a common first-year curriculum, one of the biggest challenges of this first programming course is to both teach fundamental programming concepts and give students practical tools that can be applied easily to upper level courses in different engineering disciplines. At Cornell University, we offer a new first-year programming course that uses two very different programming languages: MATLAB and Java. This one-semester course balances the need for working knowledge of a fundamental programming language, such as Java, and the need for working knowledge of an engineering computing tool so that upper-level courses can focus on high-level, conceptual issues rather than programming details. Furthermore, this new course accommodates students in arts and sciences who are interested in a programming course that has a strong mathematical focus instead of a more traditional programming course offered in a computer science department. This paper discusses the challenges in developing the course, the ambitious one-semester syllabus that teaches both MATLAB and Java with depth, our evaluation of this new course, and our plans for improving the programming course in a common first-year engineering curriculum.


The “Introduction to Programming” course is an essential part of the first-year engineering curriculum that helps students develop expertise in some programming language, beyond spreadsheet computation. This first programming course is a service course, teaching computing skills that students will need in upper division engineering courses. Given the wide-ranging needs of different engineering disciplines, some undergraduate programs offer introductory programming courses within the different departments. Such a model allows the computing needs of the upper division courses in a specific field to dictate the syllabus of the introduction to programming course. This efficiency in the curriculum can incur a penalty for the students who change their major from one engineering field to another if they lack the prerequisite programming course for their new major.

At Cornell University, the College of Engineering has a “common first-year curriculum” philosophy that requires a common, one-semester, introductory programming experience for all

Proceedings of the 2003 American Society for Engineering Education Annual Conference & Exposition Copyright © 2003, American Society for Engineering Education

Schwartz, D., & Fan, K. D. (2003, June), First Programming Course In Engineering: Balancing Tradition And Application Paper presented at 2003 Annual Conference, Nashville, Tennessee. 10.18260/1-2--12160

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2003 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015