Skip to content

Repository files navigation

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Εργαστήρια - Εισαγωγή στον Προγραμματισμό 🐆

Υλικό εργαστηρίων για το μάθημα Εισαγωγή στον Προγραμματισμό (Κ08) του Τμήματος Πληροφορικής και Τηλεπικοινωνιών του ΕΚΠΑ.

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

Τα εργαστήρια

Στα τρία πρώτα εργαστήρια στήνουμε τα εργαλεία: λογαριασμό, γραμμή εντολών, git και μεταγλωττιστή. Από το #3 και μετά γράφουμε C.

Μέρος # Εργαστήριο Θέματα
Α: Εργαλεία 0 Καλημέρα Κόσμε! Εισαγωγή και Χρήσιμες Εφαρμογές webmail, Piazza, λογαριασμός Linux, ssh, shell, editors, Hello World
1 Unix και Git εντολές Unix, δικαιώματα, ανακατεύθυνση, σωληνώσεις, git, GitHub
2 Προγραμματιστικά Περιβάλλοντα (Editors / IDEs) VS Code, scp / WinSCP, μεταγλώττιση, scanf
Β: Θεμέλια της C 3 Μεταβλητές, Δομές Ελέγχου και Επανάληψης τύποι, while / for / do…while, if…else, σειρές
4 Είσοδος και Έξοδος Χαρακτήρων getchar, putchar, ASCII, κωδικοποίηση
5 Συναρτήσεις και Αναδρομή συναρτήσεις, αναδρομή, Collatz, Fibonacci
Γ: Μνήμη και δομές 6 Δείκτες και Πίνακες δείκτες, αριθμητική δεικτών, πίνακες, κόσκινο Ερατοσθένη
7 Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης 2Δ πίνακες, malloc / free
8 Συμβολοσειρές και Ορίσματα Γραμμής Εντολών string.h, argc / argv
9 Δομές και Αυτοαναφορικές Δομές struct, συνδεδεμένες λίστες, δυαδικά δένδρα
10 Είσοδος και Έξοδος με Αρχεία ρεύματα, αρχεία κειμένου και δυαδικά, πολλαπλά αρχεία και make

Τι προϋποθέτει τι

Η αρίθμηση δεν αποτυπώνει τις εξαρτήσεις. Το #5 πατάει στο #3, το #8 στο #6 και στο #7, το #9 στο #7. Αν χάσετε ένα εργαστήριο ή θέλετε να αλλάξετε τη σειρά, δείτε πρώτα τι πρέπει να έχει προηγηθεί:

graph LR
  L0["#0 Εργαλεία"] --> L1["#1 Unix / Git"] --> L2["#2 Μεταγλώττιση"]
  L2 --> L3["#3 Δομές ελέγχου"]
  L3 --> L4["#4 Χαρακτήρες"]
  L3 --> L5["#5 Συναρτήσεις"]
  L5 --> L6["#6 Δείκτες"]
  L6 --> L7["#7 Δυναμική μνήμη"]
  L6 --> L8["#8 Συμβολοσειρές"]
  L7 --> L8
  L7 --> L9["#9 Δομές"]
  L9 --> L10["#10 Αρχεία"]
Loading

Η σειρά αποσφαλμάτωσης

Πέντε εργαστήρια κλείνουν με παράρτημα αποσφαλμάτωσης. Το καθένα προϋποθέτει το προηγούμενο και προσθέτει ένα νέο είδος σφάλματος ή ένα νέο εργαλείο:

Πράξη Εργαστήριο Θέμα
#2 συντακτικά λάθη
#3 λογικά λάθη και ιχνηλάτηση με printf
#7 σφάλματα μνήμης και ο debugger gdb
#8 αποσφαλμάτωση σε συμβολοσειρές και πίνακες
#9 διαρροές μνήμης και valgrind

Το #10 κλείνει με παράρτημα άλλου είδους: οργάνωση προγράμματος σε πολλαπλά αρχεία και αυτοματοποίηση με make.

Σε μορφή PDF

Κάθε εργαστήριο διατίθεται και σε PDF. Το ενιαίο all.pdf τα περιέχει όλα, με εξώφυλλο, ενιαία περιεχόμενα και τα τρία μέρη ως χωριστές ενότητες.

⬇ Κατεβάστε την τελευταία έκδοση

Συνεισφορές

Δεχόμαστε με χαρά διορθώσεις και προσθήκες. Στο CONTRIBUTING.md θα βρείτε πώς χτίζονται τα PDF, ποιες συμβάσεις ακολουθεί το υλικό και πώς να στείλετε μια αλλαγή.

Άδεια χρήσης

MIT · © University of Athens

About

Lab material for DIT's Intro to Programming class

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages