This course provides fundamental programming knowledge, offering students the foundational skills needed to develop algorithms and program solutions for real-world problems. Students will be able to analyze components, control structures, design flowcharts, and develop applications to solve practical problems. They will also be able to identify the strengths and weaknesses of algorithms, and from there, construct appropriate algorithms for programming tasks using a systematic approach. Additionally, the course covers basic concepts on how to develop algorithms, ranging from basic to advanced levels.