Advanced knowledge which implies a critical understanding of theories and principles related to the subjects of Computer Science and Programming. The aim of the course is to present to the students of the School of Mining and Metallurgical Engineering the basic concepts and principles that govern Computer Science as well as Programming. During the course, students come into contact with the concept of computing thinking while developing programming skills and abilities with the help of the programming language Python. Topics covered in the course “Introduction to Programming (Python Programming Language”) involve: ▪ introduction to Computer Science and the historical development of Computers, ▪ introduction to Algorithms and Programming, representation of Algorithms with flowcharts, pseudocode, algorithms and data structures, programming languages and design techniques, specifications, design, coding, verification, documentation and maintenance of programs. In addition, in the context of the laboratory exercises, a detailed presentation is made concerning: ▪ Python introductory components, installation on different operating systems, sequential, selection, range function, and repetition algorithms (for, while) through examples and exercises, data structures (lists, tuples, sets, dictionaries), strings, with a further description of the operators, functions and methods associated with them, functions, function syntax, parameters and variables, ▪ Python libraries – modules, object-oriented programming, objects and classes, ▪ Graphical User Interfaces using Python.
ECTS : 4
Language : el
Learning Outcomes : The learning outcomes expected to be achieved during the ""Introduction to Programming"" course include: understanding the basic concepts of Computer Science and Programming, understanding the structure of a problem and estimating the possibility of programmatic solution of the problem, understanding the basic algorithmic structures (sequence, selection, repetition) of structured programming as well as the basic algorithms (summation, product, min-max, sorting, searching), understanding data structures (lists, tuples, sets, dictionaries) and their utilization for solving computational problems, solving problems and composing an appropriate algorithm using flowcharts, writing pseudocode and in Python, designing and implementing classes and methods in Python, using Python libraries, handling files through a program written in Python, designing and implementing simple graphical user interfaces using the corresponding Python libraries, designing and implementing an object-oriented program from the problem description in Python, an object-oriented program.