Skip to content

abhx7/Crypto-Trading-Platform-using-Cpp

Repository files navigation

Object-Oriented Programming in C++ Specialization

Overview

This repository contains resources, notes, and project examples for the Object-Oriented Programming in C++ Specialization offered by the University of London on Coursera. This specialization teaches the fundamentals of C++ programming and object-oriented design through a practical approach, culminating in a simplified cryptocurrency trading platform project.


Specialization Structure

The specialization consists of 5 courses, each building on the previous one to develop a comprehensive understanding of C++ programming and object-oriented principles.

1. Introduction to Object-Oriented Programming in C++

  • Description:
    Learn the basics of programming in C++ and start your journey toward building a cryptocurrency trading platform.
  • What You'll Learn:
    • Write, compile, and run a C++ program that takes user input and prints messages to the console.
    • Use loops and if statements to create an interactive menu system.
    • Develop a simplified cryptocurrency trading platform (early stages).
  • Skills:
    • Syntax
    • Iteration
    • Compiler usage
    • Exception handling

2. C++ Programming: Classes and Data

  • Description:
    Dive deeper into C++ by understanding how to model real-world entities using classes and manage data effectively.
  • What You'll Learn:
    • Design and implement classes to model objects.
    • Understand and apply encapsulation.
    • Work with constructors, destructors, and memory management.
  • Skills:
    • Object-oriented design
    • Encapsulation
    • Memory management

3. Object-Oriented Programming in C++: Functions

  • Description:
    Explore advanced function features in C++, including overloading, templates, and lambda functions.
  • What You'll Learn:
    • Create reusable, generic code using function templates.
    • Implement operator overloading for custom classes.
    • Understand the role of member functions in object-oriented design.
  • Skills:
    • Function templates
    • Operator overloading
    • Lambda functions

4. Working with Objects in C++

  • Description:
    Focus on building and manipulating objects effectively, ensuring clean and reusable code.
  • What You'll Learn:
    • Work with complex object interactions and relationships.
    • Implement inheritance and polymorphism in your classes.
    • Apply object-oriented programming principles to design modular systems.
  • Skills:
    • Inheritance
    • Polymorphism
    • Modular programming

5. Use C++ to Build a Crypto Trading Platform: Final System

  • Description:
    Bring together everything you’ve learned in the specialization to design and implement a fully functional cryptocurrency trading platform.
  • What You'll Learn:
    • Integrate classes, functions, and data structures into a cohesive project.
    • Handle user input, manage transactions, and simulate market data.
    • Optimize your code for performance and maintainability.
  • Skills:
    • Project integration
    • Performance optimization
    • Full-stack development (C++)

Project: Cryptocurrency Trading Platform

This specialization revolves around designing a simplified cryptocurrency trading platform. By the end of the program, you will have built a fully functional system capable of:

  • Handling user input via an interactive menu.
  • Managing bids, asks, and transactions.
  • Displaying market statistics and simulating a trading environment.

How to Use This Repository

Structure

This repository is organized into directories for each course:

  • Course_1_Introduction: Beginner-level concepts, menu systems, and initial trading platform code.
  • Course_2_Classes_and_Data: Class design, data encapsulation, and memory management.
  • Course_3_Functions: Advanced function implementations like templates and operator overloading.
  • Course_4_Objects: Inheritance, polymorphism, and modular programming examples.
  • Course_5_Final_Project: The complete cryptocurrency trading platform code.

Learning Outcomes

By completing this specialization, you will:

  1. Understand the core principles of C++ programming and object-oriented design.
  2. Be proficient in writing modular, reusable, and maintainable code.
  3. Gain experience with data structures, algorithms, and design patterns.
  4. Develop a portfolio-worthy capstone project.

Why C++?

  • High Performance: C++ is widely used in systems programming, game development, and high-performance applications.
  • Versatility: It supports procedural, object-oriented, and generic programming paradigms.
  • Industry Relevance: Many legacy and modern systems are built on C++.

About the University of London

The University of London is one of the world's leading universities, renowned for its excellence in teaching and research. This specialization is part of their commitment to providing accessible, high-quality education in the rapidly evolving field of computer science.


Course Projects

This repository includes:

  • Sample codes and notes from each course.
  • Projects and exercises demonstrating key concepts.

Resources


Installation and Usage

Prerequisites

  • C++ Compiler (e.g., GCC, Clang, or MSVC)
  • CMake (optional, for build automation)

Build Instructions

  1. Clone the repository:
    git clone https://github.com/your-repo/MerkelMain.git
    cd MerkelMain

About

Object-Oriented-Programming-in-C++-Specialisation--Coursera

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages