Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

BI-CS2 C# language and data access Extent of teaching: 0P+3C
Instructor: Completion: KZ
Department: 18102 Credits: 4 Semester: Z

Annotation:
The C# language and data access course objective is to introduce students several data access technologies - database, XML, NoSQL - on the Microsoft platform. The students will get to know objects used to retrieve data - Connection, Command, Data Reader and DataAdapter v ADO.NET. Next, they will learn to use current technologies such as LINQ - a set of features for querying and updating data, integrated directly with the .NET platform languages, which enable LINQ use with Objects, XML and SQL (LINQ to Objects, LINQ to XML and LINQ to SQL). Another objective is the Entity Framework - an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects (ORM). This part of the course introduces Code First, Database First, Model First approaches. The students will also get to know the Conceptual Model, Storage Model and Mapping (XML description).

Lecture syllabus:

Seminar syllabus:
1. ADO.NET basics
- Data access basic principles - Database interfaces basic principles (at MS) - (DAO, ADO, RDO, ...) - SQL Server/others; .NET Data Providers
2. Data processing in connected mode
- Connection and Command objects - Data input - DataReader object - Data updating - using Command object - Using Stored Procedures - Transactions
3. Data processing in disconnected mode
- DataSet, DataTable and DataView objects - Working with data using DataSet - Data source connection - DataAdapters, TableAdapters - DataAdapter and TableAdapter Commands - DataSet relations and constraints - Processing concurrency for multiuser access - Database independent DataSet - Data Binding - Creating Data Bound Applications using visual technics - BindingSource and BindingNavigator objects - DataGridView object
4. LINQ (Language Integrated Query)
- Basic info about lambda expressions repetition - LINQ - querying built directly into language constructions - LINQ expressions syntax - Using LINQ with object collections - LINQ to XML - LINQ to SQL
5. Entity Framework
- Entity data model - Three basic strategies: DB First, Model First and Code First - Creating data model based on database structures - Working with model (using its objects) - Concurrency processing - Code First subvariants: Code First From DB and Code First From Objects - Code first - principles - DbContext a DbSet classes - Conventions - DataAnnotations - Fluent API - DB Initialisation, zrušení inicializace - Migration
6. NoSQL "databases"
- basic information concerning NoSQL - MongoDB - most widespread NoSQL - MongoDB installation - MongoDB data structures - Commands - MongoDB drivers - Creating program using MongoDB based on ADO.NET - Creating program using MongoDB based on Entity Framework

Literature:
Source Materials: Programmes developed in the course of the semester are considered to be the main study source.

Requirements:
Students attending this course should already have gained experience using C# along with the basics of the object programming. The students should also know how to create SQL scripts and they should have experience with usage of a relational database. Knowledge of XML language is useful but not necessary.

Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/search.php?search=BI-CS2

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BI-BIT.2015 Computer Security and Information technology V 5
BI-SPOL.21 Unspecified Branch/Specialisation of Study V 5
BI-PI.21 Computer Engineering 2021 (in Czech) V 5
BI-PG.21 Computer Graphics 2021 (in Czech) V 5
BI-MI.21 Business Informatics 2021 (In Czech) V 5
BI-IB.21 Information Security 2021 (in Czech) V 5
BI-PS.21 Computer Networks and Internet 2021 (in Czech) V 5
BI-PV.21 Computer Systems and Virtualization 2021 (in Czech) V 5
BI-SI.21 Software Engineering 2021 (in Czech) V 5
BI-TI.21 Computer Science 2021 (in Czech) V 5
BI-UI.21 Artificial Intelligence 2021 (in Czech) V 5
BI-WI.21 Web Engineering 2021 (in Czech) V 5
BI-SPOL.2015 Unspecified Branch/Specialisation of Study V 5
BI-WSI-PG.2015 Web and Software Engineering V 5
BI-WSI-WI.2015 Web and Software Engineering V 5
BI-WSI-SI.2015 Web and Software Engineering V 5
BI-ISM.2015 Information Systems and Management V 5
BI-ZI.2018 Knowledge Engineering V 5
BI-PI.2015 Computer engineering V 5
BI-TI.2015 Computer Science V 5
BI-BIT.2015 Computer Security and Information technology V 5


Page updated 29. 3. 2024, semester: L/2021-2, Z,L/2023-4, Z/2021-2, Z/2020-1, Z/2019-20, L/2020-1, Z,L/2022-3, L/2019-20, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška