Skip to content

Latest commit

 

History

History
31 lines (31 loc) · 1.71 KB

README.md

File metadata and controls

31 lines (31 loc) · 1.71 KB

Programming Languages 1 (6th Semester)

National and Technical University of Athens - School of Electrical and Computer Engineering


The purpose of this course is the understanding of the core fundamentals and concepts of Programmic Languages design. Some of the topics examined are:

  • Syntactic Analysis
  • Functional Programming
  • Types and Type Inference
  • Variable Scope
  • Memory Management and Activation Records
  • Object Oriented Programming
  • Exceptions
  • Parameter Passing
  • Logical Programming

This repo is dedicated to the assignments of the course, in which we had to implement algorithms in the following programming languages:

  • C++
  • SML-NJ
  • Java
  • SWI-Prolog

Following up, we present the problems and the languages used for each one:

  • Skitrip (C++, SML-NJ and SWI-Prolog)

    Problem: Given a list of numbers, find the longest interval for which the left bound number is smaller than the right bound number.

  • Spacedeli (C++ and SML-NJ)

    Problem: Apply Dijkstra's algorithm for finding the shortest path and distance between two nodes. In this problem, the graph needed to have 2 levels and the weights of the edges were all equal to 1.

  • Villages (SML-NJ and Java)

    Problem: Apply Union-Find algorithm to count the groups of nodes in a graph.

  • Moredeli (SML-NJ, Java and SWI-Prolog)

    Problem: Apply Dijkstra's algorithm to find the shortest path and distance between two nodes. In this problem, the graph had 1 level and the weights of the edges were not equal.

  • Hopping (C++ and SWI-Prolog)

    Problem: The problem supposes that we have a ladder with broken steps and a set $S$ of possible steps we can make. We have to find with how many different ways, one can climb that stair.