GEO388
1st Semester
Undergraduate
Mandatory
Introduction to Computer Science
5 ECTS
Instructor: Ioannis Violos
Course Description
Objective
The course introduces students to the fundamental concepts of Computer Science and modern computing systems, as well as to the fundamental principles of programming. Particular emphasis is placed on understanding hardware and software, the use of modern digital tools, and the development of basic programming skills using the Python programming language. Upon completion of the course, students should be able to:
- Identify and describe the main components of a computer system, as well as the role of hardware, software, and the operating system.
- Use basic digital tools and cloud computing services for creating, managing, and collaboratively editing digital content.
- Understand the fundamental principles of algorithmic thinking and programming and apply them to solve simple computational problems.
- Develop simple programs in Python using variables, data types, control structures, loops, and functions.
- Understand basic concepts of object-oriented programming, such as classes, objects, and inheritance.
Contents
The course presents the fundamental concepts of Computer Science and the operation of modern computing systems, starting with hardware, software, and operating systems. It also examines the use of modern digital tools and cloud computing services, with an emphasis on collaboration and productivity tools, such as those provided through Google Workspace.
The course then introduces the fundamental principles of algorithmic thinking and programming using the Python programming language. It covers the basic structures of a program, variables and data types, operators, selection and iteration structures, as well as the use of functions for organizing and reusing code. Finally, basic concepts of object-oriented programming are introduced, with emphasis on classes, objects, and inheritance. Through examples and exercises, these concepts are connected to the solution of simple problems and the development of small applications.
Teaching and Assessment Methods
Teaching consists of 8 theoretical lectures and 4 laboratory sessions, during which students apply the concepts presented in the course in practice, with an emphasis on the use of digital tools and the development of Python programs. In addition, students complete a semester project in two deliverables, in which they are required to apply the knowledge acquired throughout the course..
Assessment Methods
- Semester Project: 50%
- Written Final Examination: 50%
The written examination includes theoretical questions and practical exercises, aiming to assess students' understanding of the fundamental concepts of Computer Science, algorithmic thinking, and programming, rather than focusing exclusively on memorization.
To successfully complete the course, the student must obtain a passing grade in both the Written Final Examination and the Semester Project.