Logic and problem-solving are crucial competencies for software developers as they underpin the creation of efficient and functional code. This course will teach students logical steps and reasoning in problem-solving, critical thinking, flowcharting, and mathematical concepts and ideas which enable students to create robust and scalable software applications.