Εναλλακτικό ελεύθερο λογισμικό για την σχολή ΗΜΜΥ ΕΜΠ

Από Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ
Μετάβαση σε: πλοήγηση, αναζήτηση

Το ελεύθερο λογισμικό είναι ένα υπερπολίτιμο εργαλείο για κάθε ηλεκτρολόγο μηχανικό. Παρακάτω παραθέτουμε μια (ημιτελή) λίστα με χρήσιμα ελεύθερα προγράμματα για τους φοιτητές της σχολής ΗΜΜΥ ΕΜΠ.


Γενικής χρήσης προγράμματα

  • OpenOffice.org: Σουίτα γραφείου αντίστοιχη του Microsoft Office. Περιλαμβάνει Επεξεργαστή κειμένου, Spreadsheet, Πρόγραμμα ζωγραφικής, Επεξεργασία μαθηματικών τύπων, Πρόγραμμα δημιουργίας παρουσιάσεων και Βάση δεδομένων.
  • GCC: Ο άλλοτε GNU C Compiler είναι πλέον GNU Compiler Collection και υποστηρίζει τις γλώσσες C, C++, Objective C, ADA, Java, Fortran σε x86 και δεκάδες άλλες αρχιτεκτονικές.
  • GNU Make: Το αδερφάκι του GCC και ο καλύτερος φίλος του ανθρώπου μετά τον linux kernel και το grep, το make είναι ένα πρόγραμμα που αναλαμβάνει να κάνει compile ένα πρόγραμμα που αποτελείται από περισσότερα από ένα αρχεία κώδικα.
  • VIM: Ένας πανίσχυρος editor για προγραμματιστές και όχι μόνο.
  • Emacs: Editor αντίστοιχου επιπέδου με τον Vim.
  • Code::Blocks: Ελεύθερο IDE (Integrated Development Environment) για τις C/C++. Βασισμένο στο WxWidgets και διαθέσιμο για GNU/Linux, Windows και άλλα συστήματα.
  • Octave: Γλώσσα υψηλού επιπέδου για αριθμητικούς υπολογισμούς, μπορεί να χρησιμοποιηθεί ως εναλλακτικό του MatLab (Εκπαιδευτικό υλικό από τον Τομέα Πληροφορικής της Σχολής Ικάρων).
  • Maxima: Σύστημα για την επεξεργασία συμβολικών και αριθμητικών εκφράσεων (μπορεί να χρησιμοποιηθεί ως εναλλακτικό του Mathematica).
  • GNUplot: Εργαλείο για τον σχεδιασμό γραφικών παραστάσεων 2D αλλά και 3D. Λειτουργεί και με γραμμή εντολών.
  • Euler, mathomatic, yacas.

1ο Εξάμηνο

Εισαγωγή στον προγραμματισμό

  • cygwin : Unix emulation layer για Windows. Μεταξύ πολλών άλλων, περιέχει όλα τα απαραίτητα εργαλεία για να δημιουργήσετε προγράμματα Pascal, να τα κάνετε compile και να τα εκτελέσετε.
  • mingw/minsys: Ένα minimal GNU σύστημα για Windows μαζί με τα απαραίτητα εργαλεία για την παραγωγή native windows binaries (GCC cross compiler).
  • Μπορεί να χρησιμοποιηθεί η FreePascal ή η GNU Pascal ενώ για editor κειμένου συνίσταται ο VIM.

Ηλεκτρολογικό Σχέδιο

  • Φυσικά το QCAD.

2ο Εξάμηνο

Προγραμματιστικές Τεχνικές

Ο VIM και ο GCC είναι μονόδρομος.

4ο εξάμηνο

Σήματα και Συστήματα

Έχει τελειώσει κανένας εργασία με Octave; Όχι ακόμα, αλλά θα δοκιμάσει.

5ο εξάμηνο

Εργαστηριακή και Βιομηχανική Ηλεκτρονική

Χρειαζόμαστε δύο πακέτα, ένα για τα schematic και ένα για το simulation.

  • Για δημιουργία schematics υπάρχουν διάφορα ισχυρά εργαλεία, προτείνεται όμως το gschem του gEDA project και το qucs.
  • Για τα simulation χρειάζεστε είτε το ngspice, είτε το gnucap. Αναλυτικές πληροφορίες στο wiki του gEDA

6ο εξάμηνο

Γλώσσες Προγραμματισμού I

  • Για SML υπάρχει ο sml/nj interpreter/compiler. Δεν είναι διαθέσιμος για x86_64.
  • Για C++, Java, ADA μας καλύπτει η GCC οικογένεια (g++, GCJ, GNAT αντίστοιχα).
    Για την Java πολύ χρήσιμο μπορεί να αποδειχτεί και το open source IDE που λέγεται Eclipse.
  • Ελεύθεροι Prolog interpreters/compilers, όπως gprolog και swi-prolog.

Συστήματα Μικρουπολογιστών

  • Για την προσομοίωση του 8085 μπορεί να χρησιμοποιηθεί ο GNUSim8085.
  • Ελεύθεροι x86 assemblers υπάρχουν αρκετοί, πχ NASM, YASM.

Δίκτυα Επικοινωνιών

Το λογισμικό που χρησιμοποιείται στο εργαστήριο είναι ελεύθερο (TCL, NS, Nam, GAWK). Είναι γελοίο να χρησιμοποιείται X Server σε Windows και Notepad :-(.

Εργαστήριο Ψηφιακών Συστημάτων

  • Πολύ χρήσιμο βοήθημα για να κάνετε simulation τα κυκλώματα σας είναι το KtechLab, ειδικά για την εξαμηνιαία εργασία.

7ο εξάμηνο

Λειτουργικά Συστήματα Υπολογιστών

  • Οι ασκήσεις για το Unix API γίνονται σε GNU/Linux με VIM και GCC, ή remotely σε Solaris με GNU tools.
  • Οι ασκήσεις για το Win32 API μπορούν να γίνουν με cross compilation (mingw) και Wine.

Εργαστήριο Μικρουπολογιστών

  • Οι ασκήσεις στον 8085 πραγματοποιούνται με το Tsik, γραμμένο σε .NET και μάλλον δύσκολα θα τρέξει με Mono.
  • Για τα προγράμματα στον 8086 μπορεί να χρησιμοποιηθεί ο NASM, ο YASM ή άλλος ελεύθερος assembler, με σύνταξη ωστόσο που διαφέρει από τον MASM που χρησιμοποιεί το εργαστήριο. Μπορεί επίσης να χρησιμοποιηθεί ο MASM με DOSBox ή FreeDOS. (Δείτε επίσης: FreeDOS στον QEMU)

Δίκτυα Υπολογιστών

Χρησιμοποιείται το ελεύθερο λογισμικό ανάλυσης δικτυακών πρωτοκόλλων Wireshark (πρώην Ethereal).

Βάσεις Δεδομένων

Η εργασίες μπορούν να πραγματοποιηθούν με ελεύθερες βάσεις δεδομένων (MySQL, PostgreSQL). Η χρήση της PostgreSQL ειδικά συστήνεται χωρίς φόβο και πάθος από πλήθος βετεράνων του μαθήματος, αφού πρόκειται για DBMS που ανταποκρίνεται σε πολύ μεγάλο βαθμό στη θεωρία του μαθήματος.

Τεχνητή Νοημοσύνη

H SWI-Prolog (αλλά και η GNU Prolog) είναι μονόδρομος για ότι έχει να κάνει με λογικό προγραμματισμό.

8ο εξάμηνο

Διαδίκτυο Και Εφαρμογές

Το λογισμικό που χρησιμοποιείται στις εργαστηριακές ασκήσεις είναι ο Tomcat. Δίνεται, απ'το site του μαθήματος η εκδοση 3.3.2 για windows μαζί με οδηγίες, ενώ η τελευταία εκδοση που υπάρχει ειναι η 6.0.0. Θα χρειαστεί και ένας Java Compiler, λογικά το GCJ θα ειναι αρκετό.

Μεταγλωττιστές

Στο μάθημα προτείνονται οι ακόλουθες γλώσσες (με τα αντίστοιχα metatools τους):

  • C και C+ + με bison και flex.
  • OCaml με ocamllex και ocamlyacc, που είναι μία από τις πιο όμορφες γλώσσες προγραμματισμου :-)
  • Haskell με Alex και Happy, που είναι μία, ακόμη ποιο, όμορφη γλώσσα για κατασκευή compiler.
  • Java με τον javacc, ο οποίος μας έρχεται με BSD Lisence.

Απαραίτητη είναι και η χρήση του MASM assembler ο οποίος μπορεί να τρέξει μέσω DOSBox, ή σε μια εγκατάσταση FreeDOS ([FreeDOSHowto]) ή ακόμα καλύτερα σε ένα συνδυασμό του freeDOS με το dosemu.