Fundamental principles and computer components, concepts and methods of programming with emphasis on applications in engineering, basic problem solving and programming techniques, fundamental algorithms and data structures, and use of programming logic in solving problems.