Επιστήμη υπολογιστών: Διαφορά μεταξύ των αναθεωρήσεων

Από archaeology
Πήδηση στην πλοήγησηΠήδηση στην αναζήτηση
Koupaloglou (συζήτηση | συνεισφορές)
Koupaloglou (συζήτηση | συνεισφορές)
Γραμμή 35: Γραμμή 35:


== Κλάδοι ==
== Κλάδοι ==
Η επιστήμη υπολογιστών συνίσταται σε πέντε βασικούς κλάδους. Τα επιμέρους πεδία τους παρατίθενται παρακάτω, από κοινού με τα θεμελιώδη πεδία των μαθηματικών στα οποία η επιστήμη υπολογιστών εν πολλοίς στηρίζεται (ενότητα «''Μαθηματικά θεμέλια''»).{{Multicol}}
Η επιστήμη υπολογιστών συνίσταται σε πέντε βασικούς κλάδους. Τα επιμέρους πεδία παρατίθενται παρακάτω, από κοινού με τα θεμελιώδη πεδία των μαθηματικών στα οποία στηρίζεται η επιστήμη υπολογιστών.
{{Multicol-break}}
 
=== Μαθηματικά θεμέλια ===
=== Μαθηματικά θεμέλια ===
[[Αρχείο:6n-graf.svg|thumb|100px]]
[[Αρχείο:6n-graf.svg|thumb|100px]]
Γραμμή 42: Γραμμή 42:


=== [[Θεωρητική πληροφορική]] ===
=== [[Θεωρητική πληροφορική]] ===
[[Αρχείο:DFAexample.svg|120px]]
[[Αρχείο:DFAexample.svg|thumb|100px]]
* [[Τυπική γλώσσα|Θεωρία τυπικών γλωσσών]]
* Θεωρία τυπικών γλωσσών * Θεωρία υπολογισμού * Ανάλυση αλγορίθμων * Θεωρία πολυπλοκότητας * Τυπική επαλήθευση * Δομές δεδομένων * Θεωρία γλωσσών προγραμματισμού * Κατανεμημένος υπολογισμός * Υπολογιστική γεωμετρία * Κρυπτολογία
* [[Θεωρία υπολογισμού]]
* Θεωρία ουρών αναμονής * Κβαντικός υπολογισμός
* [[Ανάλυση αλγορίθμων]]
 
** [[Θεωρία πολυπλοκότητας]]
** [[Τυπική επαλήθευση]]
* [[Δομές δεδομένων]]
* [[Θεωρία γλωσσών προγραμματισμού]]
* [[Κατανεμημένος υπολογισμός]]
* [[Υπολογιστική γεωμετρία]]
* [[Κρυπτολογία]]
* [[Θεωρία ουρών αναμονής]]
* [[Κβαντικός υπολογισμός]]
{{Multicol-break}}
=== [[Μηχανική υπολογιστών]] ===
=== [[Μηχανική υπολογιστών]] ===
[[Αρχείο:Fivestagespipeline.png|120px]]
[[Αρχείο:Fivestagespipeline.png|thumb|100px]]
* [[Ολοκληρωμένο κύκλωμα|Ολοκληρωμένα κυκλώματα]]
* Ολοκληρωμένα κυκλώματα * Ολοκληρωμένα κυκλώματα μεγάλης κλίμακας (VLSI) * Λογική σχεδίαση * Αρχιτεκτονική υπολογιστών * Μικροπρογραμματισμός * Μικροεπεξεργαστές * Ψηφιακές επικοινωνίες
** [[Ολοκληρωμένα κυκλώματα μεγάλης κλίμακας|VLSI]]
* [[Λογική σχεδίαση]]
* [[Αρχιτεκτονική υπολογιστών]]
* [[Μικροπρογραμματισμός]]
* [[Κεντρική Μονάδα Επεξεργασίας|Μικροεπεξεργαστές]]
* [[Ψηφιακές επικοινωνίες]]
{{Multicol-end}}{{Multicol}}
{{Multicol-break}}


=== [[Υπολογιστικά συστήματα]] ===
=== [[Υπολογιστικά συστήματα]] ===
[[Αρχείο:Operating system placement.svg|90px]]
[[Αρχείο:Operating system placement.svg|thumb|100px]]
* [[Δίκτυο υπολογιστών|Δίκτυα υπολογιστών]]
* Δίκτυα υπολογιστών * Προγραμματισμός δικτύων * Κατανεμημένα συστήματα * Παράλληλα συστήματα * Παράλληλος προγραμματισμός * Λειτουργικά συστήματα * Ενσωματωμένα συστήματα * * Συστήματα πραγματικού χρόνου * Κινητά συστήματα * Ασφάλεια υπολογιστικών συστημάτων
** [[Προγραμματισμός δικτύων]]
** [[Κατανεμημένο σύστημα|Κατανεμημένα συστήματα]]
* [[Παράλληλο σύστημα|Παράλληλα συστήματα]]
** [[Παράλληλος προγραμματισμός]]
* [[Λειτουργικό σύστημα|Λειτουργικά συστήματα]]
* [[Ενσωματωμένο σύστημα|Ενσωματωμένα συστήματα]]
* [[Σύστημα πραγματικού χρόνου|Συστήματα πραγματικού χρόνου]]
* [[Κινητό σύστημα|Κινητά συστήματα]]
* [[Ασφάλεια υπολογιστικών συστημάτων]]
{{Multicol-break}}
{{Multicol-break}}


=== [[Λογισμικό]] ===
=== [[Λογισμικό]] ===
[[Αρχείο:Python add5 syntax.svg|120px]]
[[Αρχείο:Python add5 syntax.svg|thumb|100px]]
* [[Μηχανική λογισμικού]]
* Μηχανική λογισμικού * Προγραμματισμός υπολογιστών * Αντικειμενοστρεφής σχεδίαση * Σχεδιαστικά πρότυπα * Ανάλυση απαιτήσεων * Ποιότητα λογισμικού * Μεταγλωττιστές * Βελτιστοποίηση προγραμμάτων * [[Βάση δεδομένων|Βάσεις δεδομένων]] * Ανάκτηση πληροφορίας
** [[Προγραμματισμός υπολογιστών]]
** [[Αντικειμενοστρεφής σχεδίαση]]
** [[Σχεδιαστικά πρότυπα]]
** [[Ανάλυση απαιτήσεων]]
** [[Ποιότητα λογισμικού]]
* [[Μεταγλωττιστής|Μεταγλωττιστές]]
** [[Βελτιστοποίηση προγραμμάτων]]
* [[Βάση δεδομένων|Βάσεις δεδομένων]]
** [[Ανάκτηση πληροφορίας]]
{{Multicol-break}}


=== Εφαρμογές υπολογιστών ===
=== Εφαρμογές υπολογιστών ===
[[Αρχείο:HONDA ASIMO.jpg|90px]]
[[Αρχείο:HONDA ASIMO.jpg|thumb|100px]]
* [[Γραφικά υπολογιστών]]
* Γραφικά υπολογιστών * CAD και CAM * Αλληλεπίδραση ανθρώπου-υπολογιστή * [[Τεχνητή νοημοσύνη]] * Συστήματα γνώσης * Επίλυση προβλημάτων * [[Μηχανική μάθηση]] * Εξόρυξη δεδομένων * Αναγνώριση προτύπων * Μηχανική όραση * Ρομποτική
** [[CAD]] και [[CAM]]
* Επεξεργασία φυσικής γλώσσας * [[Βιοπληροφορική]] * Επεξεργασία ήχου * Επεξεργασία εικόνας και βίντεο * Συμπίεση δεδομένων.
* [[Αλληλεπίδραση ανθρώπου-υπολογιστή]]
* [[Τεχνητή νοημοσύνη]]
** [[Συστήματα γνώσης]]
** [[Επίλυση προβλημάτων (τεχνητή νοημοσύνη)|Επίλυση προβλημάτων]]
** [[Μηχανική μάθηση]]
** [[Εξόρυξη δεδομένων]]
** [[Αναγνώριση προτύπων]]
** [[Μηχανική όραση]]
** [[Ρομποτική]]
** [[Επεξεργασία φυσικής γλώσσας]]
* [[Βιοπληροφορική]]
* [[Επεξεργασία ήχου]]
* [[Επεξεργασία εικόνας και βίντεο]]
* [[Συμπίεση δεδομένων]]
{{Multicol-end}}


==Συμπεράσματα==
==Συμπεράσματα==

Αναθεώρηση της 23:38, 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]

Πίνακας 1: Χρονολόγιο Κύριων Γεγονότων
Περίοδος Γεγονός Σημασία
2400 ΠΚΕ Άβακας Πρώτο εργαλείο υπολογισμού[26]
1823 Μηχανή Διαφορών (Babbage) Βάση προγραμματισμού[27]
1945 ENIAC Πρώτος ηλεκτρονικός υπολογιστής[28]
1956 FORTRAN Πρώτη υψηλού επιπέδου γλώσσα[29]
1965 Νόμος Moore Διπλασιασμός τρανζίστορ[30]
1991 Python Σύγχρονη γλώσσα για δεδομένα[31]

Κλάδοι

Η επιστήμη υπολογιστών συνίσταται σε πέντε βασικούς κλάδους. Τα επιμέρους πεδία παρατίθενται παρακάτω, από κοινού με τα θεμελιώδη πεδία των μαθηματικών στα οποία στηρίζεται η επιστήμη υπολογιστών.

Μαθηματικά θεμέλια

Αριθμητική ανάλυση * Άλγεβρα Μπουλ * Διακριτά μαθηματικά * Θεωρία γράφων * Μαθηματική λογική * Θεωρία πεδίων * Πιθανότητες * Στατιστική * Επεξεργασία σήματος * Θεωρία πληροφοριών

  • Θεωρία τυπικών γλωσσών * Θεωρία υπολογισμού * Ανάλυση αλγορίθμων * Θεωρία πολυπλοκότητας * Τυπική επαλήθευση * Δομές δεδομένων * Θεωρία γλωσσών προγραμματισμού * Κατανεμημένος υπολογισμός * Υπολογιστική γεωμετρία * Κρυπτολογία
  • Θεωρία ουρών αναμονής * Κβαντικός υπολογισμός
  • Ολοκληρωμένα κυκλώματα * Ολοκληρωμένα κυκλώματα μεγάλης κλίμακας (VLSI) * Λογική σχεδίαση * Αρχιτεκτονική υπολογιστών * Μικροπρογραμματισμός * Μικροεπεξεργαστές * Ψηφιακές επικοινωνίες
  • Δίκτυα υπολογιστών * Προγραμματισμός δικτύων * Κατανεμημένα συστήματα * Παράλληλα συστήματα * Παράλληλος προγραμματισμός * Λειτουργικά συστήματα * Ενσωματωμένα συστήματα * * Συστήματα πραγματικού χρόνου * Κινητά συστήματα * Ασφάλεια υπολογιστικών συστημάτων

Πρότυπο:Multicol-break

  • Μηχανική λογισμικού * Προγραμματισμός υπολογιστών * Αντικειμενοστρεφής σχεδίαση * Σχεδιαστικά πρότυπα * Ανάλυση απαιτήσεων * Ποιότητα λογισμικού * Μεταγλωττιστές * Βελτιστοποίηση προγραμμάτων * Βάσεις δεδομένων * Ανάκτηση πληροφορίας

Εφαρμογές υπολογιστών

  • Γραφικά υπολογιστών * CAD και CAM * Αλληλεπίδραση ανθρώπου-υπολογιστή * Τεχνητή νοημοσύνη * Συστήματα γνώσης * Επίλυση προβλημάτων * Μηχανική μάθηση * Εξόρυξη δεδομένων * Αναγνώριση προτύπων * Μηχανική όραση * Ρομποτική
  • Επεξεργασία φυσικής γλώσσας * Βιοπληροφορική * Επεξεργασία ήχου * Επεξεργασία εικόνας και βίντεο * Συμπίεση δεδομένων.

Συμπεράσματα

Η ΕΥ εξελίχθηκε από θεωρητικό εργαλείο σε κινητήρια δύναμη της κοινωνίας, με ιστορικές φάσεις που δείχνουν συνεχή καινοτομία[32].

Παραπομπές

  1. Mahoney 1988, 5.
  2. OpenStax 2024, 10.
  3. Aspray and Akera 2004, 3.
  4. Hendricks n.d., 1.
  5. Hendricks n.d., 3.
  6. OpenStax 2024, 337.
  7. Onifade n.d., 6.
  8. Onifade n.d., 8.
  9. Hendricks n.d., 4.
  10. OpenStax 2024, 10.
  11. Mahoney 1988, 6.
  12. Onifade n.d., 9.
  13. Hendricks n.d., 8.
  14. Onifade n.d., 10.
  15. Aspray and Akera 2004, 109.
  16. Onifade n.d., 10.
  17. OpenStax 2024, 355.
  18. Onifade n.d., 11.
  19. Mahoney 1988, 10.
  20. OpenStax 2024, 355.
  21. Onifade n.d., 12.
  22. OpenStax 2024, 176.
  23. OpenStax 2024, 426.
  24. OpenStax 2024, 860.
  25. OpenStax 2024, 801.
  26. Hendricks n.d., 1.
  27. Onifade n.d., 8.
  28. OpenStax 2024, 30.
  29. Onifade n.d., 10.
  30. OpenStax 2024, 176.
  31. OpenStax 2024, 355.
  32. Haigh 2004, 19.

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