Unit #0 Introduction
Course Outline Return to Unit

WEB BASED ENGINEERING 1: Course Content

The official catalog description of the course and a summary of the items to be learned is given under GOALS. Also, the OUTLINE page contains detailed description of the material as it is divided into ten units.

Unit 0 deals with the preliminary issues of the course. These are: the rules and regulations we have to follow, the software we are going to use, the directions for the proper installation and/or use of the various software, the text books we will need, our methods of communication and assignment delivery systems, the Lehigh computing environment, and an optional introduction to UNIX .

Unit 1 deals with the basic elements of a C++ program. The notion of constants and variables, the idea of assignment operators and arithmetic operations, and simple input output streams are discussed here. Some simple example programs are illustrated and discussed. By the end of this unit we should all know how to use our software to write, compile, and execute a simple program. Such a program should do the following: prompt the user for some data, do some arithmetic calculations using the data provided and some other constants, and output to the screen some numbers together with some strings of letters that clarify the outputted results.

Unit 2 deals with branching in procedures. Depending on the outcome of a logical condition we may want our program to follow one of two paths and in some cases one of several paths. This is accomplished by the use if statements and switch statements. In addition to this control structures we will learn how to read from user supplied data files and how to create such files, and we will discuss the mathematical library functions available in C++ and the methods of their usage.

Unit 3 deals with the control structures that allow us to program repetition of several statements in a way controllable by the inputs to the program. These structures are also called loops ( while loops, do while loops, for loops etc. ). As we move through the programming challenges of the course and specially with units 2 and 3 and beyond we can start looking at some problems which have their origin in some important engineering application. All our assignments and most of our examples are such problems. An attempt will be made to introduce you to questions related to some engineering systems.

Unit 4 deals with two very important practices of engineering. Engineers prefer to communicate their numerical results and summaries in form of tables. You have heard the saying " a picture is worth a thousand words". Tables are almost as valuable as pictures ( graphs ) in presenting numerical data, but in addition they can be very precise. We all know the fixation of engineers with precision ( a bridge cannot afford to nearly stand) . In this unit we learn how to output our data so that it looks clear and orderly and of controlled precision. In addition we will learn another important engineering tool: the great analytical simplifier, linear interpolation. Almost all laws of nature relate two or more quantities in complex and very curvy styles. Engineers, since the very early years, have found out that simple straight lines can represent these relations as long as certain conditions are met. We will study the idea of linear interpolation.

Unit 5 deals with user defined functions in C++. Functions are procedures which augment the main function of our program and can accomplish certain tasks on their own and then transfer their results to the main ( or to other functions) and/or output their results to files or to the screen. They are in many ways similar to the functions of the mathematical library, but there is more to them. Functions with a single return, multiple returns and no return will be discussed. In addition, we will start our study of numerical methods in solving problems. In this unit we will learn how to approximate roots of nonlinear and transcendental equations. The bisection method, Newton's method and Secant method will be discussed.

Unit 6 deals with arrays. When you deal with large number of data entries and you need to keep them in order and easily referable ( are we talking again about engineers' habits or what? ) you prefer to use arrays. Some times one dimensional ( list of test scores), many times two dimensional ( spreadsheets of various scores for various students), and some times multi dimensional ( the data needed to predict the weather over a region over a few days) . In this unit we will also learn some elementary statistics, such as: how to calculate the mean, max, min, standard deviation of a set of data and how to find a straight line curve fit of some given relational data.

Unit 7 deals with three important issues: first, we learn how to use spreadsheets ( Excel ) to do mathematical calculations, tables, graphs etc.; then we will continue our numerical methods discussion so that we can talk about numerical derivatives and integrals ( don’t let the big words scare you, we will keep everything much simpler than you think);... finaly we will study the operating system UNIX in some detail .

Unit 8 is used to introduce the powerful and popular software MATLAB . We will learn how to declare, define, and operate on arrays of numbers interactively. We will discuss the mathematical functions available, and the plotting of data facility of MATLAB. We will also write short programs in MATLAB. In parallel we will discuss some engineering applications relating to exponential growth - decay.

Unit 9 will allow us to continue using MATLAB and applying it to solve systems of linear algebraic equations. A short introduction to the theory of such systems will also be attempted.

 

Jacob Y. Kazakia © 2001 All rights reserved