PROFICIENCY ENTRY LEVEL DIPLOMA COURSE IN PROGRAMMING
PROFICIENCY ENTRY LEVEL DIPLOMA COURSE IN PROGRAMMING
Course Duration and Cost
- Total Duration: 18 to 24 weeks (4 to 6 months)
- Commitment: 2 hoursĀ or 4 hours per day
- Course tuition Fee: 30,000 Kenya Shillings
Course Overview
This Entry level diploma course focuses on equipping participants with fundamental to advanced skills in programming. Participants will learn the core concepts of, including variables, data types, control flow, functions, and object-oriented programming (OOP). The course covers practical applications such as program and system development, data analysis, automation, and more, preparing individuals for roles in Programming, software development and data science.
Course Outline
Month 1: Introduction to Programming Basics
Week 1: Introduction to Computers & Programming Concepts
- Understanding hardware vs. software
- What is programming?
- Introduction to algorithms and flowcharts
- Installing development tools (IDEs, text editors)
Week 2: Basics of Programming with Python
- Introduction to Programming languages (C,C#,Python, Java etc)
- Variables, data types, and basic operations
- Input/output operations
- Writing and running your first program
Week 3: Control Structures
- Conditional statements (if, else, elif)
- Logical operators
- Practical exercises with decision-making logic
Week 4: Loops & Iterations
- for and while loops
- Nested loops
- Break and continue statements
- Loop-based problem-solving exercises
Month 2: Data Structures & Algorithms Basics
Week 5: Functions & Modular Programming
- Defining and calling functions
- Function arguments and return values
- Scope and lifetime of variables
- Introduction to recursion
Week 6: Working with Data Structures
- Lists, tuples, and sets
- Basic operations on data structures
- List comprehensions in Python
Week 7: Dictionaries & File Handling
- Understanding dictionaries (key-value pairs)
- Reading from and writing to files
- Handling different file formats (CSV, TXT)
Week 8: Introduction to Algorithms
- Sorting algorithms (Bubble Sort, Insertion Sort)
- Searching algorithms (Linear Search, Binary Search)
- Time complexity basics (Big O notation)
Month 3: Object-Oriented Programming (OOP)
Week 9: Introduction to OOP Concepts
- Classes and objects
- Attributes and methods
- The self keyword
Week 10: Advanced OOP Concepts
- Inheritance
- Polymorphism
- Encapsulation and abstraction
Week 11: Error Handling & Debugging
- Exception handling (try, except, finally)
- Debugging techniques and tools
- Writing test cases
Week 12: Mid-term Project 1 (Mini Project)
- Develop a small application (e.g., a to-do list app, calculator, or simple game)
- Apply concepts learned so far
- Present and review code with peers
Month 4: Web Development Basics
Week 13: Introduction to Web Development
- Understanding how the web works (HTTP, browsers, servers)
- Introduction to HTML and CSS
- Building basic static web pages
Week 14: JavaScript Basics
- Introduction to JavaScript
- Variables, data types, and operators
- DOM manipulation basics
Week 15: Dynamic Web Pages with JavaScript
- Event handling
- Basic form validation
- Introduction to APIs and fetching data
Week 16: Introduction to Backend Programming (Flask/Django)
- Introduction to server-side development
- Setting up a basic Flask/Django app
- Routing and templates
Month 5: Databases & Full-Stack Development
Week 17: Introduction to Databases
- What is a database?
- Introduction to SQL
- CRUD operations (Create, Read, Update, Delete)
Week 18: Integrating Databases with Applications
- Connecting Python/Flask/Django apps to a database
- Using SQLite/MySQL
- Basic database-driven applications
Week 19: Full-Stack Application Development
- Combining front-end and back-end
- RESTful APIs
- Building simple full-stack applications
Week 20: Mid-term Project 2 (Web Application)
- Develop a small full-stack web application (e.g., blog, task manager)
- Focus on clean code and documentation
- Peer review and presentation
Month 6: Advanced Topics & Final Project
Week 21: Introduction to Version Control with Git
- What is version control?
- Setting up Git and GitHub
- Basic commands: clone, commit, push, pull, branch
Week 22: Introduction to Software Development Practices
- Agile methodologies
- Code documentation and commenting
- Testing strategies and tools
Week 23: Final Project Planning & Development
- Planning the final project (choose between web app, data analysis tool, or simple game)
- Project milestones and deadlines
- Individual or group work
Week 24: Final Project Presentation & Course Wrap-Up
- Final project submission and presentation
- Course review and next steps in programming
- Career guidance and certifications
Assessment & Evaluation
- Quizzes: Weekly short quizzes to assess understanding.
- Assignments: Practical assignments at the end of each module.
- Projects: Three key projects (mini app, web app, final project).
- Final Exam: Covering all concepts taught in the course.
Certification
Upon successful completion, students will receive a proficiency certificate in Python Programming.