ECE 175
Computer Programming for Engineering Applications
Required course: Yes
Course Level
Units
Instructor(s)
Prerequisite(s)
Course Texts
zyBooks Programming in C interactive textbook (zybooks.com)
Schedule
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:
- Conceptualize engineering problems as computational problems.
- Write computer programs for basic computing problems using the C computer programming language.
- Understand the basics of data structures.
- Perform dynamic memory management.
- Apply fundamental software design principles and commonly used techniques to solve basic computing problems.
- 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.