Understanding the language, grammar and syntax of a programming language is key to the application of that language in solving programming problems. All programming languages have been created around a fundamental set of language theories and conventions. This course introduces the student to theory and practice of programming and programming logic. This course does not introduce the student to a specific programming language but rather to the basic language, grammatical, and syntactical constructs and logic found in all programming languages. Students will solve programming problems using pseudo-code.