• school of computer science

    Welcome to your new Gnomio site

    Now, you are in control!

    Moodle is an open-source Learning Management System (LMS) that provides educators with the tools and features to create and manage online courses. It allows educators to organize course materials, create quizzes and assignments, host discussion forums, and track student progress. Moodle is highly flexible and can be customized to meet the specific needs of different institutions and learning environments.

    Moodle supports both synchronous and asynchronous learning environments, enabling educators to host live webinars, video conferences, and chat sessions, as well as providing a variety of tools that support self-paced learning, including videos, interactive quizzes, and discussion forums. The platform also integrates with other tools and systems, such as Google Apps and plagiarism detection software, to provide a seamless learning experience.

    Moodle is widely used in educational institutions, including universities, K-12 schools, and corporate training programs. It is well-suited to online and blended learning environments and distance education programs. Additionally, Moodle's accessibility features make it a popular choice for learners with disabilities, ensuring that courses are inclusive and accessible to all learners.

    The Moodle community is an active group of users, developers, and educators who contribute to the platform's development and improvement. The community provides support, resources, and documentation for users, as well as a forum for sharing ideas and best practices. Moodle releases regular updates and improvements, ensuring that the platform remains up-to-date with the latest technologies and best practices.

    Links of interest:

    (You can edit or remove this text)

Available courses

1.     Apply Communication Skills
ISCED Unit Code: 0031 441 01A
TVET CDACC Code: IT/OS/ICTA/BC/01/5/MA

meet your facilitator


2.     Contact Information
Trainer: Mr. Nickson Kiprono
Email: Nicksonkipro@gmail.com
Phone: 0723675374
3.     Unit Description
This unit covers the competencies required to apply communication skills across various workplace contexts. It includes communication channels, written communication, non-verbal communication, oral communication, and group communication.
4.     Elements and Performance Criteria
4.1 Apply communication channels
•     Identify and apply specific channels as per workplace requirements
•     Address challenges according to operational standards
•     Evaluate channels to meet workplace needs
4.2 Apply written communication skills
•     Identify and apply types of written communication
•     Implement written communication needs
•     Analyze, evaluate, and revise guidelines
4.3 Apply non-verbal communication skills
•     Identify and apply non-verbal techniques
•     Model techniques to enhance inclusivity
4.4 Apply oral communication skills
•     Identify and establish types and pathways
•     Review and maintain oral communication standards
4.5 Apply group communication skills
•     Apply group strategies
•     Organize groups
•     Use questioning, listening, and non-verbal techniques
•     Identify and address group communication challenges
5.     Range of Application
5.1 Communication strategies may include language switch, comprehension check, repetition, confirmation, paraphrasing, clarification, translation, restructuring, generalization
5.2 Effective group interaction may include active listening, appropriate behavior, cultural relevance, expressing perspectives and ideologies
5.3 Situations may include rapport building, eliciting information, resolving issues, developing action plans
6.     Required Skills and Knowledge
6.1 Required Skills: active listening, interpretation, negotiation, writing, oral skills, creative and critical thinking, decision making, analytical, innovation, conflict resolution, leadership, problem solving, management, organizational, teamwork
6.2 Required Knowledge: communication process, group dynamics, leadership styles, communication strategies, effective communication principles, turn-taking, conflict resolution, work planning and organization, company policies and procedures, workplace rights, hygiene, accountability, problem-solving
7.     Evidence Guide
7.1 Critical Aspects of Competency: apply communication channels, written and non-verbal strategies, oral pathways, and group strategies
7.2 Resource Implications: access to workplace or simulated environment, relevant resources
7.3 Methods of Assessment: observation, oral/written tests, interviews, portfolios, third-party reports, practical projects
7.4 Context of Assessment: on-the-job or simulated environments
7.5 Guidance: holistic assessment recommended with related units
8.     Objectives
This unit aims to equip learners with the competencies required to effectively apply communication skills in a workplace setting. The focus is on identifying and using appropriate communication channels, applying written, non-verbal, oral, and group communication techniques, enhancing inclusivity and clarity in workplace interactions, and addressing communication challenges.
9.     Requirements
To successfully undertake this unit, learners should demonstrate basic literacy and interpersonal skills, willingness to engage in group activities and discussions, and the ability to reflect on communication practices and adapt to workplace standards.
10.     Assignment and Grading
Assessment will be based on observation, oral and written assessments, portfolio of evidence, interviews, third-party reports, and practical projects. Grading will consider application of communication channels, effectiveness in written and oral communication, use of non-verbal cues and group strategies, and ability to identify and resolve communication challenges.

Data Communication and Networking is a foundational course that explores how digital devices exchange information across various transmission media and network architectures. It equips learners with the technical and conceptual skills needed to design, manage, and troubleshoot modern communication systems.
The course begins by introducing the basic concepts of data communication, including the definition of data, signals, transmission modes, and communication protocols. Learners explore how data is encoded, transmitted, and received between devices using analog and digital signals. The course emphasizes the importance of transmission media—such as coaxial cables, fiber optics, and wireless channels—and how they affect speed, reliability, and security.
A major focus is placed on network models, especially the OSI and TCP/IP reference models, which provide structured frameworks for understanding how data flows across networks. Students learn about the functions of each layer, from physical transmission to application-level services. The course also covers network topologies (such as star, bus, ring, and mesh), types of networks (LAN, MAN, WAN), and devices like routers, switches, hubs, and modems.
Protocols such as Ethernet, IP, TCP, UDP, and HTTP are studied to understand how data packets are formatted, addressed, routed, and delivered. Learners also explore error detection and correction techniques, flow control, and congestion management. Practical sessions often include configuring network devices, setting up local area networks, and using tools like Wireshark for packet analysis.
Security and ethical considerations are addressed, including encryption, firewalls, and secure communication practices. The course concludes with emerging trends such as cloud networking, mobile communication, and the Internet of Things (IoT), preparing learners for advanced studies or careers in IT, telecommunications, and cybersecurity.

Management Information Systems (MIS) is a vital course that introduces learners to the strategic role of information systems in modern organizations. It explores how data is collected, processed, stored, and used to support decision-making across various levels of management. The course begins by defining MIS and explaining its evolution, emphasizing its importance in enhancing efficiency, productivity, and competitiveness. Students learn about different types of systems such as Transaction Processing Systems (TPS), Decision Support Systems (DSS), and Enterprise Resource Planning (ERP), and how these systems integrate with business functions like finance, marketing, human resources, and production.
A key focus of the course is understanding the system development life cycle (SDLC), including planning, analysis, design, implementation, and maintenance of MIS solutions. Learners also examine the ethical and security challenges associated with managing digital information, such as data privacy, cyber threats, and responsible use of technology. Practical applications are emphasized through case studies, simulations, and hands-on activities using tools like spreadsheets, databases, and cloud-based platforms. The course concludes with a look at emerging trends in MIS, including artificial intelligence, mobile computing, and cloud services, preparing students to adapt to the evolving digital landscape. Through assessments such as exams, projects, and presentations, students demonstrate their ability to analyze, design, and evaluate MIS solutions that align with organizational goals.

syllabus: [click here]

Object-Oriented Programming (OOP) is a programming paradigm that structures software design around the concept of "objects," which are instances of "classes." A class serves as a blueprint that defines the properties (attributes) and behaviors (methods) of its objects. OOP promotes modularity, reusability, and scalability by encapsulating data and operations within these objects. Key principles of OOP include encapsulation, which restricts direct access to an object's internal state; abstraction, which hides complex implementation details and exposes only essential features; inheritance, which allows one class to derive properties and behaviors from another; and polymorphism, which enables objects to be treated as instances of their parent class, allowing for flexible and interchangeable code. These principles help developers build robust, maintainable, and intuitive software systems that mirror real-world entities and interactions.

syllabus: [click here]

An Operating System (OS) course introduces learners to the essential software that manages computer hardware and enables user interaction with digital systems. It covers both theoretical concepts and practical applications.
The course begins by defining the operating system as the core system software that controls and coordinates hardware components such as the CPU, memory, storage, and input/output devices. Students learn how the OS acts as an intermediary between users and hardware, providing services like file management, process scheduling, memory allocation, and device control. Key topics include types of operating systems (e.g., batch, time-sharing, distributed, real-time), system calls, user interfaces, and kernel architecture.
Learners explore how operating systems handle multitasking, concurrency, and resource sharing, ensuring efficient and secure operation of computer systems. Practical sessions may involve working with popular OS platforms like Windows, Linux, or Android, and understanding boot processes, command-line operations, and system configuration.
By the end of the course, students gain a solid foundation in how operating systems function, how they support application software, and how to troubleshoot basic OS-level issues. This knowledge is crucial for careers in system administration, software development, cybersecurity, and technical support.

SYLLABUS: [Click here]

total marks: 100

Course Title: Apply Computer Programming Principles

meet your facilitator


Trainer: Nickson Kiprono
 Email: nicskipro@gmacourse.gmail.com
Phone: +254 723 675 374

 Course Description:
This course equips learners with foundational and advanced programming skills aligned to the TVET CDACC competency-based framework. It covers structured and object-oriented programming principles, enabling participants to design, develop, debug, and compile software applications using modern programming paradigms and tools.
Learners will gain hands-on experience in applying programming languages, using design and writing tools, implementing control and data structures, and developing modular and object-oriented solutions.

 Course Objectives:
By the end of this course, learners will be able to:
•     Identify and apply appropriate programming languages and paradigms.
•     Use program design tools such as flowcharts, pseudocode, and algorithms.
•     Write, debug, and compile structured programs using control and data structures.
•     Implement object-oriented concepts including classes, inheritance, and polymorphism.
•     Apply software development methodologies and lifecycle principles.

 Course Requirements:
•     Basic computer literacy
•     KCSE certificate or equivalent
•     Access to a computer or laptop with programming tools (e.g., IDEs)
•     Willingness to engage in practical and theoretical learning

 Assignments:
Assignments will be issued after each module and may include:
•     Writing structured programs using loops, conditions, and arrays
•     Designing flowcharts and pseudocode for given problems
•     Creating object-oriented applications with classes and inheritance
•     Debugging and compiling code using IDEs
•     Group projects involving real-world software development scenarios

 Assignment and Grading:

Grading will be based on the following components:

Component

Weight (%)

Practical Programming Tasks

40%

Written Assessments

20%

Group Projects

20%

Final Competency Evaluation

20%

To be certified, learners must achieve a minimum of 60% overall and demonstrate competency in all performance criteria.