Description of Course
This course as presented here is a two semester course consisting of a "computer" course and an introduction to theory and practice of engineering course combined into one course. The reason for combining the course here is that some introduction to engineering material should be presented before any material is presented in engineering (like what is an engineer) but the computer course material should be presented before the hardcore portion of introduction to engineering (like laboratory for instance). An instructor can do this in the order they prefer but herein we give what is believed to be a sensible way to go about this.
While this description separates the two courses in distinct semester units as would be expected in traditional program, mixing and matching of this units is a better way of presenting the material.
The first semester of this course would consist of a high-level introduction to computer tools and computer programming for the engineer and scientist. The goal is to develop within the student sufficient knowledge to perform analysis using common engineering and science programming languages. Topics will include algorithm analysis and solution, program structures, data structures, modular design, and overviews of the computer hardware, various computer tools available to solve real world problems, and object-oriented structure. In addition the course will include an introduction to test and control system programming. A variety of languages will be introduced such as MATLAB, Fortran, and C++ with primary emphasis on one of these languages. The results will be to ensure that from the primary language a student can easily master the other languages. Along with the aforementioned languages a number of engineering specific languages such as LABView, Spice, and VHDL will be introduced to the student.
The second semester of this course introduces the student to the theory and practice of engineering. The semester has four main parts. Each part will cover important aspects of engineering giving the student a full picture of the career they are about to embark upon. The first part will help the student understand what an engineer is and what type of work they would be expected to perform in society. Included in this will be discussions of ethics and group dynamics (which will be an optional at the end of the course chapter). The second part will deal with higher level engineering concepts. This will be developed in an application area such as a research laboratory giving students exposure to professional practices common in all engineering disciplines. A number of professional papers will be reviewed leading to a creation of a hypothetical laboratory emphasizing the interaction common to all engineering disciplines. The third part will cover fundamental aspects of engineering including drawing, modeling, problem solving, design, and laboratory experimentation. Basic computer skills will be developed using MATLAB, Fortran, C, or similar high level computer language. Finally a team project will constitute the fourth part. The teams will be expected to develop a product using a number of engineering and software skills.
Team work along with communication skills (oral, written, and graphical) are exercised throughout the course.
The level of this course assumes the student is starting calculus and college level English. If the first semester of the course is skipped it is assumed the student has experience in computer programming as an engineer or scientist.