These courses are offered for students of other Departments. The content of such courses is appropriately formulated, aiming at the perception, by students of other sciences, of the importance of Informatics, its relationship with other sciences and the possibilities it offers. Each of the Computer Science courses for other Departments carries 5, 6 or 7 ECTS credits. These courses can be offered every semester or offered in "parallel classes", depending on the needs and possibilities of each case.
Course Title: Introduction to Computer Science
Course Code: CS 001
Course Type: Compulsory (for students of the SPS Department) and Elective
Level: Undergraduate
Year / Semester: Fall and Spring
Teacher’s Name: M. Hadjiaros
ECTS: 6 | Lectures / week: 2 x 1.5 hours | Recitation / week: 0 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Introduction to the basic concepts and the wide range of Informatics. Familiarization and comprehensive information of students with the structure and use of computers, computer programs, the Internet and applications of Informatics in other fields.
Learning Outcomes: .
Prerequisites: None Required: None
Course Content: This course is addressed to students who do not belong to the Department of Informatics and aims to promote and explain basic needs of the science of Informatics. It seeks the study of computers and modern trends in the field of Informatics as well as its possible applications in various fields. At the same time, it attempts to give students of other specialties, who will be users of computers and especially of the Internet in their own workplace, the opportunity to appreciate the possibilities offered by Informatics. Also, through the material, students will come into contact with the dangers and malicious use of the Internet and how to protect themselves from them both on a personal and professional level. Through the laboratory exercises, students will become familiar with various software packages, which are considered useful in their academic and professional careers. More specifically, CS001 students will come into contact with internet safety, social networks, introduction to Web 2.0, search engines, bibliography management tools and avoiding sidetracking, using social networks to create a website and promote a small business
Teaching Methodology: Lectures (3 hours weekly) and Laboratories (1.5 hour weekly).
Bibliography: -
Assessment: Final exam, midterm exam and homework (laboratory exercises).
Language: Greek
Course Title: Introduction to Computer Science
Course Code: CS 002
Course Type: Compulsory (for students of the EDU Department, primary and pre-primary)
Level: Undergraduate
Year / Semester: Fall and Spring
Teacher’s Name: M. Hadjiaros
ECTS: 5 | Lectures / week: 2 x 1.5 hours | Recitation / week: 0 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Introduction to the basic concepts and the wide range of Informatics. Familiarization and comprehensive information of students with the structure and use of computers, computer programs, the Internet and applications of Informatics in other fields.
Learning Outcomes: .
Prerequisites: None Required: None
Course Content: Foundations of Informatics, the main historical events that have contributed to its development and the possibilities of its use. Basic elements that make up Informatics and ways to utilize it in other sciences and applications. The Unix operating system. Practice with application packages, and the Unix environment. Basic principles of programming in a 4th generation language.
Teaching Methodology: Lectures (3 hours weekly) and Laboratories (1.5 hour weekly).
Bibliography:
- 1. B. A. Forouzan, Εισαγωγή στην Επιστήμη των Υπολογιστών, Εκδόσεις “ΚΛΕΙΔΑΡΙΘΜΟΣ”, 2003
Assessment: Final exam, midterm exam and homework (laboratory exercises).
Language: Greek
Course Title: Computer Science and Information Systems
Course Code: CS 003
Course Type:
Level: Undergraduate
Year / Semester: Fall and Spring
Teacher’s Name: CS or Visiting Faculty
ECTS: 6 | Lectures / week: 2 x 1.5 hours | Recitation / week: 0 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Familiarity with the most basic concepts of Informatics, Information Systems and Computer Systems. Contact with modern trends in the practice of Informatics. Practice the use of various software packages that are useful in academia and professionally.
Learning Outcomes: .
Prerequisites: None Required: None
Course Content: This course is addressed to students who do not belong to the Department of Informatics and aims to promote and explain basic needs of the science of Informatics. It seeks the study of computers and modern trends in the field of Informatics as well as its possible applications in various fields. At the same time, it attempts to give students of other specialties, who will be users of computers and especially of the Internet in their own workplace, the opportunity to appreciate the possibilities offered by Informatics. Also, through the material, students will come into contact with the dangers and malicious use of the Internet and how to protect themselves from them both on a personal and professional level. Through the laboratory exercises, students will become familiar with various software packages, which are considered useful in their academic and professional careers. More specifically, CS003 students will come into contact with internet security, social networks, Web 2.0 tools, search engines, introduction to Cloud Computing, basic principles of programming, introduction to databases, basic principles of web design, use of social networks for website creation and promotion of small business and products (marketing).
Teaching Methodology: Lectures (3 hours weekly) and Laboratories (1.5 hour weekly).
Bibliography: -
Assessment: Final exam, midterm exam and homework.
Language: Greek
Course Title: Introduction to Programming
Course Code: CS 031
Course Type: Compulsory (for students of MAS Department)
Level: Undergraduate
Year / Semester: Spring
Teacher’s Name: Chr. Christoforou
ECTS: 7 | Lectures / week: 2 x 1.5 hours | Recitation / week: 1 x 1 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: The course teaches the basic principles of programming and their application through the Python programming language. Emphasis is placed on structured programming, abstraction, implementation, control, and debugging of modular programs. The course also covers the foundation of algorithmic thinking, the understanding of basic data structures, and very basic concepts regarding the operation of computers. The general purpose of the course is to acquire the ability to solve simple problems through programming. More specifically, the objectives of the course are:
- Understanding the basic principles of programming, algorithmic thinking, algorithmic techniques, and program structure
- The design, implementation, testing and debugging of programs
- Evaluating solutions to a problem
- Learning a high-level programming language (Python)
Learning Outcomes: The student who successfully completes this course, is expected to be able to:
- Understand the basic concepts of computer science and describe the basic function of a computer system and its main units (CPU, memory, input/output).
- Recognizes the importance of using computers in problem-solving and task optimization.
- Understand the importance of data representation (e.g., binary system, data types) and the basic concepts of data structures.
- Understand the principles of algorithmic thinking and how they are applied to program design and development.
- Explain and implement the steps of analyzing a problem and designing the appropriate solution through programming.
- Discuss programming issues in the Python programming language, design and program questions related to their basic degree, such as solving linear algebra exercises etc.
- Determine the input and output data, the operations that should be implemented in the CPU during the execution of a project.
- Understand the basic flow control, iteration, and function control structures in Python programs.
- Implement programs in Python that use variables, selection structures, loops, functions, and simple data structures (such as lists and plurals).
- Leverage basic Python libraries and file editing techniques for practical problems.
- Discuss about implementing mathematical problems using the Python programming language.
- Analyze the Python programming language and recognize the importance of using it.
Prerequisites: None Required: None
Course Content: This course aims to teach the basic principles of programming and apply them through the Python programming language. The course material covers topics such as, what is an algorithm, a program, and what "proper programming" means. Also, the stages of solving a problem through a computer are studied and the stages of building a program are presented. The Python language is used to implement the solution on the computer. In the context of teaching the Python language, the structure of a standard program is given and the basic commands of the language regarding program flow (branching, itering), data input/output, and calling functions are presented. It also describes the basic and complex data structures that the language provides. All of the above are accompanied by examples both during the lectures and during the workshops. Summary Table of Contents
- Data Representation and Operation of a Computer
- Introduction to the Python programming language
- Variables, Operators and Numerical Expressions
- Control Commands and Program Flow Control
- Repetition Loops
- Functions
- Strings
- Using Python Libraries
- Data Structures
- File Editing
Teaching Methodology: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratories (1.5 hour weekly).
Bibliography: Mandatory bibliography:
- Cay S. Horstmann, Rance D. Necaise, Python for Everyone, Wiley, 2016
Additional bibliography:
- Dimitris Leventeas, Python Guide through Examples, TasPython, 2009 (http://python.org.gr/phocadownload/Tutorials/tutorial_by_example.pdf)
Assessment: Final exam, midterm exam, homework (programming assignments) and quizzes.
Language: Greek
Course Title: Programming Methods for Problem Solving
Course Code: CS 032
Course Type: Compulsory (for students of the BPE, AFN, ECO and CHE departments)
Level: Undergraduate
Year / Semester: Fall / Spring
Teacher’s Name: Chr. Kyriakou & N. Temene
ECTS: 6 | Lectures / week: 2 x 1.5 hours | Recitation / week: 0 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Acquisition of the ability to solve simple problems through programming. More specifically, the course teaches the basic principles of programming with emphasis on structured programming, subtraction, implementation, control and debugging of modular programs. The course also covers the foundation of algorithmic thinking, the understanding of basic data structures, and very basic concepts regarding the operation of computers.
Learning Outcomes: Upon successful completion of the course, students will be able to:
- They understand basic principles of programming, algorithmic thinking, algorithmic techniques, and program structure.
- Design, implement, test and debug modular programs
- Evaluate solutions to a problem
- Learn and use a high-level programming language (for this purpose learning the Python language has been chosen)
Prerequisites: None Required: None
Course Content:
- Data Representation and Operation of a Computer
- Introduction to the Python programming language
- Variables, operators and numerical expressions
- Control commands (if, elif, else) and program flow control
- Repeat loops (for, while)
- Functions
- Data Structures
- File Editing
Teaching Methodology: Lectures (3 hours weekly) and Laboratories (1.5 hour weekly).
Bibliography:
- Python for Everyone, Cay S. Horstmann, Rance D. Necaise, Wiley 2013.
- Python Guide Through Examples, Dimitris Leventeas, TasPython, 2009 - https://www.openbook.gr/odigos-python-mesw-paradeigmatwn/
Assessment: Final exam, midterm exam, homework or quizzes.
Language: Greek
Course Title: Introduction to Programming for Electrical and Computer Engineers
Course Code: CS 034
Course Type: Compulsory (for students of the ECE Department)
Level: Undergraduate
Year / Semester: Spring
Teacher’s Name: CS or Visiting Faculty
ECTS: 7 | Lectures / week: 2 x 1.5 hours | Recitation / week: 1 x 1 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Learning problem-solving methods through programming. Acquisition of skills in solving problems in a procedural way and the foundation of algorithmic thinking. Foundation of basic programming principles, algorithmic techniques and program structures. Design, implement, test and debug modular programs. Understanding the important concepts of program abstraction and data abstraction. Application of the basic principles through the C programming language.
Learning Outcomes: .
Prerequisites: None Required: None
Course Content: Introduction to computers and programming languages. Problem solving and programming, problem specification, algorithms and programs, progressive refinement methodology, program and data abstraction. Software development process, top-down design, problem breakdown, reuse, testing and debugging strategies. Variables: names, values, addresses, basic formulas (numbers, characters, logical values), operators and expressions, constants, use of libraries. I/O functions. Processes (functions), parameters, calls, arguments, pass through value or address. Program flow, naming scope rules, variable/process call lifetime, program status. Procedural programming, algorithmic structures (sequence, selection, repetition, retroactivity), memory. Complex and enumerable data types, tables (one-dimensional and multidimensional), structures and records, indexes (index-type variables, address and indirect reference operators, index arithmetic, tables and indexes, indexes and functions). Introduction to dynamic memory reservation
Teaching Methodology: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratories (1.5 hour weekly).
Bibliography:
- J. R. Hanly, E. B. Koffman, Problem Solving and Program Design in C, 4th Edition, Addison-Wesley, 2003.
- B. W. Kernighan, D. M. Ritchie, Η Γλώσσα Προγραμματισμού C, Δεύτερη Έκδοση, Εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ, 1990.
Assessment: Final exam, midterm exam and homework (programming assignments).
Language: Greek
Course Title: Data Structures and Algorithms for Electrical and Computer Engineers
Course Code: CS 035
Course Type: Compulsory (for students of the ECE Department)
Level: Undergraduate
Year / Semester: Fall
Teacher’s Name: Chr. Kyriakou & N. Temene
ECTS: 7 | Lectures / week: 2 x 1.5 hours | Recitation / week: 1 x 1 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Study of the methods of organizing information, the algorithms that create and transform it and the analysis of the complexity of algorithms. Familiarity with data structures and their processing algorithms, appreciation of the importance of careful organization of information for their efficient investigation and processing, development of design and implementation skills of algorithms that minimize their execution time and space and familiarity with techniques for analyzing algorithm efficiency.
Learning Outcomes: .
Prerequisites: CS 034 Required: None
Course Content: Advanced programming principles based on the C programming language: Recursion, Structures, Pointers and efficient memory and file management. In-memory representation of data structures. Data types and abstract data types. Algorithm complexity and middle and worst case analysis. Linear Data Structures: Lists, Stack and Queue using sequential and dynamic memory commitment. Applications of stacks and linked lists. Sorting algorithms SelectionSort, InsertionSort, MergeSort, QuickSort, and BucketSort. Tree Data Structures: Binary Trees, Binary Search Trees, Balanced Trees, B-Trees. Priority Queues and Piles. Graphs: representation, processing algorithms, topological classification and crossing algorithms. Fragmentation techniques, fragmentation functions, and conflict management methods.
Teaching Methodology: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratories (1.5 hour weekly).
Bibliography:
- R. F. Gilberg, B. A. Fourouzan, Data Structures: A Pseudocode Approach with C, Second Edition, Thomson Publishing.
- K. N. King, C Programming: A Modern Approach, Second Edition,W. W. Norton & Company, 2008.
- Ν. Μισυρλής, Δομές Δεδομένων με C.
- 4. M. A. Weiss, Data Structures and Algorithm Analysis in C, Addison Wesley, 1996.
Assessment: Final exam, midterm exam and homework (programming and theoretical assignments).
Language: Greek
Course Title: Programming Methods for Problem Solving in Social Sciences
Course Code: CS 036
Course Type: Compulsory (for students of the PSY Department)
Level: Undergraduate
Year / Semester: Spring
Teacher’s Name: CS or Visiting Faculty
ECTS: 5 | Lectures / week: 2 x 1.5 hours | Recitation / week: 0 hours | Laboratories / week: 1 x 1.5 hours
Course Purpose and Objectives: Acquisition of the ability to solve simple problems through programming. More specifically, the course teaches the basic principles of programming with emphasis on structured programming, subtraction, implementation, control and debugging of modular programs. The course also covers the foundation of algorithmic thinking, the understanding of basic data structures, and very basic concepts regarding the operation of computers.
Learning Outcomes: Upon successful completion of the course, students will be able to:
- They understand basic principles of programming, algorithmic thinking, algorithmic techniques, and program structure.
- Design, implement, test and debug modular programs
- Evaluate solutions to a problem
- Learn and use a high-level programming language (for this purpose learning the Python language has been chosen)
Prerequisites: None Required: None
Course Content:
- Data Representation and Operation of a Computer
- Introduction to the Python programming language
- Variables, operators and numerical expressions
- Control commands (if, elif, else) and program flow control
- Repeat loops (for, while)
- Functions
- Data Structures
- File Editing
Teaching Methodology: Lectures (3 hours weekly) and Laboratories (1.5 hour weekly).
Bibliography:
- Python for Everyone, Cay S. Horstmann, Rance D. Necaise, Wiley 2013.
- Python Guide Through Examples, Dimitris Leventeas, TasPython, 2009 - https://www.openbook.gr/odigos-python-mesw-paradeigmatwn/
Assessment: Final exam, midterm exam, homework (programming assignments) and quizzes.
Language: Greek
Course Title: Data Manipulation in Python
Course Code: CS 037
Course Type: Compulsory (for students of the ECO department)
Level: Undergraduate
Year / Semester: Spring
Teacher’s Name: CS or Visiting Faculty
ECTS: 6 | Lectures / week: 0 hours | Recitation / week: 0 hours | Laboratories / week: 2 x 2 hours
Course Purpose and Objectives: The purpose of the course is to provide an understanding of topics related to data analysis as well as practical contact with scientific tools and languages such as Python and SQL. Manipulating data is a repetitive task for data analysts. Reading a dataset, checking its properties, manipulating its content, and creating visualizations are often tedious tasks. Therefore, increasing efficiency in this process is beneficial for those who want to handle small or large datasets. Spreadsheet-based software does not have the ability to properly support this process, due to the lack of automation and repeatability. This lab course, which promotes the use of a high-level language such as Python, complemented by using SQL queries to extract data from databases, is ideal for handling datasets. This course is expected to train students to use SQL and Python effectively so that they are able to load and handle datasets efficiently.
Learning Outcomes: Upon successful completion of the course, students will be able to:
- They use built-in functions of the Python programming language and perform operations on data structures (such as lists, dictionaries, pleiades).
- Understand and use basic SQL queries to select, group, and aggregate data from relational databases.
- They load datasets from databases and files through the Pandas library.
- They produce basic statistical metrics (mean, standard deviation, median).
- They apply data handling techniques such as data cleaning (correcting/deleting/filling in missing data), time series manipulation (indexing, sampling, time shifting, rolling statistics), data transformation (scaling, descaling).
- They create graphical representations using datasets using different types of charts (2D, 3D).
Prerequisites: CS032 or previous knowledge of the Python programming language Required: None
Course Content: This lab course focuses on loading datasets from files (e.g. .csv) and relational database tables using SQL statements such as selection, data manipulation (cleansing, filtering, grouping, aggregating, changing sampling, scaling, descaling) of data in tabular format for exploratory analysis and visualization using important packages such as Numpy, Pandas, Matplotlib, Seaborn, and Plotly. The course does not cover statistics, data mining, machine learning, or predictive modeling. Its aim is to provide students with the means to effectively address common data handling practices in order to increase their effectiveness. These skills are useful for preparing a dataset which can then be used for exploratory analysis (statistical analysis and visualization) and predictive modeling.
Teaching Methodology: The course offers teaching in a laboratory environment where students will be able to immediately apply the learned knowledge in practice. Students will be able to apply the taught material through laboratory exercises within the classroom with the help of the teacher.
Bibliography:
- "Python for Data Analysis, 3rd Edition" by Wes McKinney, 2023.
Assessment: Final exam, midterm exam, homework or quizzes. The final/midterm exams and quizzes will be in the laboratory.
Language: Greek
Course Title: eHealth and Medical Informatics
Course Code: CS 041
Course Type: Compulsory (for Medical School students)
Level: Undergraduate
Year / Semester: Fall
Teacher’s Name: I. Schiza
ECTS: 3 | Lectures / week: 1 x 3 hours | Recitation / week: 0 hours | Laboratories / week: 0 hours
Course Purpose and Objectives: Introduction of the doctor of the future to the new world of things of eHealth (Health) and Medical Informatics at local, European and international level. Consolidation of the legislative and social framework of Health. Explanation of the patient-centered approach to medical practice as a prerequisite for successful implementation of Health. Utilization of the possibilities provided by information and communication technologies in medical and clinical practice, mainly through the modeling of medical practice, procedures and knowledge. Management, standardization, presentation and use of medical data for the realization of Health.
Learning Outcomes: .
Prerequisites: None Required: None
Course Content: Introduction of the terms of health and its operating framework. Legislative, regulatory and social background. Methods for the utilization of information technology for the extraction of medical information and data from knowledge, data and medical information databases. Applications of IT systems used for the circulation of medical knowledge, the management of medical information, the appropriate use of an electronic patient file for patients and the support of a medical decision. Extensive reference to the legal framework that regulates this practice, in accordance with European and international directives.
Teaching Methodology: Lectures/presentations (3 hours per week) Discussions/presentations, Structured visits to hospital clinics to collect data and explore ways to utilize them by medical staff.
Bibliography: There is no book that covers all the material that is expected to be taught in the course. There will be extensive use of the Internet even in the classroom. The following books are recommended.
- D. Koutsouris, S. Pavlopoulos, A. Prentza, Introduction to Biomedical Technology and Medical Systems Analysis, Tziola Publications, 2003.
- E. H. Shortliffe, J. J. Cimino (Eds.), Biomedical Informatics: Computer Applications in Health Care and Biomedicine, Springer Verlag; 3rd edition, 2006.
- Extensive use of the internet and e-libraries.
Assessment: Final exam, midterm exam, homework (studies and/or exercises).
Language: Greek
Course Title: eHealth Seminars
Course Code: CS 042
Course Type: Compulsory (for Medical School students)
Level: Undergraduate
Year / Semester: Spring
Teacher’s Name: I. Schiza
ECTS: 3 | Lectures / week: 1 x 2 hours | Recitation / week: 0 hours | Laboratories / week: 0 hours
Course Purpose and Objectives: Familiarization of the student with information and communication technologies (ICT) and their practical application in medical and clinical practice. Gain experience through the citation of practices that have been adopted by renowned doctors who have put eHealth into practice. Monitoring of practices such as applications in intensive care units, laparoscopic procedures, surgeries, robotic surgeries, remote diagnostics, remote monitoring, and live recording and utilization of relevant medical databases. Reflection of the student on what will happen in the field of medicine if ICT will continue to develop.
Learning Outcomes: .
Prerequisites: CS 041 Required: None
Course Content: Selected presentations/lectures by at least six doctors, selected according to the topic and their availability, from Cyprus and abroad. Video conferencing tools may also be used for live presentations and communication with the physician for discussion and resolution of questions. When possible, students will also be given the opportunity to visit a medical unit on site.
Teaching Methodology: Lectures/presentations/discussions (2 hours every two weeks), Possibility of structured visits to hospital clinics in consultation with the presenters.
Bibliography: There is no book that covers the material that is expected to be taught in the course. The presenters will propose relevant literature that will be available on the internet.
Assessment: Written exams and homework (individual and group work).
Language: Greek