Introduction to Programming (MAY343)

Από Wiki Τμήματος Μαθηματικών



School of Science

Academic Unit

Department of Mathematics

Level of Studies


Course Code


Semester 3
Course Title

Introduction to Programming

Independent Teaching Activities

Lectures, laboratory exercises, tutorials, quiz (Weekly Teaching Hours: 5, Credits: 7.5)

Course Type

General Background

Prerequisite Courses -
Language of Instruction and Examinations


Is the Course Offered to Erasmus Students

Yes (in English)

Course Website (URL) See eCourse, the Learning Management System maintained by the University of Ioannina.

Learning Outcomes

Learning outcomes

This course aims at analyzing and solving problems using the computer as well as at introducing a high-level programming language (which in this case is C++ and Python). After successfully passing this course, the students will be able to:

  • Write simple or complex programs.
  • Verify the correctness and appropriateness of a given program.
  • Debug programs.
  • Understand basic programming concepts, structures and techniques.
  • Use arrays, strings, and functions.
  • Understand elementary notions of object-oriented programming.
  • Conduct simple and complex arithmetic computations via programming.
  • Use control flow constructs, conditions, decision structures and loops.
  • Structure their programs with the help of iterative and recursive functions.
  • Program basic operations on data, such as searching and sorting.
General Competences
  • Search for, analysis and synthesis of data and information, with the use of the necessary technology
  • Working independently
  • Team work
  • Project planning and management.


  • Introduction to programming
  • Preprocessing, numerical, boolean and logical operators
  • Flow control: if/else, switch, for, while, do-while
  • Structuring, locality of parameters, pass by value/reference, variable scope, recursive functions, program stack.
  • Arrays, strings, objects
  • Input/Output
  • Functions, variables’ scope and recursion
  • Searching and sorting data
  • Elementary data structures.

Teaching and Learning Methods - Evaluation


Lectures, labs session

Use of Information and Communications Technology
  • Use of projector and interactive board during lectures.
  • Use of computer for demonstation of programming.
  • Use of computers in laboratories for development and testing of programs.
  • Course website maintenance. Announcements and posting of teaching material (lecture slides and notes, programs).
  • Announcement of assessment marks via the ecourse platform by UOI.
Teaching Methods
Activity Semester Workload
Lectures (13X5) 65
Laboratory practice 100
Tutorials 22.5
Course total 187.5
Student Performance Evaluation

Final written examination (80%)

  • Multiple choice questions
  • Develop programs

Laboratory exercises (20%)

  • Multiple choice questions
  • Develop programs

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:

  • L. Jesse, Πλήρες εγχειρίδιο της C++, Εκδόσεις Α. Γκιούρδα, 2006. Κωδικός Ευδ: 12374.
  • Βιβλίο [50656350]: Υπολογισμοί και Προγραμματισμός με την Python, John V. Guttag, Κλειδάριθμος, 2015.
  • Βιβλίο [59357236]: Εισαγωγή στον Προγραμματισμό με την Python, Schneider David
  • Βιβλίο [77119000]: Προγραμματισμός με την Python, Στράτος Καλαφατούδης, Γεώργιος Σταμούλης
  • Βιβλίο [320152]: Εισαγωγή στον Προγραμματισμό με αρωγό τη γλώσσα Python [Ηλεκτρονικό Βιβλίο], Γεώργιος Μανής
  • Βιβλίο [174838]: Python Scripting for Computational Science [electronic resource], Hans Petter Langtangen
  • Βιβλίο [170352]: Beginning Python [electronic resource], Magnus Lie Hetland
  • [Περιοδικό / Journal] Science of Computer Programming, ELSEVIER.
  • [Περιοδικό / Journal] ACM Transactions on Programming Languages and Systems (TOPLAS)