Asee peer logo

Sophomore Level Programming Concepts And Methodology Course In Computer Engineering, Covering Both Hardware And Software

Download Paper |

Conference

2009 Annual Conference & Exposition

Location

Austin, Texas

Publication Date

June 14, 2009

Start Date

June 14, 2009

End Date

June 17, 2009

ISSN

2153-5965

Conference Session

ECE Poster Session

Tagged Division

Electrical and Computer

Page Count

14

Page Numbers

14.1067.1 - 14.1067.14

DOI

10.18260/1-2--5656

Permanent URL

https://peer.asee.org/5656

Download Count

594

Request a correction

Paper Authors

author page

Haluk Ozemek San Jose State University

author page

Preetpal Kang San Jose State University

author page

Albert Khanh Nguyen San Jose State University

biography

pradeep badhan San Jose State University

visit author page

Undergraduate student in Computer Engineering

visit author page

Download Paper |

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

A Sophomore-level Programming Concepts and Methodology course in Computer Engineering covering both hardware and software.

Abstract

One of the retention problems in an engineering discipline is that the students are not introduced to their field early enough to have a good understanding of their profession. Usually, the first two years of the engineering undergraduate program are spent in completing general education and science requirements. With this in mind, the authors have developed a sophomore-level Programming Concepts and Methodology lecture/lab course in the Computer Engineering Department at San Jose State University, which emphasizes the key elements of computer engineering. The main objective of this course is to illustrate how a high-level program, in this case C language, interacts with peripheral hardware. Throughout the semester, students are introduced to C language to be used on a microcontroller-based board to interface with sensors and transducers. A complete set of lab exercises enable students to build robots as a class project without requiring any background in electronics or programming. The course also introduces the fundamentals of embedded systems and hardware/software co-design to sophomore students.

INTRODUCTION

Computer Engineers must have proficient knowledge of both computer hardware and software which has produced the fundamentals of this course. In this course, a sophomore becomes knowledgeable on how software can interact with hardware, and how real world problems are solved by employing both hardware and software. As a result, students establish strong educational foundation which eliminates the difficulties on an actual project that they encounter in their professional life.

Before this course was introduced, the Computer Engineering Department at San Jose State University lost about 80% of its students to other non-engineering majors because the previous course focused only on the C, C++ . Consequently, students did not understand how software can control hardware. With this new course, the retention rate has completely reversed; 80% of students stayed in computer engineering after completing this course1.

COURSE OVERVIEW

The course is divided into two phases. In the first phase, students learn the basic C programming language and basic computer organization. Since many students do not have any prior programming experience, the programming experiments start with very basic concepts and structures but rapidly become complex at later stages of the course. The C programming section covers the following topics: Program Control, Functions, Arrays, Pointers, Characters and Strings, Formatted I/O, Structures. The computer organization part concentrates on the Central Processing Unit (CPU), Arithmetic Logic Unit (ALU), Memory, Input/Output Unit (I/O) and their relationship to one another. Throughout the lectures, a correlation between human anatomy and computer organization is explained for better understanding the course concepts. This excites students once they correlate the relationships between a human body and a computer. As

Ozemek, H., & Kang, P., & Nguyen, A. K., & badhan, P. (2009, June), Sophomore Level Programming Concepts And Methodology Course In Computer Engineering, Covering Both Hardware And Software Paper presented at 2009 Annual Conference & Exposition, Austin, Texas. 10.18260/1-2--5656

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