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
- Host: GitHub
- URL: https://github.com/guidonunes/the-odin-project--ruby-projects
- Owner: guidonunes
- Created: 2024-02-22T19:14:41.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-27T14:34:14.000Z (almost 2 years ago)
- Last Synced: 2025-09-23T17:55:04.700Z (10 months ago)
- Topics: ruby, rubyonrails
- Language: Ruby
- Homepage: https://www.theodinproject.com/paths/full-stack-ruby-on-rails/courses/ruby
- Size: 109 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.