In this course the student will learn the fundamentals of programming using the Python language. Python is used as a scripting language on Linux and as a scripting language for some applications that run on Linux. CSE-160 is also suitable to those that want some introductory Linux programming experience. This course is intended as an introduction to the core principles of programming. CSE-160 is recommended as a first course in programming for novice programmers before attempting C, C++, and Java. CSE-160 concentrates on basic principles of program design, structured programming, objects, and debugging. Using basic version control and testing for quality control will be covered. Some programs can be run on an embedded system as the Raspberry Pi to demonstrate the principles surrounding the Internet of Everything (IOE).