ECE 175

Computer Programming for Engineering Applications

Usually offered: Fall, Spring

Required course: Yes

Course Level

Undergraduate

Units

3

Instructor(s)

Loukas Lazos, Professor
Ratchaneekorn Thamvichai, Professor of Practice

Prerequisite(s)

Prerequisite or concurrently enrolled in: MATH 122B or MATH 125.

Course Texts

zyBooks Programming in C interactive textbook (zybooks.com)

Schedule

Two 75-minute lecture sessions per week, Tu/Th 12:30PM - 1:45PM OR Tu/Th 5:00PM - 6:15PM. One 170-minute laboratory session per week.

Course Description

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

Learning Outcomes

Specific Goals for the Course:
Outcomes of Instruction: By the end of this course, the student will be able to:

  1. Conceptualize engineering problems as computational problems.
  2. Write computer programs for basic computing problems using the C computer programming language.
  3. Understand the basics of data structures.
  4. Perform dynamic memory management.
  5. Apply fundamental software design principles and commonly used techniques to solve basic computing problems.
  6. Perform code debugging.

Course Topics

A brief list of topics to be covered:

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
  • Identifiers; simple data types; constants and variables; type casting; binary arithmetic representations
  • The IDE environment

Branching

  • Conditional expressions; relational operators; logical operators; precedence rules
  • Selection structures; if-else statements; while statements; switch statements

Loops

  • Repetition and loop statements; for statements; do-while statements
  • Increment/decrement operators; nested loops; loop tracing

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

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 

Relationship to Student Outcomes

ECE 175 contributes directly to the following specific electrical and computer engineering student outcomes of the ECE department:

1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
2. An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
5. An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.

Syllabus Prepared By

Syllabus updated on 3/29/2022

Contact Undergraduate Advisor: undergradadvisor@ece.arizona.edu

Contact Us
Contact Us
Loading...