Course: Fundamentals of Software Engineering

» List of faculties » FEK » KMI
Course title Fundamentals of Software Engineering
Course code KMI/OOOP
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 6
Language of instruction English
Status of course Compulsory
Form of instruction unspecified
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
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 main objective is to gain basic experience with object-oriented programming language. Philosophy of OOP. Classes, objects, instances of classes and other types. Class methods. Inheritance, multiple inheritance. Private attributes and methods, name spaces. Destructors and memory management. Modeling of classes using UML.
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): Engineering and Informatics (1) Category: Economy 1 Recommended year of study:1, Recommended semester: Summer