This course builds upon the fundamentals introduced in Programming Languages I and focuses on the more advanced principles and paradigms of structured programming languages. Student, who passed the course satisfactorily will have the ability to:
- Analyze problems, develop algorithms for their solution, and translate algorithms into working C++ programs making efficient use of an integrated development environment and working efficiently individually as well as in small teams.
- Understand the use of different data types and data structures in programming languages.
- Declare and define variables and control their scope in programs.
- Solve mathematical/arithmetic problems in programming environments.
- Understand multi-assignment statements, increment and decrement operations.
- Understand common computer programming techniques such as conditionals, loops and nested loops etc. in order to form the logic of a program and to solve complicated programming tasks.
- Implement both pre-defined and user-defined functions with their correct use of arguments, data types and attributes in order to break a solution into manageable parts.
- Use (any-dimensional) arrays in appropriate places for better memory and data management.
- Understand the basics of pointers, which are considered one of the fundamental features of the C and C-like programming languages.
- Understand the main principles of OOP, namely Inheritance, Polymorphism and Encapsulation, and apply these principles in practice to design computer programs.
- Understand the complex concepts of programming and relate them to solving particular programming problems.
- Write procedural and OO programs in C++.
- Use user-defined data types, classes and functions to solve programming problems.
- Understand and write graphical interfaces.
- Use programming to solve problems.
- Gain an aquaintance with other high level languages, such as Java (for Android Applications) and C#