This course introduces students to concepts of problem solving using constructs of logic inherent in computer programming languages. Students study the nature of problems, common solution approaches and analysis techniques. Students use a flowchart interpreter to diagram problem solutions. Students learn the basics of computer programming by learning Python. Both Python scripts and flowcharts enable students to construct solutions to common algorithmic problems. The major emphasis is on teaching the student to identify solutions to a problem and translate them into various forms that will enable the computer to perform some of the steps in a solution of an actual problem instance. These forms include flowcharting tool, viewing generated software code and the basics of debugging the code. At the end of the class students will write a project Python scripts that demonstrates the students’ knowledge of all the basic programming concepts discussed in class (e.g., variables, conditions, loops, functions).