Last revised: 02/03/97

Louisiana Tech University

Winter 1996-97: Section 01, TT 11:00-12:15, BH 318

Programming for Engineers

Instructor: Dr. Melvin R. Corley 

Textbook: C++ How To Program, H.M. Deitel & P.J. Deitel, Prentice Hall, 1994, ISBN 0-13-117334-0 

Newsgroup for Class 


Class Schedule 

DATE

TOPIC 

READING

HOMEWORK & PROGRAMS (due on this date)

11/14
Introduction, course policies, number systems, computer operations
1-34
NONE
11/19
Control Structures: if, if/else, while
50-81
Exercises: 1.10, 1.12, 1.15, 1.17, 1.22, 1.29 

Program 1: Enter and run the program shown in Fig. 1.2 (p. 16)

11/21
Control Structures: for, switch, do/while, break, continue
82-111
Exercises: 2.14
11/26
Program Debugging Techniques
NOTES
Program 2: Exercise 2.16
12/03
Functions: function declarations and definitions, header files
134-162
Exercises: 3.15, 3.16, 3.17 

EXTRA CREDIT: Read the article "The Timeless Wisdom of Genesis" by Bill Moyers in the November, 1996 issue of Reader's Digest. (I have placed a copy of the article on reserve in the the Tech library.) To receive the extra credit, e-mail me a short summary of the article by 11:00 a.m. on Tuesday, Dec. 3.

12/05
Functions: recursion, reference parameters, overloading
162-185
 
12/10
Arrays: delaring and passing to functions
210-231
Program 3: Exercise 3.37 (Note that this also requires working exercises 3.35 and 3.36.)
12/12
Arrays: typical applications
231-249
Exercises: 4.8, 4.12, 4.18
12/17
Pointers and Strings: declaration and initialization, as function parameters
266-287
FYI: Here is a version of the popular ELIZA program that I adapted from the BASIC programming language. It features extensive use of strings and string pointers.
12/19
Pointers and Strings: expressions and arithmetic, function pointers
287-315
Program 4: You may choose to work either Exercise 4.23 or 4.24(b). You can earn extra credit by expanding the sope of Exercise 4.23 as suggested in the problem statement or by solving Exercise 4.24(c). 
01/07
Classes and Data Abstraction: classes and data hiding
344-364
 
01/09
Classes and Data Abstraction: constructors, destructors, amd member functions
364-384
 
01/14
Inheritance: base classes and derived classes
482-497
 
01/16
Inheritance: public, protected, and private base classes, composition vs. inheritance
497-517
Program 5: Work exercise 6.8. You will definitely need to use a project file with this assignment since your program will consist of three separate files: time.h, time.cpp, and prob68.cpp. EXTRA CREDIT: Repeat the assignment implementing the internal representation of the time as the integer number of seconds since midnight. (This integer will have to be declared as type long since its maximum value exceeds 65,535.) Make sure that all member functions work exactly the same as they do in Fig. 6-10.
01/21
Virtual Functions and Polymorphism: when to use; abstract base classes
524-531
 
01/23
Virtual Functions and Polymorphism: polymorphism and dynamic binding
531-548
 
01/28
Stream Input/Output: formatted and unformatted I/O
554-570
 Program 6: Work exercise 10.14. Replace the driver program program (Fig. 10.1 part 11) with one that creates the objects as shown but including the following additional data: John Smith (dept. 43, bday 09/18/1945), Sue Jones (dept. 87, bday 03/12/1955), Bob Lewis (dept. 54, bday 12/04/1960), Karen Price (dept. 18, bday 06/20/1970). Print the payroll report for 12 months beginning January, 1996.
01/30
Stream Input/Output: manipulators and format states
570-589
 
02/04
File Processing and String Stream I/O: files and streams, sequential I/O
648-663
 Program 7: Work exercise 14.12. Be sure to implement the data to be stored in the file as a class called Tool. Here's a revised version of the sample program fig14_15.cpp from your textbook.
02/06
File Processing and String Stream I/O: random access files
663-679
 


Useful pointers for this course: 


ENGR 102 Programming Assignment Requirements 

Each programming assignment for Engineering 102 should be treated as a laboratory report. The following items should be turned in for each assignment:

  1. An engineering laboratory folder with all appropriate cover items filled in 
  2. A vinyl diskette pocket attached to the inside front cover of the folder 
  3. A labeled 3-1/2" floppy disk containing the C++ source code and any necessary data files must be placed in the vinyl pocket. The label must contain the author's name, assignment number, and the names of all files on the disk. No other files should be on the disk and the disk must be virus free. SUBMITTING A VIRUS-CONTAMINATED DISK WILL AUTOMATICALLY EARN A GRADE OF ZERO FOR THE ASSIGNMENT! 
  4. A word processor produced report including the following items: 


Grading: 

ASSIGNMENT

PERCENTAGE 

Weekly Exams (approx. 8)

65% 

Computer Problems

20% 

Homework

15% 

TOTAL

100% 

Thanks for visiting the Louisiana Tech ENGR 102 home page. According to Web-Counter, you are visitor number since November 9, 1996. 

I hope you will visit again soon.