An open API service indexing awesome lists of open source software.

https://github.com/guidonunes/the-odin-project--ruby-projects

The Odin Project - Ruby Path Curriculum
https://github.com/guidonunes/the-odin-project--ruby-projects

ruby rubyonrails

Last synced: 9 months ago
JSON representation

The Odin Project - Ruby Path Curriculum

Awesome Lists containing this project

README

          

# The Odin Project - Ruby

## Overview

This repository contains a collection of Ruby projects developed as part of The Odin Project's Ruby Curriculum. The curriculum focuses on diving deep into Ruby, covering key concepts such as object-oriented programming, data structures, algorithms, and testing. These projects serve as a hands-on approach to mastering Ruby and improving overall programming skills.

## Projects in this Repository

## 1.Caesar Cipher

* A simple encryption algorithm that shifts characters in a string by a specified number of positions.
* Key Concepts: String manipulation, loops, encryption basics.

## 2. Substrings

* A method to find how many times each substring appears in a given word or phrase from a provided dictionary.
* Key Concepts: Hashes, loops, string searching.

## 3. Stock Picker

* A program that determines the best days to buy and sell stocks to maximize profit.
* Key Concepts: Array manipulation, comparison logic.

## 4. Bubble Sort

* A Ruby implementation of the Bubble Sort algorithm, sorting an array by repeatedly swapping adjacent elements.
* Key Concepts: Sorting algorithms, nested loops.

## 5. Tic Tac Toe

* A command-line Tic Tac Toe game where two players can play against each other.
* Key Concepts: Object-oriented design, game logic, user input handling.

## 6. Mastermind

* A command-line version of the popular game Mastermind, where one player tries to guess the color combination set by the other player.
* Key Concepts: Arrays, loops, conditional logic.

## 7. Event Manager

* A program designed to help manage events by parsing and organizing CSV data, such as attendee details.
* Key Concepts: File I/O, CSV parsing, data processing.

## Learning Objectives

* By completing these projects, I gained a deep understanding of key Ruby programming concepts, including:

* Object-Oriented Programming (OOP): Understanding how to structure code into classes and objects, creating reusable and maintainable programs.

* Data Structures: Learning how to work with arrays, hashes, and custom data structures.

* Algorithmic Thinking: Developing problem-solving skills by implementing sorting algorithms, search methods, and game logic.

* File I/O: Working with files and external data formats (e.g., CSV) to manage and process data efficiently.

* Testing: Using Ruby's built-in testing libraries to write unit tests and ensure the reliability of code.