Course Content and Outcome Guide for ENGR 114

Course Number:
ENGR 114
Course Title:
Engineering Programming
Credit Hours:
Lecture Hours:
Lecture/Lab Hours:
Lab Hours:
Special Fee:

Course Description

Introduces structured programming with applications to engineering problems. Prerequisite: ENGR 101 or department-approved equivalent. Audit available.

Addendum to Course Description

Includes computer terminology, how to read and document code, compile and test, detect and correct defects found in programs. This is a four (4) credit hour course that meets three (3) hours per week in lecture/discussion sessions and three (3) hours per week working on course projects in a closed laboratory setting for one (1) academic term. Transferability of credit depends entirely upon the institution to which the student wishes to transfer. The student will be advised of the materials required for the course by the instructor during the first week of class.

Intended Outcomes for the course

The student will be able to:

  1. Create program designs for applications of moderate complexity.
  2. Use and Integrated Development Environment to implement (code) program designs in the C++ programming language.
  3. Test and correct the programs.
  4. Document programs so other programmers may understand them.

Outcome Assessment Strategies

The student's grade will be based upon understanding of course material as demonstrated by:

  1. A comprehensive in-class final examination and midterm exam(s) or quizzes
  2. Proper and timely completion of lab projects that demonstrate effective use of concepts and tools.

The instructor will discuss evaluation procedures during the first week of the course. Specific evaluation procedures will be given to the student in writing in the form of a course handout.

Course Content (Themes, Concepts, Issues and Skills)

Upon successful completion of this course, the student will have satisfactorily accomplished the goals and objectives listed in this content guide.

The student will be able to:
1. Use documentation to research problems found within programs.
2. Develop programs from a design document.

Program Design
The student will be able to:
1. Write simple design documentation for a program prior to the coding of program
2. Insure the accuracy of their program
3. Use the top-down approach to design

Algorithms --Steps in problem solving
The student will be able to:
1. Use pseudo code to interpret and evaluate simple algorithms.
2. Explain the Top Down program design.
3. Use stepwise refinement to improve an algorithm.
4. Translate pseudo code into corresponding C statements.

Reading and writing simple programs
The student will be able to:
1. Describe the general format of a 'C' program and a 'C' function.
2. Understand and write simple algorithms
3. Use a debugger to trace the execution of simple programs
4. Identify common mistakes in 'C' programming including missing or misplaced semicolons,
missing braces, confusion with = and ==, lack of comments, wrong arguments to functions and
 wrong return types from functions.
5. Describe the importance of comments and indentation in the source program modules.

Program Development
The student will be able to:
1. Use an editor to create a simple program.
2. Use an integrated development environment to compile a program, link the program, debug
the program and execute the program.
3. Create test data for program validation.

Variables, Data, and Data representation
The student will be able to:
1. Declare literal decimal, char, float, double and string types of data
2. Properly declare variables using the built-in data types
3. Properly initialize variables of types char, int, float and double.
4. Use good naming techniques for objects and identifiers
5. Describe the various storage classes including automatic, external, static, and register.
6. Describe internal data storage for char, short, int, long, double, float, and unsigned.
7. Describe how to declare and use arrays in programs.
8. Use a for statement for indexing an array.  Define and use arrays.
9. Declare and use strings in programs.

The student will be able to:
1. Identify syntactically correct expressions.
2. Use arithmetic operators correctly.
3. Use equality and relational operators correctly
4. Describe and use the precedence and associatively of operators correctly.
5. Use logical operators correctly
6. Demonstrate implicit and explicit type conversion.

 The student will be able to:
7. Write simple and compound statements
8. Write assignment statements including statements using the various assignment operators.
9. Properly use increment and decrement operators.
10. Properly use if statements and switch statements
11. Properly use the while statement, the do-while statement, and the for statement.
12. Properly use preprocessor directives such as include.
13. Use the input and output commands cin and cout, and output manipulators for cout.

Functions and scope
The student will be able to:
1. Write simple functions with and without argument passing. 
2. Describe how to return a single value from and function.
3. Describe the difference between reference and value parameters.
4. Describe how to pass an array to a function.