Data Structures and Programming
Course Title: Data Structures and Programming
Code: 3ФЕИТ07Л025
Number of credits (ECTS): 6
Weekly number of classes: 2+2+2+0
Prerequisite for enrollment of the subject: Taken course: Programming and Algorithms
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.
Total available number of classes: 180
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.
Literature:
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 |
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 |