Θα συμφωνήσω με τον @Samael στο ότι δεν πάει κανείς σε ένα πανεπιστήμιο μόνο για να πάρει την εξειδικευμένη κατάρτιση που χρειάζεται για τη δουλειά του. Το πανεπιστήμιο οφείλει να σου δώσει γνώσεις υποβάθρου και όχι απλά να σε κάνει αυτό που η πλειοψηφία θέλει να γίνει (software engineer, όπως λες). Σε τελική ανάλυση, δε γίνεται να θεωρείς ως σημαντικό μάθημα την «υπολογιστική/αλγοριθμική πολυπλοκότητα» και να μην αναγνωρίζεις τα μαθηματικά που χρειάζεσαι για να την καταλάβεις.
Σε ό,τι έχει να κάνει με τη «γυμναστική» που κάνεις στα μαθηματικά, είναι τελείως διαφορετική με αυτήν που κάνεις επιλύοντας προβλήματα. Επιλύοντας ένα τυπικό πρόβλημα δρας πάντα μέσα σε ένα πλαίσιο, λίγο έως πολύ συγκεκριμένο, ενώ σε ένα μαθηματικό πρόβλημα καλείσαι να αναπτύξεις την αφαιρετική σου σκέψη καθώς και την ικανότητα που έχεις να γενικεύεις ή όχι συμπεράσματα κ.λπ.. Προφανώς δεν είσαι διανοούμενος/η αν περάσεις γραμμική άλγεβρα, αλλά δε μπορώ να βρω κανένα μάθημα που αν το περάσεις καθίστασαι αυτόματα διανοούμενος/η.
Τέλος, από τα μαθήματα που ανέφερες ως περιττά, τα αυτόματα, η λογική και οι τυπικές γλώσσες (θεωρία υπολογισμού, συνοπτικά), δεν είναι καθόλου περιττά. Είναι ίσως το καλύτερο παράδειγμα μαθηματικής αφαίρεσης για έναν πληροφορικάριο, μιας και πιάνει τα βασικά μοντέλα υπολογισμού και τα θεμελιώνει σε ένα καθαρά αυστηρό και μαθηματικό επίπεδο (άλλωστε, την αλγοριθμική πολυπλοκότητα υπό ποιο πρίσμα τη βλέπουμε; ). Άσε που η (πρωτοτάξια) λογική είναι κομβικής σημασίας στην τεχνητή νοημοσύνη (δεν αναφέρομαι στο machine learning, αλλά σε χώρους που σχετίζονται με reasoning/inference κ.λπ.). Οπότε, για όσους/ες στοχεύουν εκεί, είναι πολύ σημαντικά μαθήματα (και το AI στις μέρες μας ανοίγει, ως κλάδος).