The study course aimed at the first-year bachelor students provides insights into contemporary computers, programming languages frequently used in electronics and telecommunications, helpful integrated development environments and elementary computing algorithms to be applied in further studies and engineering work.
The study course outlines mathematical, technical and philosophic principles of data acquisition, computing and representation systems, which provide the basis for the development of professional expertise and practical competence working with professional computer systems based on open-source operating environment Linux – UBUNTU implementation in particular.
The students get acquainted with classical programming languages C, C++ and contemporary programming language Python. Binary and hexadecimal numeral systems are studied. The concepts of ‘bit’, ‘byte’ and ‘data type’ are comprehensively analysed.
Practical programming tasks are related to simple tasks completed within the framework of the courses in physics, electrical and mechanical engineering, as well as to a range of themes in advanced mathematics such as simple function differentiation and area computing of functionally developed geometric figures.
The tasks connected to complex numbers, bit operations and data sorting are completed depending on the specifics of the study program.
Course contents:
- Human and Computer. Similarities and differences. Interoperability philosophy. Information. Information unit. Bit. Byte
- Operational systems (OS). Why OS systems are needed? Concept. History. How OSes are developed?
- UNIX. Multiuser and multiprocess system. Time divided processes. Linux.
- OS kernel. Shell. Physical devices. File systems.
- Users in Linux. Terminal application. Shells. Shell commands. Variables, directories, files. Rights.
- Data-In. Data-Processing. Data-Out. Programming in shell. Shell scripts.
- C, C++ languages. Principles of languages. Syntax. Building blocks. Operators. Variables. Statements.
- Main function in C, C++. How to compile C, C++ program? Pre-processing directives.
- How to execute a binary file? Data evaluation. Data formatting. Standard output. Error output.
- C, C++ libraries. Data type - char. Declaration and definition of variables.
- Circle of numbers. Natural numbers and integers. Characters. ASCII. Arithmetical operations. Priorities.
- Data exchange. Algorithms. Alg I. Dec to Bin conversion.
- Different Integers. Short. Int. long data types. Library file limits.
- Floating point numbers. Float, double, long double data types. Data arrays.
- User defined C, C++ functions. Prototypes. Program block.
- Looping with FOR and WHILE. Loop variable. Loop body.
- Alg II. Factorial. Alg III. Bin to Dec conversion.
- Some useful functions from STD - standard C library.
- Data type - BOOLEAN. Program branching. Logical operations. Bitwise operations.
- Data arrays. Pointers. Pointers arithmetic. References. User defined data types: structures, etc..
- How to format data and write to file? How to read the file? Text and binary files.
- Python programming language elements. Arithmetical operations. Data-In. Data-Out. Data types.
- Data types in Python. Integers, floating point numbers, complex numbers.
- Advanced data types: list, dictionary. Looping in Python. How to read data lines from file?
- Alg. iV. Factorial. Alg. V. Number series. Recurrence.
- Python standard libraries (sys, os, math, cmath, numpy, etc.). User functions. Lambda function.
- Alg. VI. Finding of math-function root.
- Branching in Python. IF. IFELSE. ELSE. Logical operations. Bitwise operations.
- Alg. VII. Data sorting. Bubble algorithm.
- Alg. VIII. Function differentiation.
- Alg IX. Finding of function integral.
- Scientific libraries for Python. SciPy. NumPy. Matplotlib. Independent tool GNUPLOT.
- User programs for scientific usage (Octave, Maxima, etc.).
- Elementary descriptive statistics.