Επιστήμη υπολογιστών: Διαφορά μεταξύ των αναθεωρήσεων
Νέα σελίδα με 'Ως '''επιστήμη υπολογιστών''' (computer science) ορίζεται ως η μελέτη αλγορίθμων, δεδομένων και υπολογιστικών διαδικασιών, με ιστορική εξέλιξη από θεωρητικά μοντέλα σε πρακτικές εφαρμογές<ref>Mahoney 1988, 5.</ref>. Από τον 17ο αιώνα, μαθηματικοί όπως ο...' |
|||
| Γραμμή 21: | Γραμμή 21: | ||
! Περίοδος !! Γεγονός !! Σημασία | ! Περίοδος !! Γεγονός !! Σημασία | ||
|- | |- | ||
| 2400 | | 2400 ΠΚΕ || Άβακας || Πρώτο εργαλείο υπολογισμού<ref>Hendricks n.d., 1.</ref> | ||
|- | |- | ||
| 1823 || Μηχανή Διαφορών (Babbage) || Βάση προγραμματισμού<ref>Onifade n.d., 8.</ref> | | 1823 || Μηχανή Διαφορών (Babbage) || Βάση προγραμματισμού<ref>Onifade n.d., 8.</ref> | ||
| Γραμμή 33: | Γραμμή 33: | ||
| 1991 || Python || Σύγχρονη γλώσσα για δεδομένα<ref>OpenStax 2024, 355.</ref> | | 1991 || Python || Σύγχρονη γλώσσα για δεδομένα<ref>OpenStax 2024, 355.</ref> | ||
|} | |} | ||
== Κλάδοι == | |||
Η επιστήμη υπολογιστών συνίσταται σε πέντε βασικούς κλάδους. Τα επιμέρους πεδία τους παρατίθενται παρακάτω, από κοινού με τα θεμελιώδη πεδία των μαθηματικών στα οποία η επιστήμη υπολογιστών εν πολλοίς στηρίζεται (ενότητα «''Μαθηματικά θεμέλια''»).{{Multicol}} | |||
{{Multicol-break}} | |||
=== Μαθηματικά θεμέλια === | |||
[[Αρχείο:6n-graf.svg|100px]] | |||
* [[Αριθμητική ανάλυση]] | |||
* [[Άλγεβρα Μπουλ]] | |||
* [[Διακριτά μαθηματικά]] | |||
* [[Θεωρία γράφων]] | |||
* [[Μαθηματική λογική]] | |||
* [[Θεωρία πεδίων]] | |||
* [[Πιθανότητες]] | |||
* [[Στατιστική]] | |||
* [[Επεξεργασία σήματος]] | |||
* [[Θεωρία πληροφοριών]] | |||
{{Multicol-break}} | |||
=== [[Θεωρητική πληροφορική]] === | |||
[[Αρχείο:DFAexample.svg|120px]] | |||
* [[Τυπική γλώσσα|Θεωρία τυπικών γλωσσών]] | |||
* [[Θεωρία υπολογισμού]] | |||
* [[Ανάλυση αλγορίθμων]] | |||
** [[Θεωρία πολυπλοκότητας]] | |||
** [[Τυπική επαλήθευση]] | |||
* [[Δομές δεδομένων]] | |||
* [[Θεωρία γλωσσών προγραμματισμού]] | |||
* [[Κατανεμημένος υπολογισμός]] | |||
* [[Υπολογιστική γεωμετρία]] | |||
* [[Κρυπτολογία]] | |||
* [[Θεωρία ουρών αναμονής]] | |||
* [[Κβαντικός υπολογισμός]] | |||
{{Multicol-break}} | |||
=== [[Μηχανική υπολογιστών]] === | |||
[[Αρχείο:Fivestagespipeline.png|120px]] | |||
* [[Ολοκληρωμένο κύκλωμα|Ολοκληρωμένα κυκλώματα]] | |||
** [[Ολοκληρωμένα κυκλώματα μεγάλης κλίμακας|VLSI]] | |||
* [[Λογική σχεδίαση]] | |||
* [[Αρχιτεκτονική υπολογιστών]] | |||
* [[Μικροπρογραμματισμός]] | |||
* [[Κεντρική Μονάδα Επεξεργασίας|Μικροεπεξεργαστές]] | |||
* [[Ψηφιακές επικοινωνίες]] | |||
{{Multicol-end}}{{Multicol}} | |||
{{Multicol-break}} | |||
=== [[Υπολογιστικά συστήματα]] === | |||
[[Αρχείο:Operating system placement.svg|90px]] | |||
* [[Δίκτυο υπολογιστών|Δίκτυα υπολογιστών]] | |||
** [[Προγραμματισμός δικτύων]] | |||
** [[Κατανεμημένο σύστημα|Κατανεμημένα συστήματα]] | |||
* [[Παράλληλο σύστημα|Παράλληλα συστήματα]] | |||
** [[Παράλληλος προγραμματισμός]] | |||
* [[Λειτουργικό σύστημα|Λειτουργικά συστήματα]] | |||
* [[Ενσωματωμένο σύστημα|Ενσωματωμένα συστήματα]] | |||
* [[Σύστημα πραγματικού χρόνου|Συστήματα πραγματικού χρόνου]] | |||
* [[Κινητό σύστημα|Κινητά συστήματα]] | |||
* [[Ασφάλεια υπολογιστικών συστημάτων]] | |||
{{Multicol-break}} | |||
=== [[Λογισμικό]] === | |||
[[Αρχείο:Python add5 syntax.svg|120px]] | |||
* [[Μηχανική λογισμικού]] | |||
** [[Προγραμματισμός υπολογιστών]] | |||
** [[Αντικειμενοστρεφής σχεδίαση]] | |||
** [[Σχεδιαστικά πρότυπα]] | |||
** [[Ανάλυση απαιτήσεων]] | |||
** [[Ποιότητα λογισμικού]] | |||
* [[Μεταγλωττιστής|Μεταγλωττιστές]] | |||
** [[Βελτιστοποίηση προγραμμάτων]] | |||
* [[Βάση δεδομένων|Βάσεις δεδομένων]] | |||
** [[Ανάκτηση πληροφορίας]] | |||
{{Multicol-break}} | |||
=== Εφαρμογές υπολογιστών === | |||
[[Αρχείο:HONDA ASIMO.jpg|90px]] | |||
* [[Γραφικά υπολογιστών]] | |||
** [[CAD]] και [[CAM]] | |||
* [[Αλληλεπίδραση ανθρώπου-υπολογιστή]] | |||
* [[Τεχνητή νοημοσύνη]] | |||
** [[Συστήματα γνώσης]] | |||
** [[Επίλυση προβλημάτων (τεχνητή νοημοσύνη)|Επίλυση προβλημάτων]] | |||
** [[Μηχανική μάθηση]] | |||
** [[Εξόρυξη δεδομένων]] | |||
** [[Αναγνώριση προτύπων]] | |||
** [[Μηχανική όραση]] | |||
** [[Ρομποτική]] | |||
** [[Επεξεργασία φυσικής γλώσσας]] | |||
* [[Βιοπληροφορική]] | |||
* [[Επεξεργασία ήχου]] | |||
* [[Επεξεργασία εικόνας και βίντεο]] | |||
* [[Συμπίεση δεδομένων]] | |||
{{Multicol-end}} | |||
==Συμπεράσματα== | ==Συμπεράσματα== | ||
Αναθεώρηση της 23:17, 27 Νοεμβρίου 2025
Ως επιστήμη υπολογιστών (computer science) ορίζεται ως η μελέτη αλγορίθμων, δεδομένων και υπολογιστικών διαδικασιών, με ιστορική εξέλιξη από θεωρητικά μοντέλα σε πρακτικές εφαρμογές[1]. Από τον 17ο αιώνα, μαθηματικοί όπως ο Napier εισήγαγαν λογαρίθμους για απλοποίηση υπολογισμών[2]. Η ακαδημαϊκή της μορφή εμφανίστηκε στα μέσα του 20ού αιώνα, επηρεασμένη από στρατιωτικές ανάγκες[3].
Θεωρητικά θεμέλια
Τα θεμέλια της ΕΥ βασίζονται σε μαθηματικά μοντέλα. Ο άβακας, εφευρεθείς περίπου το 2400 ΠΚΕ στη Βαβυλώνα, ήταν το πρώτο εργαλείο υπολογισμού[4]. Στον 3ο αιώνα ΠΚΕ ο Pingala ανέπτυξε το δυαδικό σύστημα, βάση για τη σύγχρονη λογική[5]. Το 1930 ο Church εισήγαγε τον λ-λογισμό για λειτουργικό προγραμματισμό[6]. Ο Turing, το 1936, πρότεινε τη Μηχανή Turing, θεωρητικό μοντέλο που ορίζει την υπολογισιμότητα[7].
Πρώιμοι υπολογιστές και μηχανική εποχή
Η μηχανική εποχή (1623-1945) χαρακτηρίστηκε από μηχανικές συσκευές. Το 1823, ο Babbage σχεδίασε τη Μηχανή Διαφορών για πολυωνυμικούς υπολογισμούς[8]. Το 1842, η Analytical Engine εισήγαγε προγραμματισμό με κάρτες, με την Ada Lovelace ως πρώτη προγραμματίστρια[9]. Το 1890 ο Hollerith χρησιμοποίησε διάτρητες κάρτες για την απογραφή των ΗΠΑ[10] Αυτές οι καινοτομίες έθεσαν βάσεις για αυτοματισμό[11].
Ηλεκτρονική εποχή και πρώτες γενιές
Η μετάβαση σε ηλεκτρονικούς υπολογιστές ξεκίνησε με τον Β' ΠΠ. Το 1941, ο Atanasoff ολοκλήρωσε το ABC, τον πρώτο ηλεκτρονικό υπολογιστή[12] Το 1945, το ENIAC, με λυχνίες κενού, χρησιμοποιήθηκε για βαλλιστικούς υπολογισμούς[13]. Η πρώτη γενιά (1937-1953) βασίστηκε σε λυχνίες, ενώ η δεύτερη (1954-1962) σε τρανζίστορ[14]. Το 1952 το UNIVAC ήταν το πρώτο εμπορικό σύστημα[15].
==Εξέλιξη λογισμικού και γλωσσών προγραμματισμού Το λογισμικό εξελίχθηκε από πρωτόγονο σε δομημένο. Το 1956, η FORTRAN ήταν η πρώτη υψηλού επιπέδου γλώσσα[16]. Το 1959 η COBOL χρησιμοποιήθηκε για επιχειρήσεις[17] Το 1972, γεννήθηκε η C από τον Ritchie για λειτουργικά συστήματα όπως το UNIX[18] Η λογισμική μηχανική εμφανίστηκε στα τέλη 1960 λόγω κρίσης σε μεγάλα έργα[19]. Σήμερα, παράδειγμα όπως η Python (1991) υποστηρίζουν μεγάλα δεδομένα[20].
Σύγχρονες τάσεις και προκλήσεις
Από το 1980, η τέταρτη γενιά εισήγαγε VLSI και μικροεπεξεργαστές[21]. Το 1965 ο Νόμος του Moore προέβλεψε διπλασιασμό τρανζίστορ ανά 18 μήνες[22], ενώ τα δίκτυα, όπως το ARPANET (1960), οδήγησαν στο Internet[23] Προκλήσεις περιλαμβάνουν ασφάλεια (ιούς από 1970) και ηθική σε μεγάλα δεδομένα[24] Μελλοντικά, αναμένονται οι κβαντικοί υπολογιστές και neuromorphic computing[25]
| Περίοδος | Γεγονός | Σημασία |
|---|---|---|
| 2400 ΠΚΕ | Άβακας | Πρώτο εργαλείο υπολογισμού[26] |
| 1823 | Μηχανή Διαφορών (Babbage) | Βάση προγραμματισμού[27] |
| 1945 | ENIAC | Πρώτος ηλεκτρονικός υπολογιστής[28] |
| 1956 | FORTRAN | Πρώτη υψηλού επιπέδου γλώσσα[29] |
| 1965 | Νόμος Moore | Διπλασιασμός τρανζίστορ[30] |
| 1991 | Python | Σύγχρονη γλώσσα για δεδομένα[31] |
Κλάδοι
Η επιστήμη υπολογιστών συνίσταται σε πέντε βασικούς κλάδους. Τα επιμέρους πεδία τους παρατίθενται παρακάτω, από κοινού με τα θεμελιώδη πεδία των μαθηματικών στα οποία η επιστήμη υπολογιστών εν πολλοίς στηρίζεται (ενότητα «Μαθηματικά θεμέλια»).Πρότυπο:Multicol Πρότυπο:Multicol-break
Μαθηματικά θεμέλια
- Αριθμητική ανάλυση
- Άλγεβρα Μπουλ
- Διακριτά μαθηματικά
- Θεωρία γράφων
- Μαθηματική λογική
- Θεωρία πεδίων
- Πιθανότητες
- Στατιστική
- Επεξεργασία σήματος
- Θεωρία πληροφοριών
- Θεωρία τυπικών γλωσσών
- Θεωρία υπολογισμού
- Ανάλυση αλγορίθμων
- Δομές δεδομένων
- Θεωρία γλωσσών προγραμματισμού
- Κατανεμημένος υπολογισμός
- Υπολογιστική γεωμετρία
- Κρυπτολογία
- Θεωρία ουρών αναμονής
- Κβαντικός υπολογισμός
- Ολοκληρωμένα κυκλώματα
- Λογική σχεδίαση
- Αρχιτεκτονική υπολογιστών
- Μικροπρογραμματισμός
- Μικροεπεξεργαστές
- Ψηφιακές επικοινωνίες
Πρότυπο:Multicol-endΠρότυπο:Multicol Πρότυπο:Multicol-break
- Δίκτυα υπολογιστών
- Παράλληλα συστήματα
- Λειτουργικά συστήματα
- Ενσωματωμένα συστήματα
- Συστήματα πραγματικού χρόνου
- Κινητά συστήματα
- Ασφάλεια υπολογιστικών συστημάτων
Εφαρμογές υπολογιστών
- Γραφικά υπολογιστών
- Αλληλεπίδραση ανθρώπου-υπολογιστή
- Τεχνητή νοημοσύνη
- Βιοπληροφορική
- Επεξεργασία ήχου
- Επεξεργασία εικόνας και βίντεο
- Συμπίεση δεδομένων
Συμπεράσματα
Η ΕΥ εξελίχθηκε από θεωρητικό εργαλείο σε κινητήρια δύναμη της κοινωνίας, με ιστορικές φάσεις που δείχνουν συνεχή καινοτομία[32].
Παραπομπές
- ↑ Mahoney 1988, 5.
- ↑ OpenStax 2024, 10.
- ↑ Aspray and Akera 2004, 3.
- ↑ Hendricks n.d., 1.
- ↑ Hendricks n.d., 3.
- ↑ OpenStax 2024, 337.
- ↑ Onifade n.d., 6.
- ↑ Onifade n.d., 8.
- ↑ Hendricks n.d., 4.
- ↑ OpenStax 2024, 10.
- ↑ Mahoney 1988, 6.
- ↑ Onifade n.d., 9.
- ↑ Hendricks n.d., 8.
- ↑ Onifade n.d., 10.
- ↑ Aspray and Akera 2004, 109.
- ↑ Onifade n.d., 10.
- ↑ OpenStax 2024, 355.
- ↑ Onifade n.d., 11.
- ↑ Mahoney 1988, 10.
- ↑ OpenStax 2024, 355.
- ↑ Onifade n.d., 12.
- ↑ OpenStax 2024, 176.
- ↑ OpenStax 2024, 426.
- ↑ OpenStax 2024, 860.
- ↑ OpenStax 2024, 801.
- ↑ Hendricks n.d., 1.
- ↑ Onifade n.d., 8.
- ↑ OpenStax 2024, 30.
- ↑ Onifade n.d., 10.
- ↑ OpenStax 2024, 176.
- ↑ OpenStax 2024, 355.
- ↑ Haigh 2004, 19.
Βιβλιογραφία
- Aspray, William and Atsushi Akera (eds.). 2004. Using History to Teach Computer Science and Related Disciplines. https://archive.cra.org/reports/using.history.pdf
- Haigh, Thomas. 2004. The History of Computing: An Introduction for the Computer Scientist. https://tomandmaria.com/Tom/Writing/HistoryOfComputingIntro.pdf
- Hendricks, E. Braden. n.d. History of Computer Science. https://courses.cs.duke.edu/summer07/cps001/Lectures/History_CS.pdf
- Onifade, Adebowale. n.d. HISTORY OF COMPUTER. https://ethw.org/w/images/5/57/Onifade.pdf
- OpenStax. 2024. Introduction to Computer Science. https://assets.openstax.org/oscms-prodcms/media/documents/Introduction_To_Computer_Science_-_WEB.pdf