Course detail
Modern Methods of Programming
FSI-SR3Acad. year: 2018/2019
Architecture of .NET Framework, CLR managed execution environment, C# language, Common Type System (CTS), .NET components (assemblies), Framework Class Library
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Joseph Albahari: C# 7.0 in a Nutshell: The Definitive Reference, O'Reilly Media 2017 ISBN: 1491987650 1090 stran (EN)
Joseph Albahari: C# 7.0 Pocket Reference: Instant Help for C# 7.0 Programmers, O'Reilly Media 2017 , ISBN: 1491988534, 234 stran (EN)
Karniadakis George, Robert Kirby: Parallel Scientific Computing in C++ and MPI, Cambridge University Press 2003, ISBN 0521520800, 630 stran (EN)
Recommended reading
Paul Deitel, Harvey Deitel: C# 6 for Programmers, Deitel & Associates 2016, ISBN: 0134596327, 768 stran (EN)
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2. Common language Runtime (CLR); Common Language Specification (CLS); Language Integration;
3. Visual Studio .NET development environment
4. Introduction to C# language
5. Object-oriented concepts in .NET
6. Namespaces; Exceptions handling
7. Common type system
8. Delegates and events
9. Attributes
10. Arrays and collections
11. Working with strings; Regular expressions
12. Memory and resource management
13. Input/output; Working with XML; Serialization
14. Windows Forms
Computer-assisted exercise
Teacher / Lecturer
Syllabus
2. Primitive data types; Enumerations; Expressions; Statements
3. Control structures (if, for, while, do..while, foreach)
4. Visual Studio .NET development environment
5. Classes and interfaces; constructors, methods, fields, constants, access modifiers; Inheritance and polymorphism
6. Namespaces; Exceptions handling
7. System, object, equality, hash codes, cloning; Value types & reference types, boxing and unboxing; type conversions and casting
8. Delegates and multicast delegates; events
9. Using attributes; creating custom attributes
10. Arrays; jagged vs. multidimensional arrays; collections and enumerators; lists, dictionaries, hash tables, sorted lists
11. Strings, strings manipulation (StringBuilder), string formatting; Unicode, encodings, globalization and internationalization; regular expressions language
12. Managed heap and garbage collection; destructors and finalizers
13. Streams, readers/writers; files and directories; asynchronous input/output; Basic XML concepts; XML classes; DOM classes and XmlReader;
14. Windows Forms programming model, basic classes (Component, Control, ScrollableControl, ContainerControl); forms and dialogs; basic controls (Label, TextBox, Button); adding controls to forms; handling events;