|
4 | 4 |
|
5 | 5 | * Διαλέξεις: Δευτέρα και Παρασκευή 09:00-11:00 @ Αμφιθέατρο
|
6 | 6 | * Ώρες Γραφείου:
|
7 |
| - * Δευτέρα 11:00-13:00 @ Α40 |
8 |
| - * Παρασκευή 11:00-13:00 @ Α3 |
9 |
| -* Πρόσθεσε το πρόγραμμα του μαθήματος στο google calendar [εδώ](https://calendar.google.com/calendar/u/3?cid=Y182MTg0NDNiZDA4YWJiOGJkOWI0MjZiNWEwZWZmZmUzMjQ2NGYyM2M1NmFmODJiMDZiMTFhZjY1YWE0MDI5NDAwQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20) |
| 7 | + * Δευτέρα 11:00-12:00 @ Α40 |
| 8 | + * Παρασκευή 11:00-12:00 @ Α3 |
| 9 | +* Πρόσθεσε το πρόγραμμα του μαθήματος στο google calendar [εδώ TBD](TBD) |
10 | 10 |
|
11 | 11 | ## Συμμετοχή
|
12 | 12 |
|
|
15 | 15 | * Λογαριασμό Gmail - άνοιξε [εδώ](https://accounts.google.com/SignUp) αν δεν έχεις ήδη.
|
16 | 16 | * Λογαριασμό GitHub - άνοιξε [εδώ](https://github.com/join) αν δεν έχεις ήδη.
|
17 | 17 |
|
18 |
| -Στην συνέχεια συμπλήρωσε τα στοιχεία σου σε αυτήν την [φόρμα](https://forms.gle/q8hvrpJ6pK22cx3i9) - απαιτεί λογαριασμό Gmail. |
| 18 | +Στην συνέχεια συμπλήρωσε τα στοιχεία σου σε αυτήν την [φόρμα TBD](TBD) - απαιτεί λογαριασμό Gmail. |
19 | 19 |
|
20 | 20 | ## Επικοινωνία
|
21 | 21 |
|
22 |
| -Ερωτήσεις για διαδικαστικά, το μάθημα και τις ασκήσεις αποκλειστικά στο [Piazza](https://piazza.com/uoa.gr/fall2023/197af) - απαιτεί di.uoa.gr email. Δεν έχεις ακόμα di.uoa.gr email; Βεβαιώσου ότι συμπλήρωσες την φόρμα στην Συμμετοχή παραπάνω και θα σου στείλουμε πρόσκληση |
| 22 | +Ερωτήσεις για διαδικαστικά, το μάθημα και τις ασκήσεις αποκλειστικά στο [Piazza TBD](TBD) - απαιτεί di.uoa.gr email. Δεν έχεις ακόμα di.uoa.gr email; Βεβαιώσου ότι συμπλήρωσες την φόρμα στην Συμμετοχή παραπάνω και θα σου στείλουμε πρόσκληση |
23 | 23 |
|
24 | 24 | ### Φυλλάδια Εργαστηρίων
|
25 | 25 |
|
26 |
| -* [Φυλλάδιο 1](/resources/lab01.pdf) |
27 |
| -* [Φυλλάδιο 2](/resources/lab02.pdf) |
28 |
| -* [Φυλλάδιο 3](/resources/lab03.pdf) |
29 |
| -* [Φυλλάδιο 4](/resources/lab04.pdf) |
30 |
| -* [Φυλλάδιο 5](/resources/lab05.pdf) |
31 |
| -* [Φυλλάδιο 6](/resources/lab06.pdf) |
32 |
| -* [Φυλλάδιο 7](/resources/lab07.pdf) |
33 |
| -* [Φυλλάδιο 8](/resources/lab08.pdf) |
34 |
| -* [Φυλλάδιο 9](/resources/lab09.pdf) |
35 |
| -* [Φυλλάδιο 10](/resources/lab10.pdf) |
36 |
| -* [Φυλλάδιο 11](/resources/lab11.pdf) |
| 26 | +TBD |
37 | 27 |
|
38 | 28 | * [Ενδεικτικές λύσεις για εργαστήρια](https://github.com/dimskomex/ip-labs-solutions) - ευχαριστούμε πολύ [@dimskomex](https://github.com/dimskomex)!
|
39 | 29 |
|
|
44 | 34 |
|
45 | 35 | | Ημερομηνία | Περιεχόμενο Μαθήματος | Αρχείο |
|
46 | 36 | | --- | --- | --- |
|
47 |
| - | 02/10 | Διάλεξη 0: Καλημέρα Κόσμε! | [pdf](/resources/lec00.pdf) | |
48 |
| - | 06/10 | Διάλεξη 1: Γραμμή Εντολών, Πρόγραμματα και Μεταγλώττιση | [pdf](/resources/lec01.pdf) | |
49 |
| - | 13/10 | Διάλεξη 2: Συναρτήσεις και Version Control | [pdf](/resources/lec02.pdf) | |
50 |
| - | 18/10 | Διάλεξη 3: Μνήμη και Μεταβλητές | [pdf](/resources/lec03.pdf) | |
51 |
| - | 20/10 | Διάλεξη 4: Τελεστές | [pdf](/resources/lec04.pdf) | |
52 |
| - | 23/10 | Διάλεξη 5: Εντολές και Ροή Ελέγχου | [pdf](/resources/lec05.pdf) | |
53 |
| - | 27/10 | Διάλεξη 6: Επίλυση Προβλημάτων | [pdf](/resources/lec06.pdf) | |
54 |
| - | 30/10 | Διάλεξη 7: Δομές Ελέγχου #2 | [pdf](/resources/lec07.pdf) | |
55 |
| - | 03/11 | Διάλεξη 8: Πίνακες | [pdf](/resources/lec08.pdf) | |
56 |
| - | 06/11 | Διάλεξη 9: Δείκτες | [pdf](/resources/lec09.pdf) | |
57 |
| - | 10/11 | Διάλεξη 10: Πίνακες και Δείκτες | [pdf](/resources/lec10.pdf) | |
58 |
| - | 13/11 | Διάλεξη 11: Δεδομένα Εισόδου | [pdf](/resources/lec11.pdf) | |
59 |
| - | 13/11 | Guest Lecture on Collatz | [pdf](/resources/optimizing-collatz-sequence-finding.pdf) | |
60 |
| - | 13/11 | Guest Lecture on Forums Q&A | [pdf](/resources/forums.pdf) | |
61 |
| - | 20/11 | Διάλεξη 12: Μνήμη | [pdf](/resources/lec12.pdf) | |
62 |
| - | 22/11 | Διάλεξη 13: Επίλυση Προβλημάτων | | |
63 |
| - | 24/11 | Διάλεξη 14: Πολυπλοκότητα και Προεπεξεργαστής | [pdf](/resources/lec14.pdf) | |
64 |
| - | 27/11 | Διάλεξη 15: Εμβέλεια, Μνήμη και Συμβολοσειρές | [pdf](/resources/lec15.pdf) | |
65 |
| - | 01/12 | Διάλεξη 16: Δεδομένα Εισόδου #2 - Αρχεία | [pdf](/resources/lec16.pdf) | |
66 |
| - | 04/12 | Διάλεξη 17: Δυαδική Αναζήτηση και Ταξινόμηση | [pdf](/resources/lec17.pdf) | |
67 |
| - | 08/12 | Διάλεξη 18: Ταξινόμηση #2 | [pdf](/resources/lec18.pdf) | |
68 |
| - | 11/12 | Διάλεξη 19: Δομές | [pdf](/resources/lec19.pdf) | |
69 |
| - | 15/12 | Διάλεξη 20: Προχωρημένες Δομές | [pdf](/resources/lec20.pdf) | |
70 |
| - | 18/12 | Διάλεξη 21: Λίστες | [pdf](/resources/lec21.pdf) | |
71 |
| - | 22/12 | Διάλεξη 22: Δέντρα | [pdf](/resources/lec22.pdf) | |
72 |
| - | 08/01 | Διάλεξη 23: Προχωρημένα Θέματα | [pdf](/resources/lec23.pdf) | |
73 |
| - |
| 37 | + | TBD | Διάλεξη 0: Καλημέρα Κόσμε! | | |
74 | 38 |
|
75 | 39 | ## Εργασίες
|
76 | 40 |
|
77 |
| -1. [Εργασία 0](/resources/hw0.pdf). Προθεσμία: 08/11/2023, 23:59. |
78 |
| -1. [Εργασία 1](/resources/hw1.pdf). Προθεσμία: 06/12/2023, 23:59. |
79 |
| -1. [Εργασία 2](/resources/hw2.pdf). Προθεσμία: 14/01/2024, 23:59. |
80 |
| -1. [Εργασία 3](/resources/hw3.pdf). Προθεσμία: 13/02/2024, 23:59. |
81 |
| - |
82 |
| - |
83 |
| -* [uoabot](https://cgi.di.uoa.gr/~uoabot/) - ευχαριστούμε πολύ [@George-RG](https://github.com/George-RG/)! |
84 |
| -* Εντυπωσιακό [visualization της σειράς collatz](https://github.com/georomporas/collatz_visualization/) - ευχαριστούμε πολύ [@georomporas](https://github.com/georomporas/)! |
85 |
| - |
86 |
| - |
87 |
| - |
| 41 | +TBD |
88 | 42 |
|
89 | 43 | ## Τμήματα Εργαστηρίων
|
90 | 44 |
|
91 |
| -Γραφτείτε στο τμήμα εργαστηρίου που ταιριάζει στο πρόγραμμά σας μέσω [eclass](https://eclass.uoa.gr/modules/group/index.php?course=DI631&urlview=1) - απαιτεί di.uoa.gr email. Δεν έχεις ακόμα di.uoa.gr email; Βεβαιώσου ότι συμπλήρωσες την φόρμα στην Συμμετοχή παραπάνω και θα προσπαθήσουμε να σε συμπεριλάβουμε στην λίστα. |
92 |
| - |
93 |
| -Το εργαστήριο είναι *υποχρεωτικό* για τους πρωτοετείς. Το ακόλουθο πρόγραμμα θα ξεκινήσει την Δευτέρα 09/10/2023: |
| 45 | +Γραφτείτε στο τμήμα εργαστηρίου που ταιριάζει στο πρόγραμμά σας μέσω [eclass TBD](TBD) - απαιτεί di.uoa.gr email. Δεν έχεις ακόμα di.uoa.gr email; Βεβαιώσου ότι συμπλήρωσες την φόρμα στην Συμμετοχή παραπάνω και θα προσπαθήσουμε να σε συμπεριλάβουμε στην λίστα. |
94 | 46 |
|
95 |
| -1. Δευτέρα 13:00-15:00 @ Εργαστήριο Windows PC1, υπεύθυνος: Μίλτος Κυριακάκος, βοηθοί: Έλενα Φίλη, Γιώργος Νικολαΐδης, Νιόβη Κουμπαράκη, Γεώργιος-Αλέξανδρος Κώστας |
96 |
| -1. Δευτέρα 15:00-17:00 @ Εργαστήριο Windows PC1, υπεύθυνος: Μίλτος Κυριακάκος, βοηθοί: Δημήτρης Σκόνδρας-Μέξης, Ζωή Κουκουβέ |
97 |
| -1. Δευτέρα 17:00-19:00 @ Εργαστήριο Windows PC1, υπεύθυνός: Γιάννης Χαμόδρακας, βοηθοί: Δημήτρης-Στέφανος Πορίχης, Παύλος Νταής |
98 |
| -1. Τετάρτη 15:00-17:00 @ Εργαστήριο Windows PC1, υπεύθυνη: Άννα Καββαδά, βοηθοί: Γιώργος Νικολάου, Ευάγγελος Αργυρόπουλος |
99 |
| -1. Τετάρτη 17:00-19:00 @ Εργαστήριο Windows PC1, υπεύθυνος: Γιάννης Χαμόδρακας, βοηθοί: Ηλίας Κωνσταντινίδης, Κωνσταντίνος Λεοντιάδης |
100 |
| -1. Παρασκευή 13:00-15:00 @ Εργαστήριο Windows PC1, υπεύθυνος: Νίκος Περδικοπάνης, βοηθοί: Νικόλαος Δάλκος, Απόστολος-Παναγιώτης Γραμματόπουλος, Βαγγέλης Κόκκινος, Αθανασία Κανελλοπούλου |
101 |
| -1. Παρασκευή 15:00-17:00 @ Εργαστήριο Windows PC1, υπεύθυνος: Στέφανος Σταματης, βοηθοί: Κωνσταντίνος Χούσος, Αναστάσιος-Φαίδων Σεϊτανίδης, Ιωάννης Ξηρός, Ζήσιμος Βακράς, Ιωάννης Βογιατζής, Γεώργιος-Αλέξανδρος Κώστας |
102 |
| -1. Παρασκευή 17:00-19:00 @ Εργαστήριο Windows PC1, υπεύθυνος: Νίκος Περδικοπάνης, βοηθοί: Βύρων-Γεώργιος Ανεμογιάννης |
103 |
| -1. Τμήμα Β+: Τρίτη 18:00-20:00 @ Εργαστήριο Linux, υπεύθυνος: Δημήτρης Βερλέκης, βοηθοί: Κωνσταντίνος Κορδολαίμης, Κυριακή Καραπλιού |
| 47 | +Το εργαστήριο είναι *υποχρεωτικό* για τους πρωτοετείς. Το ακόλουθο πρόγραμμα θα ξεκινήσει την TBD: |
104 | 48 |
|
| 49 | +TBD |
105 | 50 |
|
106 | 51 | ## Συγγράμματα
|
107 | 52 |
|
|
115 | 60 |
|
116 | 61 | ## Άλλοι Σύνδεσμοι
|
117 | 62 |
|
118 |
| -* [Unix Tutorial από τον καθηγητή Παναγιώτη Σταματόπουλο](/resources/Unix.pdf) |
| 63 | +* [Unix Tutorial από τον καθηγητή Παναγιώτη Σταματόπουλο](/assets/pdf/Unix.pdf) |
119 | 64 | * [Οδηγίες εγκατάστασης VS Code από τον καθηγητή Κώστα Χατζηκοκολάκη](https://k08.chatzi.org/vscode/)
|
120 | 65 | * [Οδηγός Σπουδών για το μάθημα](https://www.di.uoa.gr/studies/undergraduate/courses/k04)
|
121 | 66 |
|
|
143 | 88 |
|
144 | 89 | ### Μεταπτυχιακοί Συνεργάτες
|
145 | 90 |
|
146 |
| -* Άννα Καββαδά (cs2210009) |
147 |
| -* Δημήτρης Βερλέκης (cs22200007) |
| 91 | +TBD |
148 | 92 |
|
149 | 93 | ### Προπτυχιακοί Συνεργάτες
|
150 | 94 |
|
151 |
| -* Βύρων-Γεώργιος Ανεμογιάννης (sdi2000008) |
152 |
| -* Ζήσιμος Βακράς (sdi2200014) |
153 |
| -* Ιωάννης Ξηρός (sdi2200122) |
154 |
| -* Ιωάννης Βογιατζής (sdi2200021) |
155 |
| -* Γεώργιος-Αλέξανδρος Κώστας (sdi2100080) |
156 |
| -* Ευάγγελος Αργυρόπουλος (sdi2200010) |
157 |
| -* Κωνσταντίνος Λεοντιάδης (sdi2100085) |
158 |
| -* Βαγγέλης Κόκκινος (sdi2000084) |
159 |
| -* Κωνσταντίνος Χούσος (sdi2000215) |
160 |
| -* Γεώργιος Νικολάου (sdi2000154) |
161 |
| -* Ελένη Φίλη (sdi2100203) |
162 |
| -* Αναστάσιος-Φαίδων Σεϊτανίδης (sdi2000179) |
163 |
| -* Νικόλαος-Παναγιώτης Δάλκος (sdi2000043) |
164 |
| -* Κωνσταντίνος Κορδολαίμης (sdi2000091) |
165 |
| -* Δημήτρης Σκόνδρας-Μέξης (sdi2200161) |
166 |
| -* Νιόβη Κουμπαράκη (sdi2100072) |
167 |
| -* Απόστολος-Παναγιώτης Γραμματόπουλος (sdi2000041) |
168 |
| -* Ζωή Κουκουβέ (sdi2000097) |
169 |
| -* Γεώργιος Νικολαΐδης (sdi2100118) |
170 |
| -* Αθανασία Κανελλοπούλου (sdi2000065) |
171 |
| -* Ηλίας Κωνσταντινίδης (sdi2000109) |
172 |
| -* Δημήτρης-Στέφανος Πορίχης (sdi2100159) |
173 |
| -* Παύλος Νταής (sdi2100122) |
174 |
| -* Κυριακή Καραπλιού (sdi2000069) |
| 95 | +TBD |
175 | 96 |
|
176 | 97 | ## Προηγούμενα Έτη
|
177 | 98 |
|
178 |
| -* [2023](./past/2023/README.md) |
| 99 | +* [2023](/past/2023/README.md) |
179 | 100 | * [Προηγούμενα έτη](https://cgi.di.uoa.gr/~ip/)
|
180 |
| -* [Σημειώσεις](/resources/K04.pdf) από τον καθηγητή [Παναγιώτη Σταματόπουλο](https://cgi.di.uoa.gr/~takis/) |
| 101 | +* [Σημειώσεις](/assets/pdf/K04.pdf) από τον καθηγητή [Παναγιώτη Σταματόπουλο](https://cgi.di.uoa.gr/~takis/) |
181 | 102 |
|
182 | 103 |
|
183 | 104 | ### Ευχαριστίες
|
184 | 105 |
|
185 | 106 | Θερμές ευχαριστίες στον [Παναγιώτη Σταματόπουλο](https://cgi.di.uoa.gr/~takis/) και τον [Στέφανο Σταμάτη](https://telekpa.uoa.gr/personalrec.php?lang=el&rid=7474) χωρίς τους οποίους το μάθημα θα ήταν αδύνατο να στηθεί.
|
186 |
| - |
187 |
| - |
188 |
| -## Βιβλιοθήκη Προγραμμάτων |
189 |
| - |
190 |
| -1. Hello World (printf) |
191 |
| - |
192 |
| -```c |
193 |
| - /* File: helloworld.c */ |
194 |
| -#include <stdio.h> |
195 |
| -int main() { |
196 |
| - printf("Hello world\n"); |
197 |
| - return 0; |
198 |
| -} |
199 |
| -``` |
200 |
| - |
201 |
| -2. Υπολογισμός βαθμολογίας (argc, argv) |
202 |
| - |
203 |
| -```c |
204 |
| -#include <stdio.h> |
205 |
| -#include <stdlib.h> |
206 |
| - |
207 |
| -// Compute grades using the class formula |
208 |
| -int grade(int final_exam, int homework, int lab) { |
209 |
| - return final_exam * 50 / 100 + homework * 30 / 100 + lab * 20 / 100; |
210 |
| -} |
211 |
| - |
212 |
| -int main(int argc, char **argv) { |
213 |
| - if (argc != 4) { |
214 |
| - printf("Program needs to be called as `./prog final_exam homework lab`\n"); |
215 |
| - return 1; |
216 |
| - } |
217 |
| - int final_exam = atoi(argv[1]); |
218 |
| - int homework = atoi(argv[2]); |
219 |
| - int lab = atoi(argv[3]); |
220 |
| - printf("Grade: %d\n", grade(final_exam, homework, lab)); |
221 |
| - return 0; |
222 |
| -} |
223 |
| -``` |
224 |
| -3. Παραγοντικό/Factorial (αναδρομή/recursion) |
225 |
| -
|
226 |
| -```c |
227 |
| -#include <stdio.h> |
228 |
| -#include <stdlib.h> |
229 |
| -
|
230 |
| -// Compute the factorial of a number using the recursive |
231 |
| -// formula. |
232 |
| -int factorial(int number) { |
233 |
| - if (number == 0) { |
234 |
| - return 1; |
235 |
| - } else { |
236 |
| - return number * factorial(number - 1); |
237 |
| - } |
238 |
| -} |
239 |
| -
|
240 |
| -int main(int argc, char **argv) { |
241 |
| - if (argc != 2) { |
242 |
| - printf("Program needs to be called as `./prog number`\n"); |
243 |
| - return 1; |
244 |
| - } |
245 |
| - int number = atoi(argv[1]); |
246 |
| - printf("%d! = %d\n", number, factorial(number)); |
247 |
| - return 0; |
248 |
| -} |
249 |
| -``` |
0 commit comments