Description:

The Computer Basics module introduces students to the fundamental concepts of computing, providing a solid foundation in hardware, software, and essential digital skills. This module covers the basic components of a computer system, operating systems, file management, word processing, internet usage, and cybersecurity awareness.

Students will learn how to operate a computer, navigate different software applications, and apply essential ICT skills in personal and professional environments. The course also emphasizes problem-solving, digital communication, and safe computing practices.

Key Topics Covered:

  • Introduction to Computers – Definition, history, and importance of computers.

  • Computer Hardware and Software – Understanding components such as CPU, memory, storage, input/output devices, and types of software.

  • Operating Systems and File Management – Navigating Windows, macOS, or Linux and managing files effectively.

  • Basic Word Processing and Office Applications – Creating and formatting documents, spreadsheets, and presentations.

  • Internet and Email Usage – Browsing the web, conducting research, and using email for communication.

  • Introduction to Cybersecurity – Safe internet practices, protecting personal data, and recognizing cyber threats.

  • Basic Troubleshooting Techniques – Identifying and resolving common computer issues.

By the end of this module, students will develop practical computing skills essential for academic, professional, and everyday use.

Course code: CSE 1201

Course credit: 10

Pre-requisites: None

Academic year: 2024-2025

Lecturer: CHEBET K ASUMANI

MOBILE: 0786555370

EMAIL: ckasumani@gmail.com

               ckasumani@eaur.ac.rw

Course Objectives:

By the end of this module, students should be able to:

  1. Understand the Fundamentals of Computers – Explain the basic concepts, history, and significance of computers in modern society.

  2. Identify Computer Hardware Components – Describe the functions of essential computer parts such as the CPU, RAM, storage devices, and peripherals.

  3. Differentiate Between Hardware and Software – Understand the role of operating systems, application software, and system utilities.

  4. Navigate an Operating System Efficiently – Perform basic tasks such as file management, system settings, and software installation.

  5. Utilize Word Processing Software – Create, format, and edit documents using word processors.

  6. Use Spreadsheet Applications for Basic Data Management – Input, organize, and analyze data using spreadsheets.

  7. Develop Basic Presentation Skills – Create and deliver multimedia presentations using presentation software.

  8. Access and Use the Internet Effectively – Browse the web safely, conduct online research, and communicate via email.

  9. Apply Cybersecurity Best Practices – Recognize online threats such as phishing, malware, and data breaches and implement safe computing habits.

  10. Troubleshoot Basic Computer Issues – Identify and resolve simple hardware and software problems.

This module aims to equip students with essential digital literacy and computing skills required for academic, professional, and personal use in today's digital world.

Course Learning Outcomes:

By the end of this module, students will be able to:

  1. Explain the Basic Concepts of Computing – Define key computer-related terms and describe the role of computers in various fields.

  2. Identify and Describe Computer Hardware Components – Understand the functions of essential computer parts, including input, output, processing, and storage devices.

  3. Differentiate Between Hardware and Software – Explain the roles of operating systems, application software, and system utilities.

  4. Navigate an Operating System Efficiently – Perform essential tasks such as file management, software installation, and system customization.

  5. Create and Edit Documents Using Word Processing Software – Format, save, and print documents effectively.

  6. Utilize Spreadsheet Software for Basic Data Management – Input, organize, and analyze data using fundamental spreadsheet functions.

  7. Develop and Deliver Basic Presentations – Create slideshows incorporating text, images, and animations.

  8. Access and Use the Internet Safely and Effectively – Conduct online research, send and receive emails, and practice responsible internet usage.

  9. Apply Basic Cybersecurity Principles – Identify and mitigate common online threats such as phishing, malware, and unauthorized access.

  10. Troubleshoot Simple Computer Issues – Diagnose and resolve basic hardware and software problems.

This module provides students with foundational computing skills, enabling them to use digital tools efficiently in academic, professional, and everyday settings.


Description:

Object-oriented programming (OOP) has proven to be a good model for many modern applications. OOP languages are used to develop games, mobile apps, and websites. C++ is a powerful and flexible programming language that supports OOP principles allowing you to design and implement modular and reusable code structures.
This course is designed for you to gain the necessary skills and knowledge to design and develop software systems using object-oriented programming techniques in C++. First, you will learn the basics of object-oriented programming. Then, you will learn advanced OOP concepts and how to implement them using C++ code.
This course includes a hands-on lab exercise that will allow you to apply the concepts you have learned and help you develop your problem-solving and programming skills.

Course code: CSE 2104

Course credit: 10

Pre-requisites: None

Academic year: 2024-2025

Lecturer: CHEBET K ASUMANI

MOBILE: 0786555370

EMAIL: ckasumani@gmail.com

               ckasumani@eaur.ac.rw

Course Objectives:

By the end of this module, students should be able to:

  1. Understand the Principles of Object-Oriented Programming (OOP) – Grasp core concepts such as classes, objects, inheritance, polymorphism, encapsulation, and abstraction.

  2. Develop Proficiency in C++ Syntax and Semantics – Learn the structure of C++ programs, including data types, control structures, functions, and arrays.

  3. Create and Use Classes and Objects – Design and implement user-defined types using classes and effectively manage object creation and manipulation.

  4. Apply Constructors and Destructors – Understand and use constructors and destructors for efficient object lifecycle management.

  5. Implement Inheritance and Polymorphism – Utilize base and derived classes to promote code reuse and develop flexible, extensible programs.

  6. Demonstrate the Use of Operator and Function Overloading – Enhance code readability and usability through overloading techniques.

  7. Manage Data through Encapsulation and Access Specifiers – Secure class data using private, public, and protected access levels.

  8. Understand and Use File Handling in C++ – Perform basic file operations for reading from and writing to files.

  9. Apply OOP Concepts to Real-World Problems – Solve programming challenges and model real-life situations using C++.

  10. Build Robust, Maintainable, and Reusable Code – Develop software solutions that are efficient, well-structured, and maintainable using object-oriented programming techniques.

This module prepares students to develop applications using C++ with a strong emphasis on object-oriented design and best practices in software development.

Course Learning Outcomes:

By the end of this module, students will be able to:

  1. Explain the fundamental principles of Object-Oriented Programming (OOP) including encapsulation, inheritance, polymorphism, and abstraction.

  2. Write and execute C++ programs that demonstrate the use of basic syntax, variables, data types, operators, control structures, and functions.

  3. Design and implement classes and objects in C++ to model real-world entities and scenarios.

  4. Use constructors and destructors effectively to manage the initialization and cleanup of objects.

  5. Apply inheritance and polymorphism to create reusable and extendable code structures.

  6. Perform operator and function overloading to enhance the usability and flexibility of C++ classes.

  7. Utilize access specifiers (public, private, protected) to implement data hiding and control access to class members.

  8. Manipulate data using arrays, pointers, and dynamic memory allocation in C++ programs.

  9. Implement basic file I/O operations in C++ for reading from and writing to text or binary files.

  10. Solve programming problems using OOP techniques and develop structured, maintainable, and reusable C++ code for various applications.

These outcomes ensure that students gain both theoretical understanding and practical skills in applying object-oriented programming concepts using C++.