Εισαγωγή στον Προγραμματισμό
Γενικά
| Σχολή
|
Σχολή Θετικών Επιστημών
|
| Τμήμα
|
Τμήμα Μαθηματικών
|
| Επίπεδο Σπουδών
|
Προπτυχιακό
|
| Κωδικός Μαθήματος
|
MAY343
|
| Εξάμηνο
|
3
|
| Τίτλος Μαθήματος
|
Εισαγωγή στον Προγραμματισμό
|
| Αυτοτελείς Διδακτικές Δραστηριότητες
|
Διαλέξεις και Ασκήσεις / Quiz (Εβδομαδιαίες Ώρες Διδασκαλίας: 5, Πιστωτικές Μονάδες: 7.5)
|
| Τύπος Μαθήματος
|
Επιστημονικής Περιοχής
|
| Προαπαιτούμενα Μαθήματα
|
|
| Γλώσσα Διδασκαλίας και Εξετάσεων
|
Ελληνική
|
| Το Μάθημα Προσφέρεται σε Φοιτητές Erasmus
|
Ναι (στην Αγγλική γλώσσα)
|
| Ηλεκτρονική Σελίδα Μαθήματος (URL)
|
Δείτε το eCourse, την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων.
|
Μαθησιακά Αποτελέσματα
| Μαθησιακά Αποτελέσματα
|
Tο μάθημα στοχεύει στην ανάλυση και επίλυση προβλημάτων χρησιμοποιώντας τον υπολογιστή καθώς και στην εισαγωγή μιας γλώσσας προγραμματισμού υψηλού επιπέδου (που στην περίπτωση αυτή είναι η C++ και η Python). Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής/τρια θα είναι σε θέση να:
- Γράψει απλά ή σύνθετα προγράμματα.
- Επαληθεύσει την ορθότητα και την καταλληλόλητα ενός προγράμματος.
- Αποσφαλματώσει ένα πρόγραμμα.
- Κατανοήσει θεμελιώσεις έννοιες, δομές και τεχνικές προγραμματισμού.
- Χρησιμοποιήσει πίνακες, συμβολοσειρές και συναρτήσεις.
- Κατανοήσει βασικές έννοιες αντικειμενοστραφούς προγραμματισμού.
- Διεξάγει προχωρημένους αριθμητικούς υπολογισμούς μέσω προγραμματισμού.
- Χρησιμοποιήσει δομές ροής ελέγχου, συνθήκες, δομές απόφασης και βρόχους.
- Δομήσει ένα πρόγραμμα με τη βοήθεια επαναληπτικών και αναδρομικών συναρτήσεων.
- Προγραμματίσει βασικές λειτουργίες σε δεδομένα, όπως αναζήτηση και ταξινόμηση.
|
| Γενικές Ικανότητες
|
- Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
- Προαγωγή ελεύθερης, δημιουργικής και επαγωγικής σκέψης
- Αυτόνομη εργασία
- Ανάλυση απαιτήσεων για επίλυση προβλημάτων
- Ανάπτυξη αλγοριθμικής σκέψης
- Ικανότητα αφαίρεσης στη μοντελοποίηση προβλημάτων
|
Περιεχόμενο Μαθήματος
- Εισαγωγή στον προγραμματισμό
- Αριθμητικοί, boolean και λογικοί τελεστές
- Εντολές και παραστάσεις
- Έλεγχος ροής: if/else, switch, for, while, do-while
- Πίνακες, συμβολοσειρές, αντικείμενα
- Είσοδος/Έξοδος
- Συναρτήσεις, εμβέλεια μεταβλητών και αναδρομή
- Αναζήτηση και ταξινόμηση δεδομένων
- Στοιχειώδεις δομές δεδομένων.
|
Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση
| Τρόπος Παράδοσης
|
- Εβδομαδιαίες διαλέξεις στην τάξη
- Εργαστήρια στις εργαστηριακές αίθουσες
|
| Χρήση Τεχνολογιών Πληροφορίας και Επικοινωνιών
|
- Χρήση διαφανειών στις διαλέξεις.
- Χρήση υπολογιστών στο εργαστήριο για την ανάπτυξη και έλεγχο των προγραμμάτων.
- Λογισμικό Προγραμματισμού στο περιβάλλον DevC++.
- Λογισμικό Προγραμματισμού στο περιβάλλον python.
- Υποστήριξη Μαθησιακής διαδικασίας μέσω της ηλεκτρονικής πλατφόρμας ecourse
|
| Οργάνωση Διδασκαλίας
|
| Δραστηριότητα
|
Φόρτος Εργασίας Εξαμήνου
|
| Διαλέξεις (13Χ5)
|
65
|
| Αυτοτελής Μελέτη
|
100
|
| Επίλυση Ασκήσεων - εργασίες
|
22.5
|
| Σύνολο Μαθήματος
|
187.5
|
|
| Αξιολόγηση Φοιτητών
|
- Γραπτή τελική εξέταση (70%)
- Ερωτήσεις πολλαπλής επιλογής
- Ανάπτυξη προγραμμάτων
- Εργαστηριακές Ασκήσεις (30%)
- Ερωτήσεις πολλαπλής επιλογής
- Ανάπτυξη προγραμμάτων
|
Συνιστώμενη Βιβλιογραφία
Δείτε την υπηρεσία Εύδοξος.
Συγγράμματα και άλλες πηγές εκτός της υπηρεσίας Εύδοξος:
Introduction to Programming
General
| School
|
School of Science
|
| Academic Unit
|
Department of Mathematics
|
| Level of Studies
|
Undergraduate
|
| Course Code
|
MAY343
|
| 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
|
Greek
|
| 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.
|
Syllabus
- 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
| Delivery
|
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.
Books and other resources, not provided by Eudoxus:
- [Περιοδικό / Journal] Science of Computer Programming, ELSEVIER.
- [Περιοδικό / Journal] ACM Transactions on Programming Languages and Systems (TOPLAS)