Engineering: Syllabus


This file describes the time periods for studying the units. It also gives the due dates of homework and programming assignments.
The contents of the units are listed at the end of this file.
  Since this course is self-paced, you can submit your assignments at any time prior to the indicated deadline.  They will be graded and returned to you.  Depending on the geographical distribution of the participating students, we will try our best to provide a similar flexibility in the dates of the two midterm exams. 

Please keep in mind that during the official vacation periods of Lehigh University response from your instructors may not be very quick.  These dates for the SPRING 2004 semester are: March 6 to March 14.   Exams cannot be taken during this period.

This semester the mid term programming exam and written test must be taken by March 26 at the latest.  The suggested time is the week of March 22 to March 26.

SUGGESTED TIME SCHEDULE

January 19 20 21 22 23 Lehigh semester starts on January 19
January 26 27 28 29 30 On line courses start on February 2
February 2 3 4 5 6 Unit 0
February 9 10 11 12 13 Unit 1
February 16 17 18 19 20 Unit 2
February 23 24 25 26 27 Unit 3
March 1 2 3 4 5 Unit 4
March 8 9 10 11 12 SPRING BREAK
March 15 16 17 18 19 Unit 5
March 22 23 24 25 26 EXAM WEEK
March 29 30 31 1 2 Unit 5
April 5 6 7 8 9 Unit 6
April 12 13 14 15 16 Unit 7
April 19 20 21 22 23 Unit 8
April 26 27 28 29 30 Unit 9
May 3 4 5 6 7 FINAL EXAMS
May 10 11 12 13 14 FINAL EXAMS

Unit # 0 Introduction

The material in this unit must be finished during the first week of the semester ( February 2 to February 6).

We must receive your homework assignment #0 , HW0 by 9 am Monday February 9 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 1 Basic Element of C++ Program

The material in this unit must be finished by the second week. By February 13 you must have mastered the material.

We must receive your homework HW1 and your programming assignment PA1 by 9 am Monday February 16 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 2 Control Structures - Selection
The material in this unit must be finished by February 22 at the latest. Please note that February 11th and 12th are LU vacations.

We must receive your homework HW2 and your programming assignment PA2 by 9 am Monday February 25 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 3 Control Structures - Repetition

The material in this unit must be finished by February 27 at the latest.

We must receive your homework HW3 and your programming assignment PA3 by 9 am Monday March 1 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 4 Formatting - Linear Interpolation

The material in this unit must be finished by March 5 at the latest.

We must receive your homework HW4 and your programming assignment PA4 by 9 am Wednesday March 17 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

PLEASE NOTE THAT TWO TESTS MUST BE TAKEN BY March 26.

THE TESTS WILL COVER MATERIAL IN UNITS 0 to 4.

Unit # 5 Functions in C++ Root Finding

The material in this unit must be finished by April 2 at the latest.

We must receive your homework HW5 and your programming assignment PA5 by 9 am Monday April 5 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 6 Arrays - Elementary Statistics

The material in this unit must be finished by April 9 at the latest.

We must receive your homework HW6 and your programming assignment PA6 by 9 am Monday April 12 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 7Spreadsheets - Integration / Differentation

The material in this unit must be finished by April 16 at the latest.

We must receive your homework HW7 and your programming assignment PA7 by 9 am Monday April 19 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 8 MATLAB 1 - Engineering Applications

The material in this unit must be finished by April 23 at the latest.

We must receive your homework HW8 and your programming assignment PA8 by 9 am Monday April 26 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.

Unit # 9 MATLAB 2

The material in this unit must be finished by April 30 at the latest.

We must receive your homework HW9 and your programming assignment PA9 by 9 am Monday May 3 at the latest. Send your assignments using the BlackBoard Digital Drop Box tool any time prior to this deadline..

IF YOU NEED HELP WITH THE MATERIAL, PLEASE CONTACT US.


Final Exam Information
The final exam will be held sometime near the beginning of May. We can make special arrangements similar to the ones we used for the mid-semester tests.

THE TOPICS COVERED BY UNITS 0 to 9

WEB BASED ENGINEERING 1: Course Content

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.