Xensen008 / 21_days_cpp_series

This GitHub repository documents my personal 21-day learning challenge, during which I will delve into the fundamentals and advanced concepts of the C++ programming language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

21-Day C Programming Language Learning Challenge

C++

Welcome to my 21-day learning challenge repository, where I embark on a journey to explore the fundamentals and advanced concepts of the C programming language. This challenge is designed to enhance my understanding of C and strengthen my programming skills over a three-week period.

Introduction

My solo 21-day challenge to deepen my understanding of C++. πŸš€πŸ’‘ This journey will be a celebration of learning, coding, and continuous improvement Every day, I'll immerse myself in different C++ topics, offering explanations, code snippets, and practical examples. This will serve as both a personal coding journal and an open resource for anyone looking to explore or learn alongside me.

GitHub Repository Updates

All code snippets and related materials will be documented in this GitHub repository. Feel free to explore, comment, or contribute. Let's make this repository a collaborative space for learning and sharing knowledge..

Structure of the Repository

/21-day-cpp-challenge: The root directory contains subdirectories for each day of the challenge, where you can find code implementations and detailed notes.

day-01/, day-02/, ...: Each day's directory further contains:

  • code/: Subdirectory housing the code snippets and programs written on that specific day.
  • notes.md: Markdown file providing insights, explanations, and any additional notes related to the day's topics.

resources/: This directory includes any supplementary materials, links, or documents that support the learning journey.

README.md: The main documentation file you are currently reading, which serves as a guide to the repository's content and the 21-day C++ learning challenge.

Daily Progress

Provide a daily log of your progress. Include details such as the topics covered, challenges faced, and any code written. This section serves as a journal of your learning journey.

Day 1: Variables and Data Types

  • Explore the main data types in C++ and understand how to declare and initialize variables of these types.
  • code Completed βœ… (10-01-2024)

Day 2: Input/Output (I/O)

  • Write a C++ program that takes two numbers as input and outputs their sum.
  • code Completed βœ… (11-01-2024)

Day 3: Conditional Statements

  • Understand the practical differences between 'if', 'else if', and 'else' statements.
  • code Completed βœ… (12-01-2024)

Day 4: Loops

  • All about loops in c++
  • code Completed βœ… (13-01-2024)

Day 5: Functions

  • Define a function in C++ that calculates the factorial of a given number.
  • code Completed βœ… (14-01-2024)

Day 6: Arrays

  • Illustrate the declaration and initialization of an integer array. Access and print its elements.
  • code Completed βœ… (15-01-2024)

Day 7: Pointers

  • Explore the purpose of pointers and provide an example of how pointers can be used in C++.
  • code Completed βœ… (16-01-2024)

Day 8: Strings

  • Concatenate two strings in C++ and understand the difference between C-style strings and C++ strings.
  • code Completed βœ… (17-01-2024)

Day 9: Structures

Create a structure representing a student with attributes like name, age, and grade.

  • code Completed βœ… (18-01-2024)

Day 10: Classes and Objects

  • Define a class 'Rectangle' with attributes length and width. Create an object and calculate its area.
  • code Completed βœ… (19-01-2024)

Day 11: Inheritance

  • Understand the concept of inheritance in C++ with an example involving a base class and a derived class.
  • code Completed βœ… (20-01-2024)

Day 12: Polymorphism

  • Demonstrate both compile-time and runtime polymorphism in C++.
  • code Completed βœ… (21-01-2024)

Day 13: File Handling

  • Write a program to read data from a file and display it on the console.
  • code Completed βœ… (22-01-2024)

Day 14: Exception Handling

  • Explore how exception handling contributes to robust code. Provide an example using try, catch, and throw.
  • code Completed βœ… (23-01-2024)

Day 15: Templates

  • Define a template function that swaps the values of two variables. Understand how to use this template with different data types.
  • code Completed βœ… (24-01-2024)

Day 16: STL (Standard Template Library)

  • Use a vector from the STL to store and display a list of names.
  • code Completed βœ… (25-01-2024)

Day 17: Iterators

  • Understand the role of iterators in C++ with respect to STL containers. Provide an example.
  • code Completed βœ… (26-01-2024)

Day 18: Smart Pointers

  • Compare unique_ptr and shared_ptr. Understand when to use one over the other.
  • code Completed βœ… (27-01-2024)

Day 19: Lambda Expressions

  • Write a lambda expression to find the square of a number.
  • code Completed βœ… (28-01-2024)

Day 20: Concurrency

  • Briefly describe the concept of concurrency in C++. Provide an example using threads.
  • code Completed βœ… (29-01-2024)

Day 21: Standard C++ Libraries

  • Explain the purpose of the iostream, cmath, and algorithm headers in C++.
  • Code Completed βœ… (30-01-2024)

Feel free to explore, contribute, or follow along on this 21-day C++ learning journey. πŸš€πŸ’»

Resources

This can include books, online courses, tutorials, or any other materials

Acknowledgements

If you received help or inspiration from others, acknowledge them in this section. It could be fellow learners, online communities, or mentors who have supported you during the challenge.

License

Specify the license for your code and content. If it's an open-source project, you might want to choose a license that aligns with your goals and intentions.

About

This GitHub repository documents my personal 21-day learning challenge, during which I will delve into the fundamentals and advanced concepts of the C++ programming language


Languages

Language:C++ 100.0%