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.

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++.

Resources


Repository Structure (Yet to be done)

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.

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages