- Nazwa przedmiotu:
- Object Oriented Programming
- Koordynator przedmiotu:
- Roman Podraza
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Computer Science
- Grupa przedmiotów:
- Technical Courses
- Kod przedmiotu:
- EOOP
- Semestr nominalny:
- 2 / rok ak. 2015/2016
- Liczba punktów ECTS:
- 6
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- - lectures attendance: 15 x 2 h = 30 h;
- preparation to lectures (reviewing slides, notes and a textbook): 30 h;
- preparation to tests: 20 h
- laboratory attendance: 13 x 2.33 h = 30 h ;
- preparation to laboratories (learning exemplary lab tasks, reviewing slides, notes and a textbook): 40 h;
Total: 30 h + 30 h+ 20 h + 30 h+ 40 h = 150 h.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 2
- Język prowadzenia zajęć:
- angielski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 3
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- C Programming Language
- Limit liczby studentów:
- 32
- Cel przedmiotu:
- The students should learn to design and implement object-oriented programs in C++ language. They should become familiar with object-oriented paradigm, the C++ language syntax, rules and concepts and should be able to use a good programming style.
- Treści kształcenia:
- Lectures:
1. Introduction (4h): the C/C++ language elements, basic data types, literals, references, casting, operator summary, statement summary.
2. Functions and Files (4h): linkage, header files, static and automatic variables, initialization of variables, default values of function parameters, function overloading, namespaces.
3.Classes (6h): classes and members, access control, interfaces and implementation, encapsulation, friends, name qualification, static members, constructors and destructors, initialization list, copy constructor, object-oriented programming.
4.Derived Classes (6h): inheritance, virtual functions, polymorphism, pure virtual functions, abstract classes, multiple inheritance, dynamic data structures, dynamic binding, run-time type inspection.
5.Operator Overloading (2h): operator functions, assignment and initialization, increment and decrement, friends and members.
6.Templates (2h): class template, function template.
7.Exception Handling (2h): error handling, throwing and catching exceptions, try block, catch blocks, discrimination of exceptions, naming of exceptions, uncaught exceptions.
8.Input/Output Functions (2h): streams, formatting, files.
9.Standard Libraries (2h): STL, containers, algorithms, iterators.
Laboratories:
The laboratory consists of:
• Five preliminary simple tasks
1. Pointers.
2. References.
3. Classes and objects: constructors and destructors.
4. Inheritance.
5. Polymorphism (virtual functions)
• A small project requiring design of simplified simulation of an institution (e.g. bank, university, hospital). Implementation of several cooperating classes is expected as well as testing scenarios.
- Metody oceny:
- During the lab exercises it is possible to score up to 40 points:
• 15 points for first five exercises (5*3)
• 25 points for the project
- 8 points for the Preliminary Project (PP)
- 9 points for the Code in C++ (CC)
- 8 points for the Final Project (FP)
Maximum score for the mid-term test is 20 points and for final test is 40 points. There are also up to 10 short tests (during lectures), each one for 1 point.
The final result is based on the following pattern:
• 5.0: 91-110 points
• 4.5: 81-90 points
• 4.0: 71-80 points
• 3.5: 61-70 points
• 3.0: 51-60 points
• 2.0: 0-50 points
- Egzamin:
- nie
- Literatura:
- 1. H. Schildt, C++: The Complete Reference, Fourth Edition, McGraw-Hill, 2003.
2. B. Eckel, Thinking in C++: Introduction to Standard C++, Volume One (2nd Edition), Prentice Hall Inc., 2000.
3. B. Eckel, Ch. Allison, Thinking in C++, Volume 2: Practical Programming, Prentice Hall, 2003.
4. B. Stroustrup, The C++ Programming Language, 4th Edition, Addison-Wesley, 2013.
5. I. Pohl, C++ for C Programmers, Addison-Wesley, 1998.
- Witryna www przedmiotu:
- https://studia.elka.pw.edu.pl
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt EOOP_W01
- Student has the basic systematic knowledge on designing simple computer programs and decomposing functionality between classes
Weryfikacja: Mid-term test evaluation Final test evaluation Lab. 6.-13. evaluation
Powiązane efekty kierunkowe:
K_W07, K_W09
Powiązane efekty obszarowe:
T1A_W03, T1A_W04, T1A_W07, T1A_W03, T1A_W04, T1A_W07
- Efekt EOOP_W02
- Student knows basic elements of C++ Programming Language: class, object, overloading operators, templates, inheritance, polymorphism, handling dynamic memory resources, exception.
Weryfikacja: Mid-term test evaluation Final test evaluation Lab. 1.-13. evaluation
Powiązane efekty kierunkowe:
K_W07, K_W09
Powiązane efekty obszarowe:
T1A_W03, T1A_W04, T1A_W07, T1A_W03, T1A_W04, T1A_W07
- Efekt EOOP_W03
- Student knows basic elements of environment for object-oriented programming: libraries, editor, compiler, linker.
Weryfikacja: Lab. 1.-5. evaluation
Powiązane efekty kierunkowe:
K_W07, K_W09
Powiązane efekty obszarowe:
T1A_W03, T1A_W04, T1A_W07, T1A_W03, T1A_W04, T1A_W07
Profil ogólnoakademicki - umiejętności
- Efekt EOOP_U01
- Student is able to design object-oriented solution of a simple typical problem and implement it in C++ Programming Language
Weryfikacja: Mid-term test evaluation Final test evaluation Lab. 1-13. evaluation
Powiązane efekty kierunkowe:
K_U12
Powiązane efekty obszarowe:
T1A_U15, T1A_U16
- Efekt EOOP_U02
- Student is able to compile, run, test and debug a program in C++ Programming Language applying object-oriented methodology
Weryfikacja: Mid-term test evaluation Final test evaluation Lab. 1-13. evaluation
Powiązane efekty kierunkowe:
K_U12
Powiązane efekty obszarowe:
T1A_U15, T1A_U16
Profil ogólnoakademicki - kompetencje społeczne
- Efekt EOOP_K01
- Student realizes necessity to adjust himself/herself to standards and good programming practices
Weryfikacja: Lab. 1-13. evaluation
Powiązane efekty kierunkowe:
K_K04
Powiązane efekty obszarowe:
T1A_K03, T1A_K04
- Efekt EOOP_K02
- Student understands necessity to write code, which is portable and universal, decomposed into modules, enabling its reusability
Weryfikacja: Lab. 1-13. evaluation
Powiązane efekty kierunkowe:
K_K04
Powiązane efekty obszarowe:
T1A_K03, T1A_K04