ECE: Electrical & Computer Engineering
Accredited by ABET
Undergraduate Programs

ECE 1574 Engineering Problem Solving with C++

Fall 2016 textbook list

The Fall 2016 ECE textbook list is available online for students.

Current Prerequisites & Course Offering

For current prerequisites for a particular course, and to view course offerings for a particular semester, see the Virginia Tech Course Timetables.

Return to course list

ECE 1574 Engineering Problem Solving with C++ (3C)

Problem solving techniques for engineering problems, primarily from the fields of electrical and computer engineering; procedural and object-oriented program development, editing, compiling, linking, and debugging using the C++ programming language.

What is the reason for this course?

This course provides the foundations of computer programming. Both electrical engineers and computer engineers need to understand computer programming as well as be able to program computers to solve engineering problems.

Required for all EE and CPE majors. Typically offered: Fall, Spring. Program Area: Computers.

Prerequisites: C- or better in ENGE 1024 or ENGE 1215, Math 1205 or MATH 1205H or MATH 1225.

Why are these prerequisites or corequisites required?

Math 1205 provides basic background in calculus required to understand the problems addressed in some of the programming projects.

Department Syllabus Information:

Major Measurable Learning Objectives:
  • Write complete C++ programs to solve engineering problems using top-down design,
  • Use high-quality programming standards to develop C++ programs to solve engineering problems,
  • Apply successful debugging strategies in a software development process while developing programs of several hundreds lines in length,
  • Define and use the concepts of data types, arrays, pointers, and stream and file I/O, and
  • Use dynamic memory management, library functions, user-defined functions, and simple classes to solve engineering problems in C++.

Course Topics
Topic Percentage
Basics of computer organization 3%
Data types and expressions 10%
Functions 10%
Repetition 7%
Design and implementation of quality programs 5%
Use of classes and basic class design 8%
Selection statements 5%
Formatted I/O and the use of files 5%
Pointers and run-time memory allocation 7%
Use of arrays 7%
Use of development environments 3%
Debugging skills 7%
Interfacing to software library functions 3%
Practical use of concepts described in learning objectives 20%

Return to course list