Skip to content

bruceli-rw0/udacity-cpp

Repository files navigation

Udacity - C++ Nanodegree

Project

  1. A* Search
    • Implementing A* search algorithm
    • Contribution:
      • 0_A_star/main.cpp
  2. Route Planner
    • Implementing A* search algorithm to find shortest path between two points on a map
    • Contribution:
      • 1_route_planner/src/route_planner.cpp
  3. Process Monitor
    • Building a process monitor, similar to htop in Linux
    • Contribution
      • 2_process_monitor/src/linux_parser.cpp
      • 2_process_monitor/src/system.cpp
      • 2_process_monitor/src/process.cpp
      • 2_process_monitor/src/processor.cpp
      • 2_process_monitor/src/format.cpp
  4. Optimizing Chatbot
    • Analyzing and modifying an existing ChatBot program with modern C++ memory management techniques, e.g. using smart pointers and the rule of five.
    • Contribution
      • 3_optimizing_chatbot/src/chatgui.cpp
      • 3_optimizing_chatbot/src/chatbot.cpp
      • 3_optimizing_chatbot/src/chatlogic.cpp
      • 3_optimizing_chatbot/src/graphnode.cpp
      • 3_optimizing_chatbot/src/graphedge.cpp
  5. Concurrent Traffic Simulation
    • Building a suitable and thread-safe communication protocol between vehicles, intersections, and traffic light to run a traffic simulation.
    • Contribution
      • 4_concurrent_traffic_simulation/src/TrafficObject.cpp
      • 4_concurrent_traffic_simulation/src/Vehicle.cpp
      • 4_concurrent_traffic_simulation/src/Intersection.cpp
      • 4_concurrent_traffic_simulation/src/TrafficLight.cpp
  6. Neural Network from Scratch
    • Implementing both the forward and backward pass of the Linear and ReLU layers for feedforward neural network.
    • Trained a 3-layer neural network to perform classification on Fashion-MNIST dataset