# Introduction to Computer Science (MAY242)

### General

School School of Science Department of Mathematics Undergraduate MAY242 2 Introduction to Computer Science Lectures and laboratory exercises (Weekly Teaching Hours: 5, Credits: 7.5) General Background - Greek Yes (in English) See eCourse, the Learning Management System maintained by the University of Ioannina.

### Learning Outcomes

Learning outcomes This course offers an introduction to the Computer Science. It mainly focuses on how to algorithmically solve simple and complex mathematical problems. It provides basic programming techniques using a high-level programming language such as C/C ++. Moreover, the course analyzes the basic numbering systems, it provides the basic arithmetic operations in different numerical systems and refers to the representation of information on computer systems. Additionally, the course provides basic concepts of mathematical logic, such as Boolean algebra, and principles that govern the semantic and syntactic approach of propositional logic. Upon completion of the course, the students will be able to: Recognize different numbering systems and process number representations on computer systems. Understand basic concepts and theorems of propositional logic, make use of metatheorems of propositional logic and understand the formal proof of logical expressions through the syntactic approach. Describe basic algorithms for solving simple and complex mathematical problems and implement algorithms by using basic concepts of a programming language (C/C ++). The course includes laboratory exercises in which the participation is obligatory. Search for, analysis and synthesis of data and information, with the use of the necessary technology Working independently Team work Project planning and management Development of algorithmic thinking

### Syllabus

• Introduction to Numerical Representation
1. Arithmetic operations in numerical systems
2. Representations of binary numbers
• Introduction to Mathematical Logic (Boolean Algebra)
1. Semantic approach: principles of propositional logic, conjunctive normal form (CNF), complete sets, meta-theorems
2. Syntactic approach: axioms, Modus Ponens rule, meta-theorems (abduction, inversion), validity and completeness theorems.
• Basic Programming Techniques with programming language C/C++
1. Input/Output data, type of structures and variables
2. Flow control if/else
3. Loop structures: for, while, do-while
4. Defensive Programming
5. Arrays (one dimension and multidimensions)

### Teaching and Learning Methods - Evaluation

Delivery

Lectures, labs session

Use of Information and Communications Technology
• Projector and interactive board during lectures.
• Computer for demonstration of programming.
• Computers in laboratories for development and testing of programs.
• Course website maintenance.
• Announcements and posting of teaching material (lecture slides and notes, programs).
• Assessment marks via the ecourse platform by UOI.
Teaching Methods
Lectures (13X5) 65
Self study 100
Exercises 22.5
Course total 187.5
Student Performance Evaluation

Written final exam (70%)

• Multiple choice questions.
• Develop programs and Implementation.

Laboratory exercises (30%).

• Multiple choice questions.
• Develop programs and Implementation.

### Attached Bibliography

See the official Eudoxus site or the local repository of Eudoxus lists per academic year, which is maintained by the Department of Mathematics. Books and other resources, not provided by Eudoxus:

• Η. Deitel and P. Deitel, C++ Προγραμματισμός 6η Εκδοση, Εκδόσεις Μ. Γκιούρδας, 2013. Κωδικός Ευδ: 12536819.
• Κωδικός Ευδόξου [77106820]: Διακριτά μαθηματικά και εφαρμογές τους, 8η Έκδοση, Kenneth H. Rosen
• Κωδικός Ευδόξου [86055409]: Διακριτά μαθηματικά, Hunter David (Συγγρ.)
• Κωδικός Ευδόξου [77109607]: Εισαγωγή στην πληροφορική, Evans Alan, Martin Kendall, Poatsy Mary Anne.
• Ζάχος, Ε., Παγουρτζής, Α., Σούλιου, Θ., 2015. Θεμελίωση επιστήμης υπολογιστών. [ηλεκτρ. βιβλ.] Αθήνα:Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών. Διαθέσιμο στο: http://hdl.handle.net/11419/545
• [Περιοδικό / Journal] IEEE Transactions on Computers