Επιστήμη υπολογιστών

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

Επιστήμη υπολογιστών ονομάζεται η θετική και εφαρμοσμένη επιστήμη η οποία ερευνά τα θεωρητικά θεμέλια και τη φύση των δομών δεδομένων, των αλγορίθμων και των υπολογισμών, από τη σκοπιά της σχεδίασης, της ανάπτυξης, της υλοποίησης, της διερεύνησης, της ανάλυσης και της προδιαγραφής τους. Ασχολείται με τη συστηματική μελέτη της σκοπιμότητας, της δομής, της έκφρασης και του μηχανισμού των μεθοδικών διεργασιών (ή αλγορίθμων) που αποτελούν την επεξεργασία, την αποθήκευση, την επικοινωνία και την πρόσβαση στα δεδομένα. Ένας εναλλακτικός ορισμός της επιστήμης των υπολογιστών είναι η μελέτη της αυτοματοποίησης αλγοριθμικών διεργασιών που κλιμακώνονται. Ένας επιστήμονας υπολογιστών ειδικεύεται στη θεωρία της υπολογιστικής ισχύος και το σχεδιασμό των υπολογιστικών συστημάτων.

H επιστήμη υπολογιστών ως διακριτή επιστήμη κάνει την εμφάνισή της τη δεκαετία του 1940, όταν κατασκευάστηκαν οι πρώτες υπολογιστικές μηχανές γενικού σκοπού και τέθηκαν τα θεωρητικά θεμέλια του υπολογισμού. Η δημιουργία των πρώτων ακαδημαϊκών τμημάτων έγινε τη δεκαετία του 1960, ενώ η διάθεση των προϊόντων της έρευνας της στην κοινωνία (τεχνολογία πληροφοριών και επικοινωνίας) άρχισε να λαμβάνει χώρα ευρέως μετά το 1970, με αποτέλεσμα σημαντικές κοινωνικές, οικονομικές και τεχνολογικές αλλαγές σε διεθνές επίπεδο.

Η επιστήμη υπολογιστών δεν πρέπει να συγχέεται με τη "θεωρία πληροφορίας", ένα πεδίο των εφαρμοσμένων μαθηματικών. Επίσης, η ιδιότητα του "επιστήμονα" υπολογιστών δεν πρέπει να συγχέεται με την επαγγελματική ιδιότητα του "προγραμματιστή", δηλαδή ατόμου βιοποριζόμενου από την ανάπτυξη λογισμικού υπολογιστών, εφόσον η επιστήμη υπολογιστών δεν συνίσταται στον ίδιο τον προγραμματισμό μα στην επιστημονική μελέτη των αλγορίθμων και της σχεδίασης, ανάλυσης και κατασκευής υλικού ή λογισμικού υπολογιστών και αποδοτικών, αυτοματοποιημένων υπολογιστικών υποδομών για τη μηχανική εκτέλεση αλγορίθμων. Η επιστήμη υπολογιστών αξιοποιεί επομένως τον προγραμματισμό όχι ως αυτοσκοπό, μα ως ένα από τα βασικά εργαλεία της και από τα κύρια αντικείμενα μελέτης της. Ωστόσο, είναι σύνηθες ένας επαγγελματίας προγραμματιστής να έχει σπουδάσει σε κάποιον βαθμό την επιστήμη υπολογιστών. Τέλος, η επιστήμη υπολογιστών δεν πρέπει να συγχέεται απλά με τις δεξιότητες χρήσης Η/Υ και έτοιμων πακέτων λογισμικού (π.χ. επεξεργαστών κειμένου κλπ.), αφού η απλή χρήση των υπολογιστών δεν έχει επιστημονικό χαρακτήρα και σκοπό.

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