The purpose of this course is to provide the beginning engineering student with an insight into how computers work. This will be done in two stages. Firstly, we will explore the underlying components of a computer and the way they carry out processes and instructions then look at using programming code to instruct a computer. Emphasis will be put on the application of computer programming not only in success stories in the software industry but also in familiar scenarios in business as well as engineering. Students will learn algorithmic problem-solving, coding, and debugging techniques. Students will write programs to solve simple problems drawn from a wide range of disciplines, primarily in the sciences and business. Zero computing background is assumed.