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:
- 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
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...