|
|
|
||
This course introduces students to the principles of object-oriented programming. It builds upon decomposition techniques taught in Programming II and enhances them with object-oriented approach. Students are challenged to create object-oriented design of software applications, express the system in subset of UML diagrams (use case, class, sequence). The programming part begins with introduction to C# programming language (syntax, containers, I/O, exceptions) and finalizes with a medium-scaled software project.
Last update: ROZ143 (10.05.2011)
|
|
||
Students will be able to: JJ: Transform real-world situation into object model Describe model using standard UML diagrams Write a short program using basic C# programming language constructs Use basic C# programming language libraries Last update: TAJ143 (02.07.2013)
|
|
||
R: Steve McConnell: Code Complete: A Practical Handbook of Software Construction; Microsoft Press; 2nd edition, 2004 ISBN 1556154844 R: Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra: Head First Design Patterns; O'Reilly Media, 2004 ISBN 0596007124 Last update: TAJ143 (02.07.2013)
|
|
||
zápočet: naimplementovaný a zdokumentovaný softwarový projekt, průběžná práce na příkladech zadaných na cvičení zkouška: písemnou formou, teoretická a praktická část Last update: Šimek Miroslav (19.11.2012)
|
|
||
1. Top-down application design, system decomposition, namespaces, libraries. 2. Encapsulation principle as a mean of decomposition and complexity management. Class, instance, object. Operations and methods. Message passing, method invocation. 3. Abstraction principle. Separation of contract, interface, implementation. 4. Inheritance principle. Parent class, single and multiple inheritance. 5. Principle of polymorphism. Using polymorphism as a mean of abstraction. 6. Graphical representation of classes and their relationships. Structural UML diagrams (component, class diagram). 7. Computer architecture, information representation within computers. Basic data types, statically and dynamically typed languages. C# language syntax. 8. Exceptional states during program execution. Exceptions. 9. Collections/containers in C#. Mutable and immutable data types. Iterators. 10. File descriptor as an abstraction of I/O. Streams, byte and character access. 11. Software project: requirements analysis, use case diagram. Design of class hierarchy. 12. Software project implementation 13. Software project implementation 14. Software project implementation Last update: ROZ143 (10.05.2011)
|
|
||
.NET framework class library http://msdn.microsoft.com/en-us/library/gg145045.aspx Last update: TAJ143 (02.07.2013)
|
|
||
none Last update: TAJ143 (02.07.2013)
|
Teaching methods | ||||
Activity | Credits | Hours | ||
Účast na přednáškách | 1 | 28 | ||
Příprava na přednášky, semináře, laboratoře, exkurzi nebo praxi | 1 | 28 | ||
Práce na individuálním projektu | 2 | 56 | ||
Účast na seminářích | 1 | 28 | ||
5 / 5 | 140 / 140 |
Coursework assessment | |
Form | Significance |
Regular attendance | 20 |
Defense of an individual project | 20 |
Examination test | 60 |