Παρουσίαση/Προβολή

Εικόνα επιλογής

Introduction to Computer Science & Programming

(IBT104) -  Andreas A. Vasilakis

Περιγραφή Μαθήματος

Welcome to the course website of "Introduction to Computer Science andProgramming" (ECTS 6). The course is offered as a compulsory course of the first semester of the Undergraduate Programme in International Business and Technology and is part of the Technology and Analytics component of the curriculum. It introduces students to the fundamental principles of Computer Science, algorithms, data structures, computer systems, networks, and Python programming through a combination of lectures and laboratory sessions.

 

Ημερομηνία δημιουργίας

Τρίτη, 14 Οκτωβρίου 2025

  • Course Description

    This course provides a comprehensive introduction to the fundamental concepts of computer science and programming, with a particular emphasis on problem solving using Python. It presents the basic principles of information representation, computer architecture, operating systems, computer networks, algorithms, data structures, computability, and programming languages, while combining theoretical foundations with practical laboratory experience. Students are introduced to essential programming constructs, including variables, control structures, functions, recursion, object-oriented programming, and the use of libraries, and learn how to design, implement, test, and evaluate software solutions to a variety of computational problems. The course also develops students' understanding of algorithmic efficiency, data organization, and system-level concepts, providing a solid foundation for advanced studies in Computer Science, software development, data science, and information systems.

    Course Objectives

    Upon successful completion of the course, students will be able to:

    • Understand how information is represented and stored in computer systems, from binary data representation to files and databases.
    • Describe the fundamental architecture of a computer system and explain the execution of machine instructions.
    • Explain key operating system concepts, including process management and CPU scheduling techniques.
    • Analyze the basic principles of computer networks, including multiple-access protocols, the TCP protocol, and Internet routing mechanisms.
    • Apply algorithmic thinking to problem solving and evaluate the efficiency of algorithms using complexity analysis.
    • Design and use fundamental data structures, including arrays, linked lists, and trees, for information representation and processing.
    • Explain the stages of program compilation and the role of syntax and programming language structure.
    • Distinguish between fundamental concepts of computability and complexity, and recognize different classes of computational problems.
    • Use core programming constructs in Python, including variables, data types, conditional statements, loops, arrays, and input/output operations.
    • Develop Python programs using functions, modules, classes, objects, and other object-oriented programming techniques.
    • Design and implement complete software solutions to solve computational problems.
      Apply recursion and understand its relationship with iterative problem-solving approaches.
    • Implement and analyze classical searching and sorting algorithms for processing arrays and strings.
    • Develop programming, analytical, and problem-solving skills that form the foundation for advanced studies in Computer Science and related disciplines.

    Instructional Methods

    The course is delivered through a weekly three-hour lecture held on Wednesdays from 14:00 to 17:00 in room T201.

    Prerequisites

    There are no formal prerequisite courses for this module. However, students are expected to possess a solid foundation in the Computer Science topics typically covered in secondary education.

    Evaluation Methodology

    The final grade for the course is based on two assessment components:

    • Coursework assignments (5 credits in total)
    • Final written examination (6 credits)

    Successful completion of the course requires satisfactory performance in both assessment components. The coursework assignments are mandatory and contribute 5 credits towards the course grade, while the final written examination contributes 6 credits.

    The coursework consists of two assignment sets completed during the semester.

     

    Students must achieve a passing performance in the final examination for the coursework credits to be taken into account. In addition, the assessment of the coursework may include a brief individual oral examination to verify understanding and authorship of the submitted work.

     

    Note: The maximum attainable score is 11 marks. The final course grade is capped at 10/10, allowing students to earn up to one bonus mark through outstanding performance in the coursework assignments.

    Additional info

    Please note that this course was originally prepared and structured by Prof. Stergiopoulos. However, due to his academic leave, Prof. Vasilakis will be delivering the entire course this semester.