Programming Techniques And Algorithms

Course Code:



2nd Semester

Specialization Category:


Course Hours:




Course Tutors

Kesidis Anastasios


The objectives of this course are:

  • introduction to advanced programming techniques
  • demonstration of methods and techniques for effective data management, analysis and visualization
  • development of integrated applications and user interfaces
  • understanding the structure of algorithms and their complexity
  • algorithm design methodologies based on different algorithmic approaches

Upon successful completion of the course the student will be able to:

  • design and implement software applications that process and / or visualize data
  • processes complex structures and data sources
  • select the most appropriate problem depending technique (e.g. sorting or searching)
  • evaluate algorithmic solutions by estimating their complexity and identifying the factors that affect the performance of the algorithm
  • develop modern applications utilizing the capabilities of software environment


General Competences

  • Search, analysis and synthesis of data and information, using the appropriate technologies
  • Promotion of creative and inductive thinking
  • Autonomous work
  • Team work



Functions. Scope and visibility of functions. Recursive functions. Functions and tables. Vectors, Tables, arrays and operations. Strings and text manipulation. Advanced indexing techniques. Design and analysis of algorithms. Complexity. Sorting and searching techniques. Algorithmic performance comparison. Basic data structures and representation. File manipulation of binary and text files. Graphics and visualization techniques in two and three dimensions. User interfaces. Applications in Topography and Geoinformatics.



I. Written final examination that includes:
– Short answer questions
– Problem solving
II. Midterm written examinations
III. Projects

The examination material and the evaluation process are announced to the students during the lectures and are also posted on the course’s website.



In Greek:
1. Charles F. Van Loan & K-Y Daisy Fan, 2012. Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία, Εκδόσεις DaVinci. In greek
2. Χατζίκος Ε., 2016. Matlab για επιστήμονες και μηχανικούς, Εκδόσεις Τζιόλα.

In English
3. Gilat Α., 2008. Matlab: An Introduction with Applications, John Wiley.
4. Moore H., 2017. MATLAB for Engineers, Pearson.