May 14, 2024  
2022-2023 College Catalog 
    
2022-2023 College Catalog [ARCHIVED CATALOG]

ENG 175IN - Computer Programming for Engineering Applications I

3 Credits, 5 Contact Hours
2 lecture periods 3 lab periods

Programming in C with emphasis on numerical applications in engineering. Includes structure of C programs; data types, operations, and basics of C; selection, repetition, arrays, functions, and data files.

Prerequisite(s): MAT 189  


Course Learning Outcomes
  1. Demonstrate the ability to develop and test software projects using the C programming language to solve engineering problems.
  2. Demonstrate the ability to apply the compilation process, tools, and basic debugging techniques.
  3. Demonstrate the ability to design and organize programs into separate functions to maximize code reuse and maintainability.

Performance Objectives:
  1. Define integer, floating point, double precision, character, string, array, and structure data types and describe their storage methods.
  2. List the arithmetic, assignment, relational, logical, and increment/decrement operators and demonstrate their application.
  3. Demonstrate the use of the #define and #include preprocessor commands.
  4. Write statements using the print f() function for formatted output including the use of escape sequences.
  5. Write statements using the scan f() function for data input.
  6. Write comment statements.
  7. Write statements using standard C library mathematical, character, and string processing functions.
  8. Write user defined functions.
  9. Write if-else and switch selection statements.
  10. Write while, for, and do repetition statements.
  11. Explain the scope of variables in a program.
  12. Explain auto, register, and static variable classes.
  13. Write program segments to declare, open, read, write, and close files using standard C file library functions.
  14. Distinguish between text and binary files.
  15. Define the term pointer and demonstrate use of the & address operator and the * indirection operator.
  16. Develop structured programs, applying a top-down approach, to solve practical engineering problems by numerical methods.
  17. Analyze errors inherent in floating point representation of data.
  18. Analyze error propagation in floating point calculations.
  19. Discuss cost effectiveness considerations of program complexity, efficiency, maintainability, and programmer times versus execution time tradeoffs.
  20. Demonstrate use of the conditional operators and their application.
  21. Demonstrate use of the bit shift operators and their application.
  22. Distinguish between random and sequential file access.
  23. Demonstrate the use of macros.
  24. Explain the use of recursively called functions.
  25. Demonstrate the use of linked lists.
  26. Demonstrate the use of binary trees.

Outline:
  1. Structure of C Programs
    1. Functions and program modularity
    2. Main() function
    3. Print f() function
    4. Scan f() function
    5. Top-down program development
  2. Data Types, Operations, and Basics of C
    1. Integer
    2. Floating point and double precision
    3. Character
    4. Escape sequences and conversion control sequences
    5. Arithmetic operations
    6. Operator precedence and associativity
    7. Variables and declaration statements
    8. Assignment statements
    9.     Formatted output
    10. Mathematical library functions
    11. Type conversion rules
    12. Symbolic constants
  3. Selection
    1. Relational expressions and logical operators
    2. If-else statements
    3. Nested if statements and if-else chains
    4. Switch statements
  4. Repetition
    1. Increment/decrement operators
    2. While statements
    3. Break, continue, and null statements
    4. For statements
    5. Do statements
    6. Nested loops
  5. Arrays
    1. One dimensional arrays
    2. Input, output, and initialization of array values
    3. Multidimensional arrays
  6. Functions
    1. Definition, declaration, and calling of functions
    2. Standard library functions
    3. Arrays as arguments
    4. Variable scope
    5. Variable storage classes
  7. Data Files
    1. Opening, reading, writing, and closing files
    2. Standard device files
    3. Random access files (optional)
    4. Text and binary files (optional)