This course introduces problem solving techniques, critical thinking skills, algorithm development, and computer programming, using real-world problems. Topics include: computer literacy, hardware, data representation, structured and object oriented programming techniques, modularity and reusability, and testing and debugging techniques.