Asee peer logo

Integration Of C Into An Introductory Course In Machine Organization

Download Paper |

Conference

2008 Annual Conference & Exposition

Location

Pittsburgh, Pennsylvania

Publication Date

June 22, 2008

Start Date

June 22, 2008

End Date

June 25, 2008

ISSN

2153-5965

Conference Session

ECE Poster Session

Tagged Division

Electrical and Computer

Page Count

6

Page Numbers

13.771.1 - 13.771.6

DOI

10.18260/1-2--4034

Permanent URL

https://peer.asee.org/4034

Download Count

354

Paper Authors

biography

Eric Freudenthal University of Texas at El Paso

visit author page

Eric Freudenthal is a member of the Computer Science faculty at the University of Texas at El Paso. Dr. Freudenthal's research interests include self-organizing distributed systems, computer security, and the effective teaching of foundational concepts in computation and science.

visit author page

biography

Brian Carter University of Texas at El Paso

visit author page

Brian Carter is an undergraduate studying Computer Science at the University of Texas at El Paso.

visit author page

biography

Frederick Kautz University of Texas at El Paso

visit author page

Frederick Kautz is an undergraduate studying Computer Science at the University of Texas at El Paso.

visit author page

biography

Alexandria Ogrey University of Texas at El Paso

visit author page

Alexandria Ogrey is an undergraduate studying Computer Science at the University of Texas at El Paso.

visit author page

biography

Robert Preston University of Texas at El Paso

visit author page

Robert Preston is an undergraduate studying Computer Science at the University of Texas at El Paso.

visit author page

biography

Arthur Walton University of Texas at El Paso

visit author page

Arthur Walton is an undergraduate studying Computer Science at the University of Texas at El Paso.

visit author page

Download Paper |

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

Integration of C into an Introductory Course in Machine Organization

Abstract

We describe the reform of a fourth-semester course in computer organization in the Computer Science BS curriculum at the University of Texas at El Paso (UTEP), an urban minority-serving institution, where Java and integrated development environments (IDEs) have been adopted as the language and development environment used in the first three semesters of major coursework. This project was motivated by faculty observations at UTEP and elsewhere1 and industry feedback indicating that upper-division students and graduates were achieving reduced mastery of imperative languages with explicit memory management (most notably C), scriptable command line interfaces, and the functions of compilers, assemblers, and linkers.

The pre-reform computer organization course2 focused on foundational concepts such as machine instructions, registers, the random-access memory model, and the generalized fetch- execute cycle. Projects included assembly-language programming of a Motorola M68HC11 processor installed in a two-wheeled robot. The reformed curriculum, which uses the same embedded target, integrates the study of C and thus also able to focus on the implementation of high-level language features and linkage between C and assembly language routines. Student labs use traditional command-line tools including bash, gcc, gas, ld, and make.

Lectures include collaborative learning components in which student groups are tasked with the development and refinement of first C, and then assembly language implementations of program fragments. Lab assignments utilize both languages and introduce students to command interpreters, scripting, collaborative development tools, and subroutine linkage of procedural languages. Assignments are distributed, “handed in,” and grades distributed using the subversion source code repository.

The reformed course’s outcomes are a superset of the original, with extensions including (1) understanding of C and its runtime environment, (2) parse trees, and (3) implementation of dynamic memory management.

Context

Object-oriented design is accepted as a primary programming model2 and many computer science departments have adopted Java as their principal teaching language in many lower- division courses. Furthermore, Java programs are commonly developed, compiled, and executed within seamless IDEs. As a result, students who have attended a third-semester course in data structures may neither be exposed to the relationship between memory addressing and variable

Freudenthal, E., & Carter, B., & Kautz, F., & Ogrey, A., & Preston, R., & Walton, A. (2008, June), Integration Of C Into An Introductory Course In Machine Organization Paper presented at 2008 Annual Conference & Exposition, Pittsburgh, Pennsylvania. 10.18260/1-2--4034

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: © 2008 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