Academic year 2018/2019 |
Supervisor: | RNDr. Rudolf Hlavička, CSc. | |||
Supervising institute: | ÚM | |||
Teaching language: | Czech | |||
Aims of the course unit: | ||||
The course objective is to make students familiar with the principles of application development for the Microsoft .NET Framework. | ||||
Learning outcomes and competences: | ||||
The most important topics covered include: Architecture of .NET Framework, CLR managed execution environment, C# language, Common Type System (CTS), .NET components (assemblies), Framework Class Library. Also dealt with is working with XML, creating graphical user interface with Windows Forms. | ||||
Prerequisites: | ||||
Students are expected to be familiar with basic programming and have knowledge of basic object-oriented programming principles. No formal background in computer science is expected. | ||||
Course contents: | ||||
Architecture of .NET Framework, CLR managed execution environment, C# language, Common Type System (CTS), .NET components (assemblies), Framework Class Library | ||||
Teaching methods and criteria: | ||||
The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures. | ||||
Assesment methods and criteria linked to learning outcomes: | ||||
Graded course-unit credit is awarded on the following conditions: 30% on weekly programming assignments, 70% on the individual project. Participation in the lessons may be reflected in the final mark. | ||||
Controlled participation in lessons: | ||||
Attendance at lectures is recommended, attendance at seminars is required. | ||||
Type of course unit: | ||||
Lecture | 13 × 1 hrs. | optionally | ||
Computer-assisted exercise | 13 × 2 hrs. | compulsory | ||
Course curriculum: | ||||
Lecture | 1 .NET Framework Architecture 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 | 1. Intermediate Language (IL); .NET execution model 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; |
|||
Literature - fundamental: | ||||
1. Joseph Albahari: C# 7.0 in a Nutshell: The Definitive Reference, O'Reilly Media 2017 ISBN: 1491987650 1090 stran | ||||
2. Joseph Albahari: C# 7.0 Pocket Reference: Instant Help for C# 7.0 Programmers, O'Reilly Media 2017 , ISBN: 1491988534, 234 stran | ||||
3. Anders Hejlsberg: The C# Programming Language, Addison-Wesley 2010 ISBN 0-321-74176-5, 704 stran | ||||
4. Karniadakis George, Robert Kirby: Parallel Scientific Computing in C++ and MPI, Cambridge University Press 2003, ISBN 0521520800, 630 stran | ||||
Literature - recommended: | ||||
1. Paul Deitel, Harvey Deitel: C# 6 for Programmers, Deitel & Associates 2016, ISBN: 0134596327, 768 stran | ||||
2. Joe Pitt-Francis, Jonathan Whiteley,: Guide to Scientific Computing in C++ Springer 2012, ISBN 978-1-4471-2736-9, 250 stran |
The study programmes with the given course: | |||||||||
Programme | Study form | Branch | Spec. | Final classification | Course-unit credits | Obligation | Level | Year | Semester |
B3A-P | full-time study | B-MAI Mathematical Engineering | -- | GCr | 4 | Compulsory | 1 | 2 | S |
Faculty of Mechanical Engineering
Brno University of Technology
Technická 2896/2
616 69 Brno
Czech Republic
+420 541 14n nnn
+420 726 81n nnn – GSM Telef. O2
+420 604 07n nnn – GSM T-mobile
Operator: nnnn = 1111