cs@cs.ucy.ac.cy | +357-22-892700

| | | | MyCS Portal |

Courses to other Departments

These courses are offered to students of other Departments. The content of such courses is suitably determined so that students in other disciplines may appreciate the significance of Computer Science, its relationship to other disciplines, and the potential benefits it offers. Each of the courses for other Departments carries 5, 6 or 7 ECTS units. The courses may be offered every semester or in parallel classes, depending on the needs and capabilities.

CS001 Introduction to Computer Science

Type: Compulsory for the students of the departments of PSY and SPS, Unrestricted Choice (for students of other departments)

Level: Undergraduate

Semester: Fall and Spring

Credit: 6 ECTS units

Instructor: ................. (Fall) / ................. (Spring)

Objectives: Introduction to the basic concepts and the wide range of Computer Science. Familiarization and global update of students with the structure and use of computers, computer programs, the Internet and the application of Computer Science to other fields.

Content: The course aims to provide students with basic understanding of computer science concepts. The objective of the course is to introduce the students to the ‘modern’ research trends of the computer science field and the various applications of computer science in other areas. Furthermore, to allow students to appreciate the potentials of informatics and especially the web in their working environment. Students will also become aware of internet safety and malicious software and how they can protect themselves and their data at personal and professional level. Through the practical laboratory sessions, students will get familiar with various tools and software that considered vital for their academic and professional career. Specifically, the course will cover the following topics: Internet safety and malicious software, social networking, introduction to Web 2.0, search engines, social networking, bibliography and citation management tools.

Prerequisites: ---------

Bibliography: ----------

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (laboratory assignments).

CS002 Introduction to Computer Science

Type: Compulsory for the students of the departments of EDU

Level: Undergraduate

Semester: Fall and Spring

Credit: 5 ECTS units

Instructor: ..................

Objectives: Introduction to the basic concepts and the wide range of Computer Science. Familiarization and global update of students with the structure and use of computers, computer programs, the Internet and the application of Computer Science to other fields.

Content: Fundamentals of Computer Science, the main historical events which have contributed in its development, and the possibilities it offers. Basic constituent elements of Computer Science and methods for making it valuable to other sciences and applications. Practical experience with application packages, and the UNIX environment. Basic principles of programming in a fourth generation language.

Prerequisites: ----------

Bibliography:

  1. B. A. Forouzan, Εισαγωγή στην Επιστήμη των Υπολογιστών, Εκδόσεις “ΚΛΕΙΔΑΡΙΘΜΟΣ”, 2003.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (laboratory assignments).

CS003 Computer Science and Information Systems

Type: Compulsory for the students of the departments of ECO and PBA

Level: Undergraduate

Semester: Fall and Spring

Credit: 6 ECTS units

Instructor: .................. (Fall) / .................. (Spring)

Objectives: Familiarization with the most basic concepts in Computer Science, Information Systems and Computer Systems. Touch with the current trends in the practice of Computer Science. Practical experience in the use of various software packages that are useful in the academic and professional worlds.

Content: The course aims to provide students with basic understanding of computer science concepts. The objective of the course is to introduce the students to the ‘modern’ research trends of the computer science field and the various applications of computer science in other areas. Furthermore, to allow students to appreciate the potentials of informatics and especially the web in their working environment. Students will also become aware of internet safety and malicious software and how they can protect themselves and their data at personal and professional level. Through the practical laboratory sessions, students will get familiar with various tools and software that considered vital for their academic and professional career. Specifically, the course will cover the following topics: Internet safety and malicious software, social networking, introduction to Web 2.0, search engines, introduction to cloud computing , introduction to databases, introduction to web design, advanced excel (excel statistics and economical formulas), data visualisation, social networking for commercial and marketing purposes.

Prerequisites: ----------

Bibliography: ----------

Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS011 Introduction to Information Society

Type: Unrestricted Choice (for students of other departments)

Level: Undergraduate

Semester: ...................

Credit: 6 ECTS units

Instructor: ...................

Objectives: Familiarization with the most prominent concepts and applications of Information Society.
Content: Presentation of the formed framework for Information Society (IST). Basic concepts and constituent elements of IST, and the wider context for its application. Issues such as electronic government, telematics, digital business, electronic commerce, telemedicine, etc. Effects of IST on society and economy.

Prerequisites: ---------

Bibliography:

  1. B. A. Forouzan, Εισαγωγή στην Επιστήμη των Υπολογιστών, Εκδόσεις “ΚΛΕΙΔΑΡΙΘΜΟΣ”, 2003.

Teaching methods: Lectures (3 hours weekly).

Assessment: Final exam and homework (individual midterm project and final group project).

CS012 Web Design Technologies

Type: Unrestricted Choice (for students of other departments)

Level: Undergraduate

Semester: Spring

Credit: 6 ECTS units

Instructor:...................

Objectives: (a) basic concepts of the Internet and the WWW, (b) well-know technologies for designing and developing websites and (c) the use of specialized web development software.

Content: Introduction to the Internet and the WWW. Web design and development technologies. Web servers and HTTP, HTML, XHTML, CSS, Javascript. User interface design guidelines. Usability evaluation.

Prerequisites: --------

Bibliography:

  1. Σ. Ρετάλης, Γ. Τσέλιος, HTML: Μαθήματα από το Απλό στο Σύνθετο, Εκδόσεις Καστανιώτη, 2003.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS013 History and Philosophy of Computation

Type: Unrestricted Choice (for students of other departments)

Level: Undergraduate

Semester: Spring

Credit: 6 ECTS units

Instructor: A. Kakas

Objectives: Basic understanding of the foundational motion of computation, Computational machine and intelligence through their historical evolution. Theoretical and practical understanding of the automation of computation. Understanding of the relationship between computing and human intelligence.

Content: Foundational motions of computation, complexity, computational machine, algorithm, programming language, knowledge and intelligence. Basic computational models and their corresponding problems. Historical development of computers and their theoretical basis. The scientific and engineering character of computer science. The relation of computer science to other disciplines such as mathematics, physics, psychology and biology. Computing today over the internet and its future development. Artificial intelligence and machines with intelligent behavior. The human brain and mind as computing machines. Automation of logic and argumentation. Natural language as a computing language.

Prerequisites: --------

Bibliography:

  1. L. Floridi, Guide to the Philosophy of Computing and Information, Backwell 2004.
  2. Selected articles from the Journal of Minds and Machines.

Teaching methods: Lectures (3 hours weekly) and Recitation (1 hour weekly).

Assessment: Final exam and homework.

CS014 Aristotle, Logic and Ethical Computer Science

Type: Unrestricted Choice (for students of other departments)

Level: Undergraduate

Semester: Spring

Credit: 6 ECTS units

Instructor: A. Kakas

Objectives: Understanding the evolution Understanding the evolution of Logic from ancient times through a modern understanding of the needs of Information Technology and especially Artificial Intelligence. Understand the relationship between Aristotle's Logic with ethical values and the ethics of Artificial Intelligence machines.

Content: Fundamental concepts of reasoning and logic by Aristotle. Distinguishing between evidence and dialectical reasoning (Aristotle). Linking the two types of reasoning with the needs of IT yesterday and today. From Aristotelian logic to Boolean logic and Digital logic. Dialectical Argumentation by Aristotle to the Present and its Relation to Computational Argumentation in Artificial Intelligence. Aristotle's Collective as a Logic and Computational Framework. Strict reasoning and reasoning of man. Reasoning Automation and Cognitive Computing Arguments. Relation of Aristotle's Logic to Ethical Values and the Ethics of Artificial Intelligence Machines. Practical reasoning and framework for ethical behavior of people and machines.

Prerequisites: --------

Bibliography:

  1. Aristotle, Όργανον, and Ηθικά Νικομάχεια.
  2. H. White, M. Shenefelt: If A Then B: How the World Discovered logic, Columbia University Press, 2013.
  3. ΕΕ AI HLEG, Ευρωπαϊκός Κώδικας «Ηθικής και Αξιόπιστης Τεχνητής Νοημοσύνης», 2019
  4. B.J. Gross et al., Embedded EthiCS: Integrating Ethics Across CS Education, Communications of the ACM, Vol62 (No 8), pp 54-61, 2019

Teaching methods: Lectures (3 hours weekly).

Assessment: Final exam (50%) and assignments (50%).

CS031 Introduction to Programming

Type: Compulsory for students of MAS Department

Level: Undergraduate

Semester: Spring

Credit: 7 ECTS units

Instructor: ...................

Objectives: Introduction of the basic principles of programming with emphasis on structured programming, abstraction, and the design, implementation, checking and debugging of modular programs. Application of these principles using the FORTRAN 90/95 programming language.

Content: Computers and binary system. Hardware and software. Program development cycle, algorithms and flow diagrams. Alphabet and syntax of FORTRAN. Operators. Selection structures and loops. Arrays. Functions and subroutines. Recursion. Formatted input-output. Files. Dynamic data.

Prerequisites: ----------

Bibliography:

  1. Δ. Ματαράς, Φ. Κουτελιέρης, Προγραμματισμός Fortran 90/95 για Επιστήμονες και Μηχανικούς, Εκδόσεις ΤΖΙΟΛΑ, 2003.
  2. L. Nyhoff, S. Leestma, Introduction to Fortran 90, Prentice Hall, 1999.

Teaching methods: Lectures (3 hours weekly), Laboratory sessions (1.5 hour weekly) and Recitation (1 hour weekly).

Assessment: Final exam, midterm exam, homework (theoretical and programming assignments) and quizzes.

CS032 Introduction to Computer Science & Information Systems

Type: Compulsory (for the students of the departments of ECO and PBA)

Level: Undergraduate

Semester: Spring

Credit: 6 ECTS units

Instructor: ...................

Objectives: Programming is examined as a problem-solving method. In particular the course presents the fundamentals of algorithmic thought and the implementation thereof through a programming language. Also, a high level programming language is introduced. Upon completion of the course students are expected to be able to cast problem solutions into an algorithmic form, and will have obtained a basic exposure to a widely used programming language such as C or Python.

Content: Introduction to the principles of programming with emphasis on structured programming, abstraction, and the design, implementation, checking and debugging of modular programs. Mastering the material through laboratory exercises in the C programming language.

Prerequisites: --------

Bibliography:

  1. W. F. Punch, R. Enbody, The Practice of Computing Using Python, Second Edition, Addison-Wesley, 2013.

Teaching methods: Lectures (3 hours weekly) and Recitation/Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework.

CS033 Introduction to Programming for Engineers

Type: Compulsory for students of the Department of CEE

Level: Undergraduate

Semester: Fall

Credit: 5 ECTS units

Instructor: ...........

Objectives: Introduction of methods for problem-solving through programming. Provision of deep understanding of basic programming principles and algorithmic techniques, design, implementation, testing and debugging of modular programs. Application of the basic principles using the C programming language.

Content: Basic principles of programming with emphasis on structured programming, abstraction, and the design, implementation, checking and debugging of modular programs. Mastering of the material through laboratory exercises in a traditional programming language such as C.

Prerequisites: ---------

Bibliography:

  1. J. R. Hanly, E. B. Koffman, C Program Design for Engineers, Second Edition, Addison-Welsey, 2001.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exams and homework (including programming assignments).

CS034 Introduction to Programming for Electrical and Computer Engineers

Type: Compulsory for students of the Department of ECE

Level: Undergraduate

Semester: Spring

Credit: 7 ECTS units

Instructor: ...................

Objectives: Introduction of methods for problem-solving through programming. Development of procedural problem solving skills and algorithmic thinking. Provision of deep understanding of basic programming principles and algorithmic techniques, design, implementation, testing and debugging of modular programs. Understanding the important concepts such as program abstraction and data abstraction. Mastering of a high-level programming language (C).

Content: Introduction to computers and programming languages. Problem solving and programming, problem specification, algorithms and programs, modular programming, program and data abstraction. Software development process, top-down design, problem decomposition, reuse, trial and debugging. Variables: names, values, addresses, basic types (numbers, characters, logical values), operators and expressions, constants, library usage. Input/Output operations. Procedures (functions), parameters, calls, value or address referral. Program flow, variables’ scope, lifecycle of variables/function calls, program’s state. Procedural programming, algorithmic structures (sequence, selection, loop, recursion), memory. Synthesized and enumerated data types, arrays (vectors and multidimensional), structures, pointers (variables of pointer type, address and indirect referral operators, arrays and pointers and functions). Introduction to dynamic memory allocation.

Prerequisites: ---------

Bibliography:

  1. J. R. Hanly, E. B. Koffman, Problem Solving and Program Design in C, Fourth Edition, Addison-Wesley, 2003.
  2. B. W. Kernighan, D. M. Ritchie, Η Γλώσσα Προγραμματισμού C, 2nd Edition, Εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ, 1990.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exams and homework (programming assignments) and quizzes.

CS035 Data Structures and Algorithms for Electrical and Computer Engineers

Type: Compulsory for students of the Department of ECE

Level: Undergraduate

Semester: Fall

Credit: 7 ECTS units

Instructor: ...................

Objectives: This course studies methods of efficient organization and manipulation of data, complexity analysis of algorithm design techniques. The main objectives of the course are to familiarize students with data structures and their associated algorithms, techniques for evaluating the complexity of algorithms, and the development of skills for efficient algorithm design and implementation.

Content: Advanced programming techniques based on the programming language C: Recursion, Structures, Pointers, File and Memory management. Data types and abstract data types. Algorithm complexity analysis: worst-case and average-case analysis. Linear data structures: List, Stack and Queue, using static and dynamic memory allocation methods. Applications of linear data structures. Sorting algorithms: SelectionSort, InsertionSort, MergeSort, QuickSort and BucketSort. Tree data structures: Binary Trees, Binary Search Trees, Balanced Trees, B-trees. Priority Queues and Heaps. Graphs: definitions, data structures, topological sorting algorithms, graph traversal algorithms. Hashing techniques, hash functions and collision resolution techniques.

Prerequisites: CS034

Bibliography:

  1. R. F. Gilberg, B. A. Fourouzan, Data Structures: A Pseudocode Approach with C, 2nd Edition, Thomson Publishing, 2005.
  2. K. N. King, C Programming: A Modern Approach, 2nd Edition, W. W. Norton & Company, 2008.
  3. Ν. Μισυρλής, Δομές Δεδομένων με C, 2002.
  4. M. Allen Weiss, Data Structures and Algorithm Analysis in C, Addison Wesley, 1996.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly), Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (theoretical and programming assignments)

CS041 e-Health and Medical Informatics

Type: Compulsory for students of the Medical School

Level: Undergraduate

Semester: Fall

Credit: 6 ECTS units

Instructor: .................

Objectives: Introducing the doctor of the future to the new world order of electronic health (e-health) and medical informatics at local, European and international level. Consolidating the legislative and social framework of e-health. Explaining and appreciating the patient-centric approach to medical practice as a prerequisite for successful implementation of e-health. Exploitation of the potential offered by information and communication technologies in medicine and clinical practice, particularly through the modeling of medical practice, procedures and knowledge. Appreciating the importance of the available medical data for making e-health a reality.

Content: Introduction to the e-health environment and the appropriate operating framework. Legislative regulatory and social background needed for its materialization. The importance of information technology in extracting useful information from vast medical databases. Applications of computer systems used for the movement of medical knowledge, medical information management, proper use of a citizen's electronic folder for patients and support a medical decision. Reference to the legal framework that regulates the medical practice, in accordance with European and international directives.

Prerequisites: ---------

Bibliography: no book that covers all material expected to be taught in the course exists. Extensive use of the Internet will be recommended, even in the classroom. The following books are recommended.

  1. D. Koutsouris, S. Pavlopoulos, A. Prentza, Introduction to Biomedical Engineering and Systems Analysis, Publisher: Tziola, 2003.
  2. E. H. Shortliffe, J. J. Cimino (Eds.), Biomedical Informatics: Computer Applications in Health Care and Biomedicine, Springer Verlag; 3rd edition, 2006.

Teaching methods: Lectures/presentations (3 hours weekly), and Recitation (1 hour weekly), discussions/presentations. Structured visits to hospital clinics for data collection and exploitation as to how these can be used by the medical staff.

Assessment: Written exams (midterm and final), essays (studies and/or exercises).

CS042 eHealth Seminars

Type: Compulsory for students of the Medical School

Level: Undergraduate

Semester: Spring

Credit: 2 ECTS units

Instructor: .................

Objectives: Familiarization with the information and communication technologies (ICT) and their practical application in medicine and the medical environment. Acquiring of knowledge through eHealth practices adopted in real life by the distinguished presenters of the seminars. Study through videos practices in real environments such as, the intensive care unit, laparoscopic operations, robotic assisted operations, telediagnosis, teleconsultation; appreciation of the importance of medical databases. Understanding of what is coming up in future medicine, considering that ICT will continue to grow and offer its services to the medical profession.

Content: Selected presentations/demonstrations by at least six medical experts selected from Cyprus or abroad according to their availability. Teleconferencing may be used for real life presentations and communication with the selected presenters.

Prerequisites: CS041

Bibliography: no book that covers all material expected to be taught in the course exists. Relevant bibliography will be provided by the presenters of the seminars and the Instructor of the course.

Teaching methods: Lectures/presentations (1.5 hours biweekly). Structured visits to hospital clinics in coordination with the presenters and the Medical School.

Assessment: Written e-exam, assignments (one individual and one group assignment).