Department of Physical Science and Engineering
Engineering Program
Welcome to Computer Programming for Engineers and Scientists!
EGR-1140 Computer Programming for Engineers and Scientists
Fall 2012

INSTRUCTOR: Skander Chaouch-Bouraoui, Physical Sciences and Engineering


OTHER LOCATIONS : CH-100 (Department), the classroom (CAT-305) proper, or the Cyber Cafe

PHONE NUMBERS: 301-322-0420 (Department Main Line) or 301-386-7536 (Office)


To facilitate e-mail communication with me, please include the following information: The course designation (EGR-1140) and the subject of any e-mails to me during the Fall 2012 semester. Note: All credit students (with the exception of Howard Community College students enrolled at Laurel College Center) are required to use Owl Mail for all college communication.

Example: EGR-1140: Need help on arrays



OFFICE HOURS: by appointment
Note: (part or all of the office hours might be in the classroom [CAT-305] as student questions warrant).


This is 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 and practiced in laboratory.


In the Engineering program at Prince George's Community College, for all credit course, students are expected to spend a minimum of 45 combined hours of instructional time and related coursework time per credit hour. This course is a 3 credit course with a portion of that credit being laboratory. This course achieves the minimum of 135 hours of instructional time by requiring 18.75 hours of instructional time, 18.75 hours of laboratory time and 97.5 hours of student work outside of instructional time. Minimum outside instructional time assumes the student is aiming for a C, not an A.


MAT 136 Completed


Upon successful completion of the course a student will be able to

  1. Learn the structures and philosophies of computer programming languages in order to be able to successfully self-teach oneself other languages.

  2. Learn how to fully document programs.

  3. Learn to effectively program in a high level programming language commonly used by engineers.

  4. Learn to use computer programming to solve real world problems in engineering.

  5. Learn the fundamentals of program and data structures including graphs and trees.

  6. Learn high level computing concepts such as pointers, lists, stacks, queues, recursion, hash table, vector processing, parallel processing, object oriented programming, extreme programming, and event driven programming.


MATLAB DeMystified.   McMahon, David.  McGraw-Hill (2007).
Guide to Fortran 2003 Programming.   Brainer, Walter.  Springer(2009).
LabVIEW 2009 Student Edition.   Bishop, Robert.   Prentice Hall(2010).
A number of web sites will be required reading along with handouts


Pocket Book for Technical Writing for Engineers and Scientists 3rd Edition .  Finkelstein, Leo.  McGraw-Hill (2007).
Fortran 95/2003 for Scientists & Engineers.   Chapman, Stephan J.  McGraw-Hill (2007).


  1. Textbooks, Pens, Pencils, Eraser, Straight edge, Paper, and Calculator are required for every class.


As with any class an amount of time at least equivalent to two times the credit hours is expected to be performed for homework and labs. Please allot sufficient time for homework.

Homework will be assigned each week including the first week.


Evaluation of student performance is to be based on:

  1. Unannounced quizzes and assigned homework will account for approximately 35% of the semester grade. Homework consists of assigned tasks to program. A grade of zero will be given to anyone who copies their homeworks. All work is subject to re-grade if academic dishonesty is suspected. Turn work in on time.

  2. Two (mid-term and final) comprehensive in-class test on computers will account for approximately 20% of the semester grade each.

  3. A programming project with accompanying essay will account for approximately 25% of the semester grade. This is to be an original work. No sharing of work. A grade of zero will be given to anyone who copies their projects. All work is subject to re-grade if academic dishonesty is suspected. Turn work in on time.


Students are expected to attend and participate in class activities. Students who either never attended the class or who ceased attendance during the first 20 percent of the course will be assigned a "Q" grade by the instructor. The Q grade is a final grade and will not be replaced with a different grade at a later time.

Faculty are required to report the date of last attendance for each student receiving Q or F grade(s) in order for the college to report this date to a variety of federal agencies as mandated. The date of last attendance is considered the date of the student's termination from the course, regardless of the date of grade submission. Early termination from a course may result in reduction in student loans and financial aid (e.g., Pell, VA benefits) and may require the student to reimburse funds to the funding agency.


  1. Homework is due at the start of class (or before) except for in-class projects.

  2. Make-up homework, quizzes, and/or tests are up to the discretion of the teacher (excused absences only).


New topics are to be covered each week and include but are not limited to the following subjects. This outline is subject to change.

Week 1 Computer Hardware; Software; Operating Systems (UNIX and others)

Week 2 Computer tools; Using the computer (editing, compiling, etc.); Input and Output; Proper Documentation

Week 3 Data Structures and Operators (vector, matrix)

Week 4 Operators Part II

Week 5 Functions Part I

Week 6 Functions Part II

Week 7 Program control

Week 8 Advance program control

Week 9 Advance Data Structures

Week 10 Advance Programming Concepts

Week 11 Analysis

Week 12 Advance Analysis

Week 13 Design and progamming in class

Week 14 Design and progamming in class

Week 15 Design and progamming in class

Reading assignments are as follows: Read all books, handouts, and assigned web sites.

Quizzes will all be unannounced so be prepared.

Tests will be announced a week before and will depend on our progress in the classroom.


  1. Food and drink in limited quantities (snacks, not meals) are permitted in restricted areas (not near electronics or computers) and will be revoked if proper cleanliness is found wanting.

  2. Cell phones must be in vibrate mode and are only to be answered for emergencies (step outside please).

  3. Common courtesy is to apply at all times.


Log in to myPGCC from or from for updates and announcements.

Labor Day - College closed - No classes

Sat.-Mon., September 1 - September 3

Last day to apply for fall graduation

Monday, September 17

Last day to change from "audit to credit" or "credit to audit" for full-semester classes

Friday, September 21

Midterm - middle of semester; class will speed up

Wednesday, October 17

College Enrichment Day - No classes (for students)

Tuesday, October 30

Last day to withdraw from full-semester classes

Friday, November 16

Thanksgiving Break Start - No classes

Wednesday, November 21

College closed - no classes

Thurs.-Sun., November 22-25

Last Day of Regular Classes

Sunday, December 9

Final exam period/last week of classes

Wednesday, December 12

Open Registration begins (Engineers should register NOW)

Monday, December 3

Winter Break - College closed

Thursday-Wednesday, December 20 - January 2

Classes begin Spring 2013

Tuesday, January 22


Lab is in any Open Computer Lab (see college resources) or your own computer (which is better)