Skip to content

moshenetsb/effective-programming-techniques

Repository files navigation

🚀 Effective Programming Techniques

Repository containing academic assignments focused on advanced C++ programming, including memory management, data structures, modern C++ features, and a mini-project implementing a Genetic Algorithm for optimization.


📌 Project Overview

This repository documents practical exercises completed during university coursework.
It focuses on building a strong understanding of low-level and modern C++ concepts.


🧠 Topics & Assignments

1–2: Pointers and Memory Management

  • raw pointers usage
  • dynamic memory allocation (new / delete)
  • pointer arithmetic
  • avoiding memory leaks
  • understanding memory ownership

3–4: Tree Data Structures in C++

  • implementation of tree structures
  • dynamic node management
  • recursive operations on trees
  • working with hierarchical data

5: Modern C++ – Move Semantics & Smart Pointers

  • move constructor and move assignment
  • rvalue references
  • std::unique_ptr
  • std::shared_ptr

🧬 Mini Project: Genetic Algorithm

Implementation of a Genetic Algorithm to solve the special version Travelling Salesman Problem.

Key elements:

  • chromosome representation of routes
  • population initialization
  • fitness function (total path distance)
  • selection
  • crossover
  • mutation
  • iterative improvement over generations

🧱 Tech Stack

  • C++ (C++14; C++17)
  • Standard Template Library (STL)
  • Object-Oriented Programming (OOP)

🧠 Skills Demonstrated

  • low-level memory management in C++
  • understanding of pointers and ownership
  • implementation of data structures (trees)
  • usage of modern C++ features
  • algorithm design and optimization techniques
  • writing modular and maintainable code

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages