Subject description
Basic programming skills
- using programming languages to solve practical problems;
- presentation of good practices and pitfalls of programming;
- useful programming "recipes".
The building blocks of programming languages
- data types, variables and constants;
- expressions, operators, structured code;
- pointers, memory allocation and arrays;
- work with files;
Object-oriented programming
- variables, methods, members, access modifiers;
- classes, objects, inheritance, overriding;
- abstract classes, interfaces;
- event-driven programming;
- comments and documentation.
The subject is taught in programs
Objectives and competences
Objectives:
The main goal of the course is to present the basic principles of imperative programming with emphasis on the procedural and object-oriented languages. In addition to concepts related to specific programming constructs (function, method, variable, operator, memory, pointers, object, class, inheritance, …) students will learn the general programming concepts such as portability, compiler, virtual machine , testing, debugging, … Each student that will conduct this course should be able to independently solve semi complex programming problems.
Competences:
- Developing skills in critical, analytical and synthetic thinking.
- The ability to understand and solve professional challenges in computer and information science.
- The ability to apply acquired knowledge in independent work for solving technical and scientific problems in computer and information science; the ability to upgrade acquired knowledge.
- Basic skills in computer and information science, which includes basic theoretical skills, practical knowledge and skills essential for the field of computer and information science;
Basic skills in computer and information science, allowing the continuation of studies in the second study cycle.
Teaching and learning methods
Lectures, exercises and home work.
Expected study results
Knowledge and understanding:
Basic building blocks of programming languages: data type, variable, constant expression, operator, function, pointer, memory, arrays, files and object-oriented programming (object, class, member, method, inheritance, encapsulation, replacement, overlay, interfaces). Understanding the importance of general programming concepts, such as portability, compiler, virtual machine, testing, debugging.
Application:
Students will gain the basic computer skills and the ability to independently solve practical problems, which is a skill that is extremely useful not only in large numbers of courses with which the student encounters during the study, but also in practice. A good knowledge of the most commonly used languages of modern industry allows relatively easy transition to other languages.
Reflection:
Knowledge of basic programming languages helps in understanding how the computer works. Modern programming languages are a powerful tool for solving industrial problems, and writing business applications.
Transferable skills:
Good knowledge of programming skills are very important for understanding how the computer system works.
Basic sources and literature
- Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language (2nd edition). Prentice Hall, 1988.
- T. Dobravec. abC. Založba Fe&FRI, 2010.
- K. Arnold, J. Gosling, D. Holmes. The Java Programming Language (3th edition). Addison-Wesley, 2000.
- R. Morelli, R. Walde. Java, Java, Java Object-oriented problem solving (3th edition). Pearson Prentice Hall, 2006.