Jump to navigation

The University of Arizona Wordmark Line Logo White
College of Engineering
Home
  • Home
  • Give Today
  • Contact Us

Search form

  • About
    • Welcome
    • Advisory Board
    • Contact Us
  • Undergrad Programs
    • Admissions
    • Degrees
    • Courses
    • Advising
    • Scholarships & Financial Aid
    • Research & Internships
    • Student Clubs & Organizations
    • ABET Accreditation
  • Grad Programs
    • Admissions
    • On-Campus Degrees
    • Online Degrees
    • Courses
    • Advising
    • Research Focus Areas
    • Funding
  • Research
    • Focus Areas
    • Centers
    • Inventions
  • Faculty & Staff
    • Faculty Directory
    • Staff Directory
    • Faculty Videos
    • Employee Resources
    • Open Positions
  • Alumni
    • Give Today
  • News & Events
    • ECE News Archive
    • Events
Undergraduate Programs
Home / Undergraduate Programs / Courses / Computer Programming for Engineering Applications

ECE 175

Computer Programming for Engineering Applications

Fall
Spring
Required Course:
Yes

Course Level

Undergraduate

Units

3

Prerequisite(s)

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

Course Texts

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

Schedule

150 minutes lecture, 170 minutes laboratory per week

Course Description

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

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

Relationship to Student Outcomes

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

  • Ability to apply knowledge of mathematics, science and engineering (high)
  • 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)
  • Ability to identify, formulate and solve engineering problems (high)
  • Knowledge of contemporary issues (low)
  • Ability to use the techniques, skills and modern engineering tools necessary for engineering practice (high)

Syllabus Prepared By

Loukas Lazos, Gregory Ditzler, Kay Thamvichai and Jerzy Rozenblit, 03/09/16
Contact Us
Contact Us
Loading...
  • UNDERGRAD PROGRAMS
  • Admissions
  • Degrees
  • Courses
  • Advising
  • Scholarships & Financial Aid
  • Research & Internships
  • Student Clubs & Organizations
  • ABET Accreditation
undergradadvisor@ece.arizona.edu
  • Cadence University Program Member
  • Employee Resources
The University of Arizona
Department of Electrical & Computer Engineering
1230 E. Speedway Blvd.
P.O. Box 210104
Tucson, AZ 85721-0104
520.621.6193

Facebook LinkedIn


University Privacy Statement

© 2021 The Arizona Board of Regents on behalf of The University of Arizona.