2 YR ORDINARY DIPLOMA IN SOFTWARE DEVELOPMENT
Course Duration: 2 Years (4 semesters, including holidays and attachment)
Course Fee: 30,000 Kenyan Shillings per semester (each semester takes 3 months)
weekly commitment : minimum of 2hrs per day
Course Overview:
This course provides comprehensive training in software development, from basic programming to advanced topics in web and mobile app development. Students will gain practical skills and experience through hands-on projects and exercises.
Year 1
Semester 1: Introduction to Software Development
- Week 1-2: Basics of Software Development
-
- Overview of Software Development
- Setting Up Development Environment
- Introduction to Programming Languages
- Writing Your First Program
- Week 3-6: Programming Fundamentals
-
- Variables and Data Types
- Control Structures (if, else, loops)
- Functions and Modules
- Practical Exercises
- Week 7-10: Data Structures and Algorithms
-
- Introduction to Data Structures
- Arrays, Lists, and Stacks
- Basic Algorithms (Searching and Sorting)
- Mini Project
- Week 11-14: Object-Oriented Programming (OOP)
-
- Introduction to OOP Concepts
- Classes and Objects
- Inheritance and Polymorphism
- Practical Exercises
- Week 15-16: Semester Review and Assessment
-
- Review of Key Concepts
- Practice Problems
- Mid-Semester Exam
Semester 2: Advanced Programming Concepts
- Week 1-4: Advanced Data Structures
-
- Linked Lists, Trees, and Graphs
- Advanced Algorithms (Dynamic Programming)
- Algorithm Analysis (Big O Notation)
- Practical Exercises
- Week 5-8: Software Development Methodologies
-
- Agile and Scrum Methodologies
- Software Development Life Cycle (SDLC)
- Version Control Systems (Git)
- Mini Project
- Week 9-12: Web Development
-
- Introduction to Web Technologies (HTML, CSS, JavaScript)
- Building Dynamic Web Applications
- Introduction to Web Frameworks (e.g., Flask, Django)
- Practical Exercises
- Week 13-14: Mobile Application Development
-
- Basics of Mobile App Development
- Developing for Android and iOS
- Cross-Platform Development Tools
- Practical Exercises
- Week 15-16: Semester Review and Assessment
-
- Review of Key Concepts
- Practice Problems
- End-of-Semester Exam
Year 2
Semester 3: Intermediate Software Development
- Week 1-4: Database Management
-
- Introduction to Databases (SQL and NoSQL)
- SQL Queries and Operations
- Database Design and Normalization
- Practical Exercises
- Week 5-8: Advanced Web Development
-
- Full Stack Web Development
- Front-End Frameworks (e.g., React, Angular)
- Back-End Frameworks (e.g., Node.js, Django)
- Mini Project
- Week 9-12: Cloud Computing and DevOps
-
- Introduction to Cloud Computing
- Cloud Service Models (IaaS, PaaS, SaaS)
- DevOps Practices (CI/CD, Containerization)
- Practical Exercises
- Week 13-14: Software Security
-
- Introduction to Software Security
- Secure Coding Practices
- Common Vulnerabilities and Their Mitigation
- Practical Exercises
- Week 15-16: Semester Review and Assessment
-
- Review of Key Concepts
- Practice Problems
- Mid-Semester Exam
Semester 4: Advanced Software Development and Special Topics
- Week 1-4: Artificial Intelligence and Machine Learning
-
- Introduction to AI and ML
- Basic Machine Learning Algorithms
- Data Analysis with Python (Pandas, NumPy)
- Mini Project
- Week 5-8: Emerging Technologies
-
- Introduction to Blockchain Technology
- Basics of IoT (Internet of Things)
- Introduction to Augmented Reality (AR) and Virtual Reality (VR)
- Practical Exercises
- Week 9-12: Capstone Project
-
- Project Planning and Design
- Implementation of Learned Concepts
- Testing and Debugging
- Final Presentation and Code Review
- Week 13-16: Course Review and Final Exam
-
- Comprehensive Course Review
- Practice Problems
- Final Exam
Attachment
During the course, students will undertake a mandatory industrial attachment to gain real-world experience in software development. This attachment will enable students to apply theoretical knowledge in practical settings, enhancing their skills and employability.
Certification
Upon successful completion of the course, students will receive an "Ordinary Diploma in Software Development" certificate, recognizing their expertise and skills in software development.