This document outlines the course objectives and units for GE3151 Problem Solving and Python Programming. The course aims to teach students algorithmic problem solving, Python programming using conditionals and loops, defining functions, and using Python data structures like lists, tuples and dictionaries. The 5 units cover computational thinking, Python data types and expressions, control flow and functions, lists and tuples, and files and modules. Upon completing the course students will be able to develop algorithmic solutions, write Python programs using conditionals and loops, decompose programs into functions, represent compound data, and read/write files in Python programs.