PROFICIENCY DIPLOMA IN SOFTWARE ENGINEERING
Total Duration: 4-6 months
Course Fee: 30,000 Kenyan Shillings
Weekly Commitment: minimum of 2 hours per day
Course Overview
The Proficiency Diploma in Software Engineering focuses on the principles and practices of software development. This program covers software design, programming languages, software testing, and project management. Students will gain practical skills in developing robust and scalable software applications, preparing them for roles as software developers, quality assurance engineers, and technical project managers.
Semester 1
Week 1: Introduction to Software Engineering
- Overview of software engineering principles
- Software development life cycle (SDLC)
Week 2: Fundamentals of Programming
- Basics of programming languages (e.g., Java, Python)
- Writing and executing simple programs
Week 3: Object-Oriented Programming
- Principles of OOP (encapsulation, inheritance, polymorphism)
- Designing and implementing classes and objects
Week 4: Data Structures and Algorithms
- Essential data structures (arrays, linked lists, stacks, queues)
- Algorithm design techniques and analysis
Week 5: Software Design and Architecture
- Design patterns and architectural styles
- UML diagrams and software modeling
Week 6: Version Control and Collaboration
- Using Git for version control
- Collaborative software development practices
Week 7: Web Development Basics
- Frontend vs. backend development
- Introduction to HTML, CSS, and JavaScript
Week 8: Database Management
- Relational database concepts and SQL fundamentals
- Database design and normalization
Week 9: Software Testing Fundamentals
- Principles of software testing
- Test planning, execution, and reporting
Week 10: Agile Methodologies
- Agile principles and Scrum framework
- Sprint planning and daily stand-ups
Week 11: Project Management Basics
- Overview of project management
- Planning and scheduling software projects
Week 12: Mid-Semester Review and Assessment
- Review of topics covered in the first semester
- Mid-semester exams and practical assessments
Semester 2
Week 13: Advanced Programming Concepts
- Advanced topics in programming languages (e.g., multithreading, lambda expressions)
- Implementing complex algorithms
Week 14: Software Quality Assurance
- QA processes and methodologies
- Automated testing tools (e.g., Selenium)
Week 15: Software Development Frameworks
- Introduction to frameworks (e.g., Spring, Django)
- Building applications with frameworks
Week 16: Cloud Computing and Deployment
- Cloud service models (IaaS, PaaS, SaaS)
- Deploying applications to cloud platforms
Week 17: Mobile Application Development
- Basics of mobile app development (Android/iOS)
- Cross-platform development frameworks (e.g., Flutter)
Week 18: Software Security Principles
- Secure coding practices
- Vulnerability assessment and mitigation
Week 19: Emerging Technologies
- Introduction to AI and machine learning in software engineering
- Blockchain and its applications in software development
Week 20: Final Project and Presentation
- Developing a software project from concept to deployment
- Project presentation and evaluation
Certification
Upon successful completion, students will receive a proficiency diploma in Software Engineering.