NETB156 Обектно-ориентирано програмиране

Анотация:

This course is intended for students in the second semester in the program Networking Technologies already familiar with the basics of computer programming in C++ and procedural programming paradigm. The objective of the course is to give an introduction to the concepts of the object-oriented programming paradigm, building them up from the fundamentals of the procedural programming. The programming language chosen is C++ for the same reasons it was chosen for the preceding course NETB100 Computer programming:

it is a multi-paradigm programming language;

it is popular and widely used;

many other modern programming languages are based on it.

An additional reason to choose C++ for the course is the fact that it gives a very good example of the principles used in the object-oriented programming, even though it also gives a good example how those principles can be violated.

The programming environment is the Linux OS distribution Ubuntu and GCC compiler collection frontend for C++. The usage of MS Windows and any IDE is strictly forbidden in this course.

The course is composed by 12 theoretical lectures that cover in details two broad subsets:

programming basics and object-oriented programming: arrays, pointers, inheritance, polymorphism, operator overloading, templates, exception handling;

basic introduction to algorithms and data structures: recursive algorithms, sorting algorithms, linked lists, stacks, queues.

The course is the theoretical part of the collection of courses that cover the topics of object-oriented programming in the second semester in the program Networking Technologies. The practical part is covered by the following laboratory course:

NETB158 Object-oriented programming labs.

прочети още
Мрежови технологии (на английски език)

Преподавател(и):

доц. Ласко Ласков  д-р

Описание на курса:

Компетенции:

Computer programming, object-oriented programming, basic algorithms and data structures.
Предварителни изисквания:
Knowledge in procedural programming paradigm using C/C++ languages. The student is required to pass successfully the following courses:

NETB100 Computer programming

NETB125 Computer programming labs or NETB126 C++ applications

NETB140 Computer programming project

Форми на провеждане:
Редовен

Учебни форми:
Лекция

Език, на който се води курса:
Английски

Теми, които се разглеждат в курса:

Литература по темите:

C. Horstmann. C++ for Everyone 2E Binder Ready Version. John Wiley & Sons, 2nd edition, 2011. [link]

C. Horstmann and T. Budd. Big C++. John Wiley & Sons, 2nd edition, 2008. [link]

B. Stroustrup. The C++ programming language. Addison-Wesley, 2000.

Средства за оценяване:

The grading of the student is evaluated in points. The maximal grade for the course is 100 pt. There are two ways to receive the final grade for the course.

1. Exams during the semester:

max 40 pt. – three theoretical tests (10 pt., 10 pt., 20 pt.);

max 30 pt. – three practical exams (NETB158);

max 30 pt. – three homework assignments (NETB158).

2. Term exam during the exam session:

max 40 pt. – theoretical term test;

max 30 pt. – practical term exam (NETB158);

max 30 pt. – three homework assignments (NETB158).

Note that in both cases the homework assignments are considered. The practical exams are held according to the schedule of NETB158 Object-Oriented Programming Labs.