ECE175

Computer Programming for Engineering Applications
Fall 2015 and Spring 2016
Designation: 
Required for ECE
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

Prerequisite(s): 
Prerequisite or concurrently enrolled in MATH 122B or MATH 125.
Textbook(s): 

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

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; multi-dimensional 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
Class/Laboratory Schedule: 

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

Relationship to Student Outcomes: 

ECE 175 contributes directly to the following specific Electrical Engineering and Computer Engineering Student Outcomes of the ECE Department:

  • an ability to apply knowledge of mathematics, science, and engineering (High)
  • an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability (High)
  • an ability to identify, formulate, and solve engineering problems (High)
  • a knowledge of contemporary issues (Low)
  • an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. (High)
Prepared by: 
Dr. Loukas Lazos, Dr. Greg Ditzler, Dr. Ratchaneekorn Thamvichai, Dr. Jerzy Rozenblit
Prepared Date: 
3/9/16

University of Arizona College of Engineering