460-2057/01 – C# Programming I (C# I)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantordoc. Ing. Petr Gajdoš, Ph.D.Subject version guarantordoc. Ing. Petr Gajdoš, Ph.D.
Study levelundergraduate or graduateRequirementChoice-compulsory type A
Year2Semesterwinter
Study languageCzech
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
GAJ03 doc. Ing. Petr Gajdoš, Ph.D.
JAW254 Ing. Jan Janoušek
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 1+2
Part-time Graded credit 14+0

Subject aims expressed by acquired skills and competences

The aim of the subject is to familiarize students with C# language such that they can understand all basic constructions of the selected language and a run-time environment. The students will be able to create desktop applications in C#. Knowledge and Skills: - selected development environment with emphasis on Microsoft Visual Studio, program debugging - understanding .NET Framework and .NET Core platforms - Understanding Common Language Runtime (CLR), Ahead-of-Time (AoT) vs. Just-in-Time (JIT) compilation - key elements of the language and language structures, grammar, memory management - type system and difference between primitive and object types - principles of object oriented programming (OOP) projected into C # - iterators, execution control, exception system - type conversions, generic types, collections - events, lambda expressions - working with files, LINQ - console application creation After completing the course, the student should be able to design and implement a problem-solving application with the knowledge of object-oriented programming using the latest features of C# language.

Teaching methods

Lectures
Tutorials

Summary

Students will deepen the knowledge of object-oriented programming with respect to the use of C# language, which belongs to the most used languages. The course builds on the "Introduction to Programming" and "Object-Oriented Programming" courses and requires that the students have already successfully passed these courses.

Compulsory literature:

[1] Albahari, Joseph, and Ben Albahari. C# 7.0 in a nutshell : the definitive reference. Sebastopol, CA: O'Reilly, 2018. Print. ISBN: 1491987650 [2] Price, Mark J. C# 7 and .NET Core modern cross-platform development : create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Birmingham, UK: Packt Publishing, 2017. Print. ISBN: 1787129551

Recommended literature:

[1] Troelsen, Andrew, and Philip Japikse. Pro C# 7 With .net and .net Core. City: Apress, 2018. Print. ISBN: 1484230175

Way of continuous check of knowledge in the course of semester

Continuous monitoring of study activities and assigned tasks during regular lessons.

E-learning

Other requirements

It is expected that students will actively solve the assigned tasks in programming lessons. Some tasks may require careful home preparation.

Prerequisities

Subject codeAbbreviationTitleRequirement
460-2052 UPR Introduction to Programming Recommended
460-2055 OOP Object Oriented Programming Recommended

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lecture notes will include at least the following topics: 1. Description of the .NET CORE architecture 2. Data types and program constructs of C# language 3. Basic input / output 4. Class definitions, inheritance, overloading methods 5. Program interface design - definition, utilization, implementation 6. Generic data types 7. Collections and their usage, iterators, LINQ 8. Simple lambda expressions, exception system 9. Strings and regular expressions 10. File system and advanced work with input / output 11. Delegates and events 12. Attributes and metadata 13. Threads and synchronization Practical exercises on computer labs will correspond to lecture notes: 1. An example of code compilation, assembly 2. Exercise on data types and basic program constructs of C# language 3. Working with a standard input/output 4. Class definitions, inheritance, overloading methods 5. Program interface design - definition, utilization, implementation 6. Creating of a generic class and its usage 7. Collections and their usage, iterators, LINQ 8. Simple lambda expressions, exception system 9. String processing with the use of regular expressions 10. File system and advanced work with input/output, XML, JSON, etc. 11. Delegates and events 12. Attributes and metadata 13. Threads and synchronization

Conditions for subject completion

Part-time form (validity from: 2019/2020 Winter semester, validity until: 2021/2022 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Graded credit Graded credit 100 (100) 51 3
        Aktivita Other task type 50  26
        Písemka 1 Written test 20  10
        Písemka 2 Written test 30  15
Mandatory attendence participation: Every student has to obtain at least the minimum number of points for each task.

Show history

Conditions for subject completion and attendance at the exercises within ISP: Completion of all mandatory tasks within individually agreed deadlines.

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2024/2025 (B0613A140014) Computer Science P Czech Ostrava 2 Choice-compulsory type B study plan
2024/2025 (B0613A140014) Computer Science K Czech Ostrava 2 Choice-compulsory type B study plan
2023/2024 (B0613A140014) Computer Science K Czech Ostrava 2 Choice-compulsory type B study plan
2023/2024 (B0613A140014) Computer Science P Czech Ostrava 2 Choice-compulsory type B study plan
2022/2023 (B0613A140014) Computer Science K Czech Ostrava 2 Choice-compulsory type B study plan
2022/2023 (B0613A140014) Computer Science P Czech Ostrava 2 Choice-compulsory type B study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Choice-compulsory study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Choice-compulsory study plan
2021/2022 (B0613A140014) Computer Science K Czech Ostrava 2 Choice-compulsory type B study plan
2021/2022 (B0613A140014) Computer Science P Czech Ostrava 2 Choice-compulsory type B study plan
2021/2022 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Choice-compulsory study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Choice-compulsory study plan
2020/2021 (B0613A140014) Computer Science IC# K Czech Ostrava 2 Choice-compulsory type A study plan
2020/2021 (B0613A140014) Computer Science IC# P Czech Ostrava 2 Choice-compulsory type A study plan
2020/2021 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Choice-compulsory study plan
2020/2021 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 2 Optional study plan
2020/2021 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Choice-compulsory study plan
2020/2021 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 2 Optional study plan
2019/2020 (B0613A140014) Computer Science IC# P Czech Ostrava 2 Choice-compulsory type A study plan
2019/2020 (B0613A140014) Computer Science IC# K Czech Ostrava 2 Choice-compulsory type A study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction



2023/2024 Winter
2022/2023 Winter
2021/2022 Winter
2020/2021 Winter