The Context of Software Development: Learning Programming with Python, Values and Variables: Integer and String Values, Identifiers, User Input, String Formatting, Expressions and Arithmetic: Expressions, Arithmetic Operators, Modulus and Floor Division, Assignment Operators, Built-in Math Functions, the math Module, the random Module, Seeding, Arithmetic Examples, Conditional Statements: Boolean expressions, If/Else statement, Other Conditional Expressions, Iteration: Loops, Using Functions: Introduction to Using Functions, Defining Functions, Functions and Modules, Function Basics, Parameter Passing, Custom Functions vs Standart Functions, Refactoring, Variable Scope- Global Variables, Making Functions Reusable,Functions as Data, Returning Values, Importing Modules, Objects: Using Objects, String, File Objects Function Parameters, Lists: Using Lists, Building Lists, List Traversal, Tuples, Dictionaries, and Sets: Storing Aggregate Data, Enumerating the Elements of a Data Structure, Class Design: Composition and Inheritance, Exception Handling: Wildcard except Clauses, Getting Information on Exceptions, The else Clause, The finally Clause, Using Exceptions for Flow Control, Exception Hierarchy, File Processing: operations on Files, The os and os.path Modules.
- Teacher: Mr. Ben Mariga
Overview of software reuse; Introduction to Software Reuse, Approaches to Architecture Reuse, Examples of Software Component Reuse, Software Design Concepts for Reuse, Information Hiding, Modularity. Technical issues in large-scale software reuse. Topics include architecture, design for reuse, model-driven development, components, frameworks, software agents, library design, reuse tools, patterns. opportunistic and systemic reuse; Reuse process and artifacts; Reuse model and domain engineering; structural modeling and reusable components; Analysis and construction methods; Classification and integration; quality of the component; COTS issues and selection; Commercial components; Scale of software reuse; Storing and retrieving components; Component and connector types; Integration issues and solutions.
- Teacher: Kengere Kibwage
The topics related to the software development models that are used to support component-based software systems. Introduction to Component Model Common Software Engineering Architecture Patterns, Server-side software design; an overview of an MVC-based Web development framework (struts2.0), Enterprise JavaBeans (EJB 3.1), Java Persistence API (JPA 2.0)/Hibernate, Web services (SOAP, RESTful), and a basic introduction of Spring framework.
- Teacher: Kengere Kibwage
THIS COURSE COVERS ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING ALGORITHMS AND IMPLEMENTS MACHINE LEARNING SYSTEMS EMBEDDED WITH AI APPLICATIONS
- Teacher: Ms Teresa Kwamboka

The topics related to the software development models that are used to support component-based software systems. Introduction to Component Model Common Software Engineering Architecture Patterns, Server-side software design; an overview of an MVC-based Web development framework (struts2.0), Enterprise JavaBeans (EJB 3.1), Java Persistence API (JPA 2.0)/Hibernate, Web services (SOAP, RESTful), and a basic introduction of Spring framework.
- Teacher: Kengere Kibwage