Εισαγωγή στον Προγραμματισμό (ΜΑΥ343): Διαφορά μεταξύ των αναθεωρήσεων

Από Wiki Τμήματος Μαθηματικών
Χωρίς σύνοψη επεξεργασίας
 
(13 ενδιάμεσες αναθεωρήσεις από τον ίδιο χρήστη δεν εμφανίζεται)
Γραμμή 1: Γραμμή 1:
[[Περιγράμματα Προπτυχιακών Μαθημάτων]] - [https://math.uoi.gr Τμήμα Μαθηματικών]
* [[Introduction to Programming (MAY343)|English version]]
{{Course-UnderGraduate-Top-GR}}
{{Menu-OnAllPages-GR}}


=== Γενικά ===
=== Γενικά ===
Γραμμή 26: Γραμμή 28:
| Διαλέξεις και Ασκήσεις / Quiz (Εβδομαδιαίες Ώρες Διδασκαλίας: 5, Πιστωτικές Μονάδες: 7.5)
| Διαλέξεις και Ασκήσεις / Quiz (Εβδομαδιαίες Ώρες Διδασκαλίας: 5, Πιστωτικές Μονάδες: 7.5)
|-
|-
! Τύπος Μαθήματος
! [[Τύποι Προπτυχιακών Μαθημάτων|Τύπος Μαθήματος]]
| Γενικού Υποβάθρου
| Επιστημονικής Περιοχής
|-
|-
! Προαπαιτούμενα Μαθήματα
! Προαπαιτούμενα Μαθήματα
Γραμμή 39: Γραμμή 41:
|-
|-
! Ηλεκτρονική Σελίδα Μαθήματος (URL)
! Ηλεκτρονική Σελίδα Μαθήματος (URL)
| Δείτε το [https://ecourse.uoi.gr/ eCourse], το Σύστημα Διαχείρισης Μάθησης του Πανεπιστημίου Ιωαννίνων.
| Δείτε το [https://ecourse.uoi.gr/ eCourse], την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων.
|}
|}


Γραμμή 47: Γραμμή 49:
|-
|-
! Μαθησιακά Αποτελέσματα
! Μαθησιακά Αποτελέσματα
| Ο κύριος σκοπός του μαθήματος είναι η ανάλυση και επίλυση προβλημάτων με χρήση του ηλεκτρονικού υπολογιστή και μία γλώσσα υψηλού επιπέδου που στην προκειμένη περίπτωση είναι η C++ και η python.
|
Βασικά χαρακτηριστικά των γλωσσών προγραμματισμού C++ και python. Σχεδίαση και ανάλυση υπολογιστικών προγραμμάτων, διόρθωση σφαλμάτων, έλεγχος, τεκμηρίωση, και αμυντικός προγραμματισμός. Βασικοί τύποι δεδομένων. Εντολές ελέγχου ροής προγράμματος. Είσοδος δεδομένων και έξοδος αποτελεσμάτων. Τύποι δεδομένων, συμβολοσειρές, και πίνακες. Υποπρογράμματα, βασικές και αναδρομικές συναρτήσεις, διαβίβαση τιμών των παραμέτρων δια μέσω τιμής και δια μέσω διεύθυνσης. Διάρκεια (ζωής) προσδιοριστών και κανόνες εμβέλειας και ορατότητας. Προεπεξεργαστής και βιβλιοθήκες. Τεχνικές αποτελεσματικού προγραμματισμού και εξοικείωση με αλγορίθμους. Εφαρμογές σε προβλήματα αναζήτησης, ταξινόμησης και μαθηματικών προβλημάτων.
Tο μάθημα στοχεύει στην ανάλυση και επίλυση προβλημάτων χρησιμοποιώντας τον υπολογιστή καθώς και στην εισαγωγή μιας γλώσσας προγραμματισμού υψηλού επιπέδου (που στην περίπτωση αυτή είναι η C++ και η Python). Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής/τρια θα είναι σε θέση να:
Στο μάθημα περιλαμβάνονται εργαστηριακές ασκήσεις στις οποίες η συμμετοχή είναι υποχρεωτική.
* Γράψει απλά ή σύνθετα προγράμματα.
<br/>
* Επαληθεύσει την ορθότητα και την καταλληλόλητα ενός προγράμματος.
Στόχος του μαθήματος είναι η εισαγωγή αλγοριθμικής σκέψης με την χρήση Η/Υ και την ανάπτυξη ικανοτήτων και δεξιοτήτων του φοιτητή με μια γλώσσα προγραμματισμού.
* Αποσφαλματώσει ένα πρόγραμμα.
* Κατανοήσει θεμελιώσεις έννοιες, δομές και τεχνικές προγραμματισμού.
* Χρησιμοποιήσει πίνακες, συμβολοσειρές και συναρτήσεις.
* Κατανοήσει βασικές έννοιες αντικειμενοστραφούς προγραμματισμού.
* Διεξάγει προχωρημένους αριθμητικούς υπολογισμούς μέσω προγραμματισμού.
* Χρησιμοποιήσει δομές ροής ελέγχου, συνθήκες, δομές απόφασης και βρόχους.
* Δομήσει ένα πρόγραμμα με τη βοήθεια επαναληπτικών και αναδρομικών συναρτήσεων.
* Προγραμματίσει βασικές λειτουργίες σε δεδομένα, όπως αναζήτηση και ταξινόμηση.
|-
|-
! Γενικές Ικανότητες
! Γενικές Ικανότητες
Γραμμή 65: Γραμμή 74:
=== Περιεχόμενο Μαθήματος ===
=== Περιεχόμενο Μαθήματος ===


* Βασικές Τεχνικές Προγραμματισμού με τη γλώσσα προγραμματισμού C++.
* Εισαγωγή στον προγραμματισμό
*# Ροή ελέγχου if/else και δομές επανάληψης for, while, do-while
* Αριθμητικοί, boolean και λογικοί τελεστές
*# Αμυντικός Προγραμματισμός
* Εντολές και παραστάσεις
*# Πίνακες (μονοδιάστατοι και πολυδιάστατοι)
* Έλεγχος ροής: if/else, switch, for, while, do-while
* Συναρτήσεις, εμβέλεια μεταβλητών και αναδρομή  
* Πίνακες, συμβολοσειρές, αντικείμενα
* Εφαρμογές σε αναζήτηση στοιχείων και βασικοί αλγόριθμοι ταξινόμησης
* Είσοδος/Έξοδος
* Βασικές Τεχνικές Προγραμματισμού με τη γλώσσα προγραμματισμού Python
* Συναρτήσεις, εμβέλεια μεταβλητών και αναδρομή
*# Ροή ελέγχου και επανάληψης στη Python
* Αναζήτηση και ταξινόμηση δεδομένων
*# Λίστες και πλειάδες στη Python.
* Στοιχειώδεις δομές δεδομένων.


=== Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση ===
=== Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση ===
Γραμμή 105: Γραμμή 114:
|-
|-
| Επίλυση Ασκήσεων - εργασίες
| Επίλυση Ασκήσεων - εργασίες
| 22,5
| 22.5
|-
|-
| Σύνολο Μαθήματος  
| Σύνολο Μαθήματος  

Τελευταία αναθεώρηση της 09:59, 15 Ιουνίου 2023

Γενικά

Σχολή Σχολή Θετικών Επιστημών
Τμήμα Τμήμα Μαθηματικών
Επίπεδο Σπουδών Προπτυχιακό
Κωδικός Μαθήματος 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%)
    1. Ερωτήσεις πολλαπλής επιλογής
    2. Ανάπτυξη προγραμμάτων
  • Εργαστηριακές Ασκήσεις (30%)
    1. Ερωτήσεις πολλαπλής επιλογής
    2. Ανάπτυξη προγραμμάτων

Συνιστώμενη Βιβλιογραφία

Δείτε την υπηρεσία Εύδοξος ή το τοπικό αποθετήριο του Τμήματος Μαθηματικών για τα παρεχόμενα συγγράμματα ανά ακαδημαϊκό έτος. Συγγράμματα και άλλες πηγές εκτός της υπηρεσίας Εύδοξος:

  • 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)