EPL035: Data Structures and Algorithms for ECE
by Demetris Zeinalipour
Department of Computer Science
University of Cyprus

Quick Links

CS Courses

EPL035 Syllabus Schedule Exercises Laboratory Links Books Colloquium T.A.


Instructor: Demetris Zeinalipour
(Email: dzeina@, Tel: 22-892755, Office Hours: Mon. 15:00-17:00, Room: B106, New Campus, UCY)
Type: Lower-division Undergraduate (Compulsory Course for All Directions in Electrical and Computer Engineering)
When: Mondays/Thursdays, 13:30-15:00
Where: 001-#109, Pure and Applied Sciences, New Campus, University of Cyprus (map)
Overview: The main objective of this undergraduate course is to provide an in-depth understanding of concepts related to the efficient organization and manipulation of data as well as the design and analysis of algorithms. The course familiarizes the students with data structures and their associated algorithms, techniques for evaluating the complexity of algorithms and also develops skills for efficient algorithm design and implementation.

Outline: Advanced programming techniques based on the programming language C: Recursion, Structures, Pointers, File and Memory management. Data types and abstract data types. Algorithm complexity analysis: worst-case and average-case analysis. Linear data structures: List, Stack and Queue, using static and dynamic memory allocation methods. Applications of linear data structures. Sorting algorithms: SelectionSort, InsertionSort, MergeSort, QuickSort and BucketSort. Tree data structures: Binary Trees, Binary Search Trees, Balanced Trees, B-trees. Priority Queues and Heaps. Graphs: definitions, data structures, topological sorting algorithms, graph traversal algorithms. Hashing techniques, hash functions and collision resolution techniques.

Textbook: Data Structures: A Pseudocode Approach with C, Richard F. Gilberg & Behrouz A. Fourouzan, 2nd Edition, Thomson Publishing, ISBN: 0-534-39080-3, ISBN-13: 9780534390808, 2005.

Wednesdays, 12:00-13:00, -001 #110
Laboratory: Monday (8:30-10:30) or Thursday (8:30-10:30) or Tuesday (13:00-15:00) in 01-103 - please check your registration.
Teaching Assistants: Pyrros Bratskas - PhD (Laboratory Coordinator)
bratskas@cs, Tel: 22-893930, Office Hours: Wed. 10:00-12:00, Room: FST-059, New Campus, UCY)

Petros Panayi - PhD
(Email: petrosp@cs, Tel: 22-893926, Office Hours: Mon. 10:00 -12:00, Room: FST-059, New Campus, UCY)


  • Final Exam: Friday, 16/12/11, 8:30-11:30, 01-108.
  • AS6 (graphs) has been announced!
  • AS5 (binary trees & sorting) has been announced!
  • AS4 (linear structs) has been announced!
  • Midterm Exam: Thursday, 24/10/11, 13:30-15:00, 01-109.
  • AS3 (complexity) has been announced!
  • AS2 (struct,pointers,binary files) has been announced!
  • Please consult Links for additional tools
  • AS1 (strings) has been announced!
  • You can use cygwin and/or eClipse to program on your PC. Please validate your assignments on the Lab Workstations.
  • Please immediately enroll to Moodle using the enrollment key provided in class.
  • Welcome to EPL035!

Important Notices

  • Check this section regularly for additions and changes.
  • The material will be finalized prior to each respective lecture.
  • To view all resources you need to logon to Moodle.
                          Structures: A Pseudocode Approach with C


Copyright Department of Computer Science, University of Cyprus