Computer Programming for Engineering Applications II
zyBooks Programming in C++ and Data Structures interactive textbook (zybooks.com)
Specific Course Information:
2021-2022 Catalog Data: C and C++ programming. Core design and analysis of engineering algorithms and structures including lists, trees, graphs, traversal, and encoding. Fundamentals of C and C++ programming languages including pointers, structures, unions, and introduction to classes. Programming design topics including memory management, abstraction and design of advanced structures, and basics of software engineering.
Specific Goals for the Course:
Outcomes of Instruction: By the end of this course the student will be able to:
- Write, test, and debug large software programs using C and C++ programming languages.
- Understand the compilation and linking process for software programs.
- Utilize commercial integrated-development environment (IDEs) for software development.
- Distinguish between statically allocated memory and dynamically allocated memory.
- Understand the C program memory organization and differentiate the location in which variables are stored within memory.
- Trace the behavior of a function call using the program stack.
- Understand and use C programming constructs including structs, pointers, strings, memory allocation, file IO, and command line arguments.
- Understand the relation between pointers and memory addresses.
- Create software programs that heavily utilize pointers and dynamic memory allocation.
- Implement data structures and supporting algorithms for common data structures including lists, queues, stacks, trees, and graphs.
- Create software programs to solve engineering problems using common data structures and algorithms.
- Analyze software code to determine the asymptotic runtime.
- Select appropriate data structures and algorithms to solve programing problems considering the asymptotic runtime.
- Understand the role of encapsulation, abstraction, and code organization in the software design process.
- Understand and use C++ programming constructs including classes, constructors and destructors, streams, references, operator overloading, and dynamic memory allocation.
- Have a basic knowledge of the standard template library (STL).
Brief list of topics to be covered:
The numbers in parentheses indicate approximate number of lectures devoted to the topics listed.
- Chapter 1 - Circuit Variables (2) - Overview of electrical engineering and circuit analysis, voltage and current, the ideal basic circuit element, reference directions, power and energy.
- Chapter 2 - Circuit Elements (3) - Voltage and current sources, electrical resistance and Ohm's law, construction of a circuit model, Kirchhoff's laws, and dependent sources.
- Chapter 3 - Simple Resistive Circuits (4) - Resistors in series and in parallel, the voltage-divider circuit, the current-divider circuit, measuring voltage and current, the Wheatstone bridge, Delta-Wye equivalent circuits.
- Chapter 4 - Techniques of Circuit Analysis (13) - Introduction to the node-voltage method, node-voltage analysis with dependent sources, some special cases; introduction to mesh currents, mesh current analysis with dependent sources, some special cases; the node-voltage method versus the mesh current method; source transformations, Thevenin and Norton equivalent circuits; maximum power transfer; superposition.
- Chapter 5 - The Operational Amplifier (8) - Operational amplifier terminals: terminal voltages and currents; inverting, summing, non-inverting, difference, comparators and integrating amplifier circuits.
- Chapter 6 - Inductance, Capacitance, Mutual Inductance (4) - Properties of the inductor, properties of the capacitor, series and parallel combinations of inductance and capacitance, mutual inductance.
- Chapter 7 - Response of First-Order RL and RC Circuits (6) - Natural response of RL and RC circuits, step response of RL and RC circuits, a general solution for step and natural responses, sequential switching, unbounded response.
- Chapter 8 - Natural and Step Responses of RLC Circuits (6) - Natural and step responses of a parallel RLC circuit, natural and step responses of a series RLC circuit.
- Chapter 9 - Sinusoidal Steady-State Analysis (10) - Sinusoidal sources and response, phasors, impedance and admittance, seriesparallel and Delta-Wye simplifications, source transformations and Thevenin-Norton equivalents, node and mesh analysis, transfer functions, ideal transformers, impedance matching, phasor diagrams.
Relationship to Student Outcomes
ECE 275 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.
7. An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.