This course introduces concepts that are required to solve engineering problems using structured programming techniques. Students will develop a working knowledge of a high-level programming language, structured programming techniques, and the tools used in developing solutions to solve engineering problems. Emphasis will be placed on understanding the interaction of programs with the supporting hardware (program flow in memory, data usage in memory, pointers, and structures). Homework assignments will include moderate sized, multi-lecture programs. Many assignments will introduce concepts found in Electrical Engineering problems. A course project incorporating the major topics from the class may be included.