Course: Fundamentals of Software Engineering

« Back
Course title Fundamentals of Software Engineering
Course code KMI/OOP
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study 1
Semester Summer
Number of ECTS credits 6
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Remeš Radim, Mgr. Ph.D.
  • Milota Josef, RNDr.
  • Beránek Ladislav, prof. Ing. CSc., MBA
Course content
Lectures: 1 - Object-oriented concepts 2 - Introducing classes, structs and namespaces: Classes and Types, Inheritance, Abstract 3 - Classes and Interfaces, Nested Classes, Structs, Namespaces 4 - Class declaration: Attributes, Class Modifiers, Class Base, Interface Declarations 5 - Introducing Methods: Attributes, Method Modifiers, Formal Parameters, Parameter Passing 6 - The params modifier, Return Type, Method Overloading 7 - Polymorphism: Member Overriding, Member Hiding 8 - Operators: overloading operators 9 - Constants, Fields, Properties and Indexers 10 - Delegates and Events 11 - Exceptions 12 - Attributes, reflection Seminars: 1 - Object-oriented concepts 2 - Introducing classes, structs and namespaces: Classes and Types, Inheritance, Abstract 3 - Classes and Interfaces, Nested Classes, Structs, Namespaces 4 - Class declaration: Attributes, Class Modifiers, Class Base, Interface Declarations 5 - Introducing Methods: Attributes, Method Modifiers, Formal Parameters, Parameter Passing 6 - The params modifier, Return Type, Method Overloading 7 - Polymorphism: Member Overriding, Member Hiding 8 - Operators: overloading operators 9 - Constants, Fields, Properties and Indexers 10 - Delegates and Events 11 - Exceptions 12 - Attributes, reflection

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Dialogic (discussion, interview, brainstorming)
  • Preparation for classes - 38 hours per semester
  • Semestral paper - 44 hours per semester
  • Preparation for credit - 14 hours per semester
  • Class attendance - 56 hours per semester
  • Preparation for exam - 16 hours per semester
Learning outcomes
The course acquaints students with advanced programming techniques using object-oriented programming language C # (.NET platform). Students will learn how to work in the Visual Studio development environment and learn modern programming techniques on the .NET Framework.
Students understand the basic principles of object-oriented programming, they are able to create basic class models in developer studio and to complete basic object-oriented programs.
Prerequisites
The course Basic Programming.

Assessment methods and criteria
Analysis of student's work activities (technical works), Combined exam

Credit Requirements: Programming partial short tasks, creating a project application. Global success rate minimally 65%. Examination Requirements: Students will demonstrate complex knowledge of programming in programming language.
Recommended literature
  • Deitel, H., Deitel, P. Visual C# How to Program, 6th Edition. Hoboken, New Jersey, USA: Pearson Education, 2016.
  • Jamro, M. C# Data Structures and Algorithms. Birmingham, UK: Packt., 2018.
  • Michaelis, M. Essential C# 7.0, 6th Edition. Bostom, USA: Addison-Wesley Professional, 2018.
  • Nesteruk, D. Design Patterns in .NET: Reusable Approaches in C# and F# for Object-Oriented Software Design. New York, NY (USA): Apress., 2019.
  • Sarcar, V. Design Patterns in C#: A Hands-on Guide with Real-World Examples. Karnataka, India: Apress, 2018.
  • Taher, R. Hands-On Object-Oriented Programming with C#. Birmingham, UK: Packt., 2019.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Economics Study plan (Version): Economic Informatics (4) Category: Economy 1 Recommended year of study:1, Recommended semester: Summer