21
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 1 ο Εξάμηνο Σπουδών Χειμερινό Εξάμηνο 2012/13 Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης Διδάσκων: Χαρμανδάρης Ευάγγελος, email: [email protected] , Ιστοσελίδα Μαθήματος: www.tem.uoc.gr/~vagelis/Courses/ΤEM101/em101.html

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

  • Upload
    others

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

1ο Εξάμηνο Σπουδών

Χειμερινό Εξάμηνο 2012/13

Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης

Διδάσκων: Χαρμανδάρης Ευάγγελος, email: [email protected],

Ιστοσελίδα Μαθήματος:

www.tem.uoc.gr/~vagelis/Courses/ΤEM101/em101.html

Page 2: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Δομή και λειτουργίες ενός ηλεκτρονικού υπολογιστή

Hardware, Software.

Σκοπός τoυ Μαθήματος:

Εξοικείωση με τον Η/. Εκμάθηση του λειτουργικού συστήματος UNIX/LINUX.

Αλγόριθμοι και γλώσσες προγραμματισμού.

Προγραμματισμός με τη γλώσσα C.

Υλοποίηση αλγορίθμων με τη γλώσσα προγραμματισμού C: Επίλυση

προβλημάτων για κάποιο σύστημα εκφρασμένο με μαθηματικές εξισώσεις.

Αντικείμενο Μαθήματος

Page 3: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Τελική εξέταση: 65% και Ασκήσεις/Εργαστήριο: 35%

Προσοχή: ο βαθμός τόσο του εργαστηρίου όσο και της τελικής

εξέτασης πρέπει να είναι > 5 (50/%).

Αξιολόγηση / Βαθμολογία

• Προαπαιτούμενα:

Βασική κατανόηση της λειτουργίας ενός ηλεκτρονικού υπολογιστή.

• Σχετικά μαθήματα:

Γλώσσα προγραμματισμού Η/Υ (ΤΕΜ-102).

Αριθμητική Ανάλυση (ΤΕΜ-181).

Page 4: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Διαλέξεις.

Εργαστήρια: Παρουσίαση παραδειγμάτων. Υλοποίηση αλγορίθμων με

τη γλώσσα προγραμματισμού C.

Σημειώσεις σε μορφή Powerpoint.

6 ώρες την εβδομάδα (θεωρία + ασκήσεις/εργαστήριο).

Διδασκαλία Μαθήματος

Page 5: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

• Κεφάλαιο 1 – Εισαγωγικά στοιχεία: Ιστορική εξέλιξη των υπολογιστών. Hardware,

Software.

• Κεφάλαιο 2 – Το λειτουργικό σύστημα UNIX/LINUX: Το ηλεκτρονικό ταχυδρομείο και το

διαδίκτυο. Σελιδομετρητές και μηχανές ψαξίματος του διαδικτύου.

• Κεφάλαιο 3 – Αλγόριθμοι και γλώσσες προγραμματισμού : Βασικές έννοιες ενός

αλγορίθμου. Παραδείγματα.

• Κεφάλαιο 4 – Γλώσσα προγραμματισμού C: Το πρώτο μου πρόγραμμα «Hello World!»

• Κεφάλαιο 5 – Στοιχεία γλώσσας προγραμματισμού C: Μεταβλητές και τύποι

δεδομένων. Σταθερές. Αρχικοποίηση μεταβλητών.

• Κεφάλαιο 6 – Στοιχεία γλώσσας προγραμματισμού C (συνέχεια): Εντολές ελέγχου.

Επαναληπτικές διαδικασίες.

• Κεφάλαιο 7 – Υλοποίηση Αλγορίθμων με τη Γλώσσα C: Εφαρμογές σε ένα εύρος

διαφορετικών προβλημάτων.

Διάρθρωση Μαθήματος / Περιεχόμενα

Page 6: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Για το μάθημα θα χρειαστούμε:

Βασικές γνώσεις ανάλυσης.

Βασικές γνώσεις μαθηματικής μοντελοποίησης.

Χρήση λογισμικού πακέτου (Matlab).

Τα παραπάνω θέματα θα παρουσιασθούν και μέσα στο μάθημα για

την καλύτερη κατανόηση των περιεχομένων του μαθήματος.

Διδασκαλία Μαθήματος

Page 7: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Το εργαστήριο του μαθήματος συμπεριλαμβάνει:

Κατανόηση δομής και λειτουργίας ενός ηλεκτρονικού υπολογιστή.

Εισαγωγή – Εξοικείωση στο λειτουργικό σύστημα UNIX/LINUX.

Βασικά Υλοποίηση αλγορίθμων σε γλώσσα προγραμματισμού C.

Υλοποίηση αλγορίθμων σε γλώσσα προγραμματισμού C.

Κατά τη διάρκεια του εξαμήνου θα δοθούν (3-4) σειρές ασκήσεων.

Οι ασκήσεις είναι είτε ατομικές είτε σε ομάδες των 2 ατόμων.

Εργαστήριο Μαθήματος

Page 8: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Μετά την ολοκλήρωση του μαθήματος θα πρέπει να έχετε κατανοήσει

Το πώς δουλεύει ένας ηλεκτρονικός υπολογιστής,

και να είστε σε θέση:

Να υλοποιείτε απλούς αλγορίθμους σε γλώσσα προγραμματισμού

C.

Να επιλύεται μαθηματικά προβλήματα χρησιμοποιώντας

προγραμματισμό.

Να αναλύεται/χρησιμοποιείται πολύπλοκα προγράμματα σε C.

Στόχοι Μαθήματος

Page 9: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Εισαγωγικές Έννοιες

Τι είναι ένας ηλεκτρονικός υπολογιστής, Η/Υ ?

Ιστορία των Η/Υ

Αρχιτεκτονική των Η/Υ

Δυαδικό σύστημα. Γιατί οι σύγχρονοι Η/Υ το χρησιμοποιούν?

Κεφ. I: Εισαγωγή – Ιστορικά Στοιχεία

Page 10: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Τι είναι ένας Η/Υ ?

Δυνατότητα εκτελέσεως υπολογισμών και λογικών αποφάσεων.

Πολλές (Δισεκατομμύρια?) φορές μεγαλύτερη ταχύτητα από του ανθρώπου !

Προγράμματα υπολογιστών Εντολές βάσει των οποίων ένας Η/Υ εκτελεί κάποια συγκεκριμένη εργασία

Υλικό (hardware) Ηλεκτρονικά και μηχανικά τμήματα ενός υπολογιστικού συστήματος

Λογισμικό (software) Προγράμματα και δεδομένα που εκτελούνται σε ένα Η/Υ

Page 11: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Ιστορία των Η/Υ

~ 2000 π.χ.: Επίλυση πρακτικών υπολογιστικών προβλημάτων.

B. Pascal (~1640) Μηχανή πρόσθεσης

G. Leibniz (~1673) Μηχανή τεσσάρων βασικών πράξεων (+, -, *, /)

Joseph Babbage (~1850) Μηχανικοί υπολογιστές: Εισαγωγή, Επεξεργασία Εξαγωγή. Αναλυτική Μηχανή.

George Boole (~1850) Θεωρία μαθηματικής λογικής.

Ada Byron (~1880) Σχεδίασε προγράμματα για μηχανές Babbage(Αναλυτικές Μηχανές).

Alan Turing (~1950) Έννοια προγραμματισμού.

Page 12: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Ιστορία των Η/Υ

(~1946) von Neumann: Έννοια αποθηκευμένου προγράμματος.

~ 1947: Εφεύρεση κρυσταλλοδιόδου (transistor)

~ 1959: Εφεύρεση ολοκληρωμένου κυκλώματος (integrated circuit, chip) .

Page 13: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Μηχανές Babbage

Υπολογισμοί με βάση «μηχανικών» υπολογιστών κινούμενων με ατμό. Εισήγαγε τα στάδια υπολογιστικής διαδικασίας:

Εισαγωγή-Επεξεργασία-Εξαγωγή

Page 14: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Alan Turing

Ιδέα της Προγραμματισμένης Υπολογιστικής μηχανής.

Page 15: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

John von Neumann

Εισήγαγε την έννοια αποθηκευμένου προγράμματος, δηλαδή ένα τρόπο να χρησιμοποιεί την μνήμη του υπολογιστή για να «αποθηκεύσει» ένα πρόγραμμα μέσα στον υπολογιστή ώστε ο υπολογιστής να παίρνει εντολές από την μνήμη του.

Page 16: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Άνθρωποι – Υπολογιστές (Human Computers)

Άνθρωποι οι οποίοι εκτελούσαν μια σειρά από αριθμητικές πράξεις.

Page 17: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

ENIAC (1946)

Electronic Numerical Integrator and Computer (ENIAC)

18000 λυχνίες κενού. Διαστάσεις: 9 x 18 m Βάρος: 30 τόνοι.

Page 18: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

EDVAC (1949)

Διάδοχος του ENIAC από John Eckert and John Mauchly of U Penn & John von Neumann.

Η «αποθήκευση προγράμματος» γινόταν σε επίπεδο μνήμης.

Jonh Von Neumann

Όλα τα δεδομένα και εντολές αναπαρίστανται μέσω δυαδικού κώδικα και αποθηκεύονται στην μνήμη του υπολογιστή.

Ο υπολογιστής δεν διακρίνει δεδομένα από εντολές.

Page 19: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Ιστορικά Στοιχεία: Συνέχεια

1947 William Shockley invents the transistor, a solid-state, reliable version of

the vacuum tube.

1954 Texas Instruments announces the start of commercial production of

silicon transistors.

1969 Intel’s Ted Hoff designs a chip that can follow instructions and perform

simple functions on data.

1981 IBM introduces its Personal Computer (PC).

IBM PC5150

Page 20: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

Ιστορικά Στοιχεία: Συνέχεια

1984 Apple introduces the Macintosh, a computer using a mouse and graphic

interface.

1985 First retail version of Microsoft Windows on November 20,1985,

128 KBRAM64 KB ROM3.5" 400 KB floppy drive512 x 342 pixel , b&wmonitorA mouse A few applications (MacWrite, MacPaint)

Page 21: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστέςusers.tem.uoc.gr/~vagelis/Courses/TEM101/HY_Ch1... · 2012-10-22 · Υλοποίηση αλγορίθμων

Εισαγωγή στους Η/Υ 2012/13, Κεφάλαιο 1: Εισαγωγή

«Η Γλώσσα Προγραμματισμού C (The C Programming Language)» των Brian W. Kernighan και Dennis Μ. Ritchie, Εκδόσεις Κλειδάριθμος.

Η βιβλιογραφία βρίθει κυριολεκτικά με βιβλία για την εκμάθηση της γλώσσας και στο διαδίκτυο μπορεί να βρει κανείς χιλιάδες οδηγούς εκμάθησης (tutorials).

Εισαγωγή στο λειτουργικό σύστημα UNIX/LINUX: www.ee.surrey.ac.uk/Teaching/Unix/

«Η τέχνη και η επιστήμη της C», Eric S. Roberts, Εκδόσεις Κλειδάριθμος.

Βιβλιογραφία