Data Structures and Programming

Објавено: October 12, 2018
  1.    Course Title Data structures and programming
  2.    Code 3ФЕИТ07Л025
  3.    Study program EAOIE, EES, EEUM, KHIE, KSIAR, KTI, TKII
  4.    Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies
  5.    Degree (first, second, third cycle) First cycle
  6.    Academic year/semester I/2   7.    Number of ECTS credits 6.00
  8.    Lecturer Dr Slavche Pejoski, Dr Hristijan Gjoreski
  9.    Course Prerequisites Taken course: Programming and algorithms

10.    Course Goals (acquired competencies):  Introduction to data structures. Working with classes and instantiating objects. After finishing this course the student will be able to solve programming problems using the help of object oriented programming.

11.    Course Syllabus: Introduction to a new type of data. Complex data types. Defining structures. Defining, using and compiling self-made header files. Automating the compiling process using the tool make and Makefile. Introduction to C++. Concepts of programming in C++. Structures in C++. References and pointers in C++. Functions and overload of functions. Concepts of object oriented programming. Class and objects concepts. Constructor and destructor. New data structures. Concepts od stack and queue data types. Friendly classes and functions. Functions members of a class. Overloading operators (functions) members of a class. Single linked lists. Double linked lists – concept. Double linked lists in C++. Dynamic memory allocation. Inheritance concepts. Polymorphism concepts. Generalisation of classes. Virtual functions. Abstract classes.

12.    Learning methods:  Lectures, exercises and laboratory exercises
13.    Total number of course hours 2 + 2 + 2 + 0
14.    Distribution of course hours 180
15.    Forms of teaching 15.1. Lectures-theoretical teaching 30
15.2. Exercises (laboratory, practice classes), seminars, teamwork 60
16.    Other course activities 16.1. Projects, seminar papers 10
16.2. Individual tasks 20
16.3. Homework and self-learning 60
17.    Grading 17.1. Exams 10
17.2. Seminar work/project (presentation: written and oral) 10
17.3. Activity and participation 0
17.4. Final exam 80
18.    Grading criteria (points) up to 50 points     5 (five) (F)
from 51 to 60 points     6 (six) (E)
from 61 to 70 points     7 (seven) (D)
from 71 to 80 points     8 (eight) (C)
from 81 to 90 points     9 (nine) (B)
from 91 to 100 points   10 (ten) (A)
19.    Conditions for acquiring teacher’s signature and for taking final exam Laboratory exercises
20.    Forms of assessment Two partial exams during the semester lasting 120 minutes each or one final written exam in an appropriate exam session lasting 120 minutes. Evaluation of laboratory exercises, as well as tests for continuous checking of knowledge.
21.    Language Macedonian and English
22.    Method of monitoring of teaching quality Internal evaluation and surveys
23.    Literature
23.1. Required Literature
No. Author Title Publisher Year
1 Prata S. C++Primer Plus,6th Ed. Addison-Wesley Professional 2011
2 Cormen T.H., et. al. Introduction to Algorithms, 2nd Ed. MIT PRESS 2001
3 Stroustrup B. The C++ Programming Language, 3rd Ed. AddisonWesley 2000
23.2. Additional Literature
No. Author Title Publisher Year
1 Bruce ECKEL  Thinking in C++, Volume One: Introduction to Standard C++, 2nd Ed.  Prentice-Hall  2000
2  ECKEL B., ALLISON C.  Thinking in C++, Volume Two: Practical Programming  Prentice-Hall  2004