Enrolment options
Course Description
This course is designed to transition C programmers to the Python programming language. It is designed for students with little programming experience and aims to develop foundational skills in problem solving, algorithmic thinking, and software development using Python. The course progresses from the very basics of computing and Python syntax through to data structures, file handling, error handling, and an introduction to object-oriented programming.
Students will write, test, and debug Python programs throughout the course, gaining hands-on experience in each topic area. The course culminates in an end-of-course project in which students plan, design, and implement a working Python application, bringing together all skills acquired during the semester.
By the end of this course, students will have the confidence and competence to write structured, readable, and functional Python programs and to continue into more advanced programming courses.
Course Aims and Objectives
This course aims to:
i. Introduce students to computer programming concepts and the Python programming language.
ii. Develop students' ability to design algorithms and translate them into working Python programs.
iii. Build proficiency in Python's core constructs including variables, control flow, functions, and data structures.
iv. Equip students with skills in file handling, exception management, and basic debugging.
v. Provide a foundation in object-oriented programming principles using Python.
vi. Prepare students for advanced programming courses through a practical, project-based final assessment.
Course Learning Outcomes
Upon completion of this course, students will be able to:
i. Set up a Python development environment and write, run, and debug Python programs.
ii. Use Python's data types, variables, and operators to construct correct expressions and statements.
iii. Apply control structures and loops to manage program flow and process data iteratively.
iv. Define and use functions, including lambda functions, and organise code using modules.
v. Work with Python's built-in data structures: lists, tuples, sets, and dictionaries.
vi. Perform string manipulation, file handling, and data parsing across text, CSV, and JSON formats.
vii. Implement exception handling to write robust and error-tolerant programs.
viii. Apply basic object-oriented programming concepts to design and implement Python classes.
Plan, design, and implement a complete Python application as a final course project.
- Lecturer: David Sabiiti Bamutura
