ECE 175 - Computer Programming for Engineering Applications
Semester Dates Taught:
Fall and spring
Prerequisite or concurrently enrolled in MATH 122B or MATH 125.
Catalog Data:

ECE 175 - Computer Programming for Engineering Applications (3 units)

Description: Fundamentals of C, complexity and efficiency analysis, numerical precision and representations, intro to data structures, structured program design, application to solving engineering problems.

Grading: Regular grades are awarded for this course: A B C D E

Course Fee: $25

Required for ECE


Lysecky, Roman, and Frank Vahid. Programming in C. ZyBooks. Online.

Class/Laboratory Schedule:

Two 75-minute lecture sessions per week
One 170-minute lab session per week

Course Learning Outcomes:

By the end of this course, the student will be able to:

  1. Conceptualize engineering problems as computational problems
  2. Handle the C programming language (syntax, IDE)
  3. Design computer programs using modular programming
  4. Understand the basics of data structures
  5. Perform dynamic memory management
  6. Implement algorithms for searching and sorting one-dimensional arrays
  7. Design computer programs using recursive programming techniques
  8. Understand fundamental software notation and coding principles
  9. Perform code debugging
Course Topics:

Introduction to computer systems

  • Engineering problems as computational problems
  • Overview of computer systems
  • Software design

Introduction to C

  • Code build process (editing, compiling, linking, executing)
  • Elements of a C program, preprocessor directives, statements and expressions, functions, coding formatting style
  • Simple data types, constants and variables, conversion between different data types, binary arithmetic representations
  • The IDE environment

Program flow control

  • Conditions, relational operators, logical operators, precedence rules, selection structures
  • Repetition and loop statements, while statements, for statements, increment and decrement operators, loop termination, nested loops, do-while statements
  • Debugging

Modular programming

  • User functions, library functions, function declaration and definition, function calls, pass by value, scope rules, programs with multiple functions
  • Pointers and addresses, pass by reference, pointer arithmetic
  • File input/output

Simple data structures

  • Arrays, declaration and initialization, multidimensional arrays, searching and sorting arrays, pointers and arrays
  • String arrays, string library functions, substrings, concatenation, strings vs. characters
  • Engineering applications, matrix algebra, numerical integration and differentiation, quadratic equations
  • Recursion
  • Structures, structures and functions, arrays of structures, dynamic data structures
Prepared by:
Loukas Lazos, Greg Ditzler, Ratchaneekorn Thamvichai, Jerzy Rozenblit
Prepared Date:

University of Arizona College of Engineering