top of page

These tasks were created as part of the Advanced Programming course at the Ben-Gurion University of the Negev.

bash.jpg
1537294.png
fe604c386cbe5de093a44ac6584be8c4.jpg

The Advanced Programming course goes over C programming, by focusing on abstract data types including the main components, structureslinked listsmodules, memory managementfile handling, and the compilation process... In addition, C++ programming principles and mechanisms like encapsulation, inheritance, polymorphismgeneric programming, and templates were taught. The course also teaches script languages as another approach to programming.

shutterstock_1150396166_edited.jpg

Bash script that tracks the changes in a specified folder. The script receives a single parameter at a time - this parameter is the absolute path of the folder that we want to follow.

736sm7xudsi21.png_width=640&crop=smart&auto=webp&s=2a40220768c5c91b095dc43349983eff1ed7af0

Create a world atlas that contains countries, cities and information about them. The script receives two parameters

1. Number of countries (the number of countries that should be read from the countries file)
2. Configuration file path (contains countries and cities that should be in the system).

Explanation about the entities in the system:

  • Country: Every country has a name, geographical area, number of cities that it contains and a list of those cities.

  • City: Every city has a name, number of residents and a popular food.

  • Geographical Area: Two coordinates - the first coordinate (x1,y1) represents the upper left point, and the second coordinate represents the lower right point.

ezgif-5-ddcbaea05b.gif

Generic ADT that help us with the worldAtlas (Part A Repository).

  • Generic LinkedList: Supports the following functions: create, destroy, append node, delete node, display list, search for node.

  • Generic KeyValuePair: Supports the following functions: create, destroy, displayValue, displayKey, getValue, getKey, isEqualKey.

  • Generic HashTable that contains keyValuePair: Collisions treated with chaining. Supports the following functions: create, destroy, add pair, lookup for pair, remove pair, display elements.

Data_image.png_x61433.png
Data Structures.png

Employee management system. This project contains two calsses:

  1. Employee - contains the employee information (first name, ID, salary).

  2. DataBase - manages the employees, Supported functionalities: find employee by ID, add employee, remove employee, display all employees.

Operators Overriding examples:

  • '==' equals operator - two employees are equals if they have the same ID.

  • '>' greater than opeartor - one employee is greater than the other when his salary is greater then the other one.

  • '=' operator - change only the employee first name.

A project that simulates the game "Heroes of Might and Magic" using CLI. The project is written in C++ and it focuses on Object-Oriented principles, generic programming, inheritance, polymorphism, and exception handling.

d8e90ri-a38e0246-601e-4efa-896e-dbceb42bdc4c.png_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ
bottom of page