Department of Natural Sciences and Engineering
Engineering Program
Welcome to Computer Programming for Engineers and Scientists!
EGR-1140 Computer Programming for Engineers and Scientists
Synonym Number LD01
Spring 2018

INSTRUCTOR: Dr. Scott D. Johnson, Associate Professor, Engineering Coordinator, Natural Sciences and Engineering

OFFICE: Official office is CAT-229R; but unofficial office is CAT-305 (better place to find me)

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

PHONE NUMBERS: 301-546-0420 (Department Main Line) or 301-546-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 Spring 2018 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: EGR1140: Need help on arrays



OFFICE HOURS: MW 4:00-4:30pm and 5:45-6:00pm; TTh 3:00 - 3:30 pm and 5:45pm - 7:00pm, by appointment all other times

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.


MAT 1360 completed or concurrent.


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.


  • Students passing this course will be able to accomplish all of the outcomes listed below.
  • Students will demonstrate their attainment of these outcomes through the planned assessments. So, for each course learning outcome, indicate briefly the planned assessment tools, such as cases, essay, multiple choice questions, etc.
  • Courses seeking general education status must address all pertinent general education outcomes in the below alignment.

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

Course Outcome

Program Outcome

MO #


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



Homework (programming assignments), quizzes, and examination

Learn how to fully document programs.



Homework (programming assignments)

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



Homework (programming assignments), quizzes, and examination

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




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



Examination and Project

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.




Proficiency in a programming and software development flow; writing programs in a high-level language like C or Fortran (latest variety).



Homework (programming assignments) and quizzes


Getting Started with MATLAB: A Quick Introduction for Scientists and Engineers.7th Edition  Pratap, Rudra.  Oxford University Press (2016).
Guide to Fortran 2008 Programming. 2nd Edition   Brainer, Walter.  Springer(2015).
LabVIEW Student Edition.   Bishop, Robert.   Prentice Hall(2015).
A number of web sites will be required reading along with handouts


Writing in Engineering. 1st Edition Irish, Robert  Oxford University Press (2016).



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 (or quizzes from neighboring students). 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 computer programming and theory will account for approximately 20% of the semester grade each. Using other resources (students next to you, computers of any type) is considering cheating and a grade of zero will be given to the student. All work is subject to re-grade if academic dishonesty is suspected.

  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.

Grades are assigned based on the grading policy stated in this syllabus and not the Blackboard grade book.

The scale used for grades in this class is the "Modern Standard Grading Scale" as defined in the COLLEGE RESOURCES and SERVICES link below.


The NA GRADE will be assigned by the faculty member to any student on the roster who never attends or academically participates in the class during the first three weeks of class (or equivalent of 20 percent in short courses). This will affect your financial aid.

The FX GRADE may be assigned by the faculty member to any student on the roster who did not officially withdraw from the course but who failed to participate in course activities through the end of the period. It is used when, in the opinion of the instructor, completed assignments or course activities or both were insufficient to make normal evaluation of academic performance possible. The grade will affect your financial aid.


As the semester continues, I hope to see all of you staying in my course and doing well. However, if you are considering withdrawing from this course, your withdrawal may result in financial aid and /or academic standing implications. Therefore, if you are considering withdrawing at any point, please speak with me before making a final decision. I may be able to offer to direct you to help. If I am unavailable, please contact Mark Hubley via email at or telephone at 301-546-0420.


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

  2. Laboratory work is to be submitted in appropriate binders follow any standard laboratory format (this will be reviewed in class).

  3. Make-up homework, quizzes, and/or tests are up to the discretion of the teacher (excused absences only). No makeup will be possible for laboratory work, sufficient time should be available to recover if an absence is necessary.


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

All homework will be due on October 17th, 2018. This will account for 20-35% of your grade depending on the number of pop quizzes given. Failure to meet this deadline will result in a zero. No extensions are allowed for any reason.

Midterm will be on October 17th, 2018. This will account for 10% of your grade.

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: For class it is expected that an article or book on engineering that is appropriately technical is to be read each week.

Quizzes will all be unannounced so be prepared.

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



COLLEGE CLOSED: No classes - President's Day.

Monday, February 19

Midterm - middle of semester; classes will speed up

Wednesday, March 7

Spring break. COLLEGE CLOSED for the week. No classes.

Monday-Sunday, March 12 to March 18

Last day to withdraw from full semester classes

Friday, April 20

Last Day of regular classes for the Spring Semester

Monday, May 7

Final exam

Monday, May 14


Lab is in class (CAT-305) during class and after class during open hour lab periods.