Computer Programming for Engineering Applications
Fall 2015 and Spring 2016
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 or concurrently enrolled in MATH 122B or MATH 125.
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:
- Conceptualize engineering problems as computational problems.
- Handle the C programming language (syntax, IDE).
- Design computer programs using modular programming.
- Understand the basics of data structures.
- Perform dynamic memory management.
- Implement algorithms for searching and sorting one-dimensional arrays.
- Design computer programs using recursive programming techniques.
- Understand fundamental software notation and coding principles.
- Perform code debugging.
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
- 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
- Structures; structures and functions; arrays of structures; dynamic data structures
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)
Dr. Loukas Lazos, Dr. Greg Ditzler, Dr. Ratchaneekorn Thamvichai, Dr. Jerzy Rozenblit