Μάθημα : ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ - Γ'ΕΠΑΛ
Κωδικός : S151119
S151119 - ΑΝΔΡΕΑΣ ΧΑΤΖΗΑΓΑΠΙΟΥ
Περιγραφή Μαθήματος
Σκοπό έχει οι μαθητές να αναπτύξουν υπολογιστική σκέψη, να αποκτήσουν ικανότητες
μεθοδολογικού χαρακτήρα, βασικές γνώσεις στη διαχείριση και ανάπτυξη Πληροφοριακών
Συστημάτων, στις τεχνολογίες του Διαδικτύου καθώς και ικανότητες στη αξιοποίηση και
χρήση σχετικών Διαδικτυακών εφαρμογών και εργαλείων λογισμικού. Για την απόκτηση
επικοινωνιακών ικανοτήτων συνεργασίας και έκφρασης ιδεών οι μαθητές θα συνεργαστούν
μέσα σε ένα πλαίσιο ομαδοσυνεργατικών δραστηριοτήτων για να εφαρμόσουν τις γνώσεις
που έχουν αποκτήσει αξιοποιώντας σύγχρονες μεθοδολογίες, μοντέλα και εργαλεία για
την ανάλυση, σχεδίαση, υλοποίηση, συντήρηση, ασφάλεια και αξιολόγηση Διαδικτυακών
Πληροφοριακών Συστημάτων καθώς και εφαρμογών και Διαδικτυακών υπηρεσιών. Κατά
την διάρκεια των δραστηριοτήτων αυτών οι μαθητές θα κληθούν να δώσουν λύσεις σε
ανοικτά προβλήματα, να προτείνουν εναλλακτικές μεθοδολογίες και τεχνικές και να παρουσιάσουν τις προτάσεις τους και τις ιδέες τους.
ΔΕΙΤΕ ΤΙΣ ΕΝΟΤΗΤΕΣ ΠΑΡΑΚΑΤΩ ↓
Α) Πλαίσιο - Ερωτήσεις για συζήτηση
-
Σήμερα όλοι χρησιμοποιούμε το Διαδίκτυο. Αλλά μπορεί κάποιος να περιγράψει τι πραγματικά είναι;
-
Ποια είναι η αγαπημένη σας εφαρμογή ή ιστοσελίδα; Τι σας επιτρέπει να κάνετε με αυτήν;
-
Όταν πληκτρολογείτε μια διεύθυνση, π.χ. www.google.com, στο πρόγραμμα περιήγησής σας, τι πιστεύετε ότι συμβαίνει "πίσω από τις κουρτίνες" για να εμφανιστεί η σελίδα;
Β) Βασικές Έννοιες
1. Τι είναι το Διαδίκτυο;
-
Έννοια: Ένα παγκόσμιο δίκτυο από διασυνδεδεμένους υπολογιστές που επικοινωνούν μεταξύ τους χρησιμοποιώντας κοινά πρωτόκολλα. Δεν είναι το ίδιο με τον Παγκόσμιο Ιστό (Web).
-
Αναλογία: Είναι όπως το δίκτυο των δρόμων. Οι δρόμοι (τα καλώδια, τα Wi-Fi σήματα) συνδέουν όλες τις πόλεις (τους υπολογιστές). Ο Ιστός είναι μόνο ένα είδος "οχήματος" (όπως ένα αυτοκίνητο) που μπορεί να κυκλοφορήσει σε αυτούς τους δρόμους. Υπάρχουν και άλλα "οχήματα", όπως το email ή η ροή μουσικής
2. Τι είδους εφαρμογές υπάρχουν; (Κατηγορίες)
-
Έννοια: Οι εφαρμογές είναι οι υπηρεσίες που χρησιμοποιούμε πάνω στο Διαδίκτυο.
-
Κατηγορίες:
-
Επικοινωνίας: Email, Social Media (Facebook, Instagram), Mensaging (Viber, WhatsApp, Discord).
-
Πληροφόρησης & Ψυχαγωγίας: Παγκόσμιος Ιστός (Websites, Blogs), Streaming (YouTube, Netflix, Spotify), Ειδήσεις.
-
Εμπορίου & Υπηρεσιών: Ηλεκτρονικό Εμπόριο (Skroutz, Amazon), Online Banking, Τηλεργασία, Νέφος (Cloud - Google Drive, Dropbox)
-
3. Ποιες τεχνολογίες χρησιμοποιούνται;
-
Έννοια: Τα "κοινά πρωτόκολλα" που αναφέραμε είναι βασικές τεχνολογίες.
-
Βασικές Τεχνολογίες:
-
IP Διεύθυνση (Internet Protocol): Η μοναδική "διεύθυνση" κάθε συσκευής στο Διαδίκτυο (π.χ.
192.168.1.1). Είναι η αριθμητή διεύθυνση του σπιτιού σας. -
DNS (Domain Name System): Το "τηλεφωνικό βιβλίο" του Διαδικτύου. Μετατρέπει τις εύκολες για ανθρώπους διευθύνσεις (όπως
www.google.com) στις αντίστοιχες IP διευθύνσεις που καταλαβαίνουν οι υπολογιστές. Είναι ο χάρτης που μεταφράζει το όνομα του δρόμου σε γεωγραφικές συντεταγμένες. -
Παγκόσμιος Ιστός (World Wide Web - WWW): Ένα σύστημα διασυνδεδεμένων εγγράφων (ιστοσελίδων) που προσπελαύνονται μέσω ενός προγράμματος περιήγησης (Browser) χρησιμοποιώντας το πρωτόκολλο HTTP/HTTPS.
-
-
Σύνδεσμος: Εξήγηση του DNS σε 2 λεπτά - YouTube
Ερωτήσεις για το σπίτι:
-
Πηγαίνετε στο site
whatismyipaddress.comκαι σημειώστε την δημόσια IP διεύθυνση του σπιτιού σας. Γράψτε μια πρόταση που να εξηγεί τι αντιπροσωπεύει αυτή η διεύθυνση. -
Σκεφτείτε μια εφαρμογή που να μην υπάρχει ακόμα, αλλά πιστεύετε ότι θα ήταν χρήσιμη. Περιγράψτε την συνοπτικά (1-2 προτάσεις) και πείτε σε ποια κατηγορία θα ανήκε.
Άσκηση για το σπίτι:
-
Ανοίξτε την γραμμή εντολών. Δηλαδή πληκτρολογήστε cmd
- Γράψτε μέσα στην γραμμή εντολών την εντολή ipconfig /all
- Εντοπίστε και γράψτε
- πόσες διεπαφές (interfaces) έχει ο υπολογιστής σας
- ποια IP έχει;
- ποιο Subnet;
- ποιο DNS/DHCP;
- ποια mac address;
- Εξηγήστε τι θα γίνει αν υπάρχουν πολλοί πελάτες (clients) και ζητάνε ταυτόχρονα IP διεύθυνση από τον DHCP Server;
Τι διαδικτυακές εμπειρίες είχατε;
Τι πιθανούς κινδύνους μπορεί να συναντήσει κάποιος ή έχετε ακούσει;
Τι θετικές εμπειρίες έχετε αποκομίσει;
Με φίλους;
Με την οικογένεια;
Εκμάθηση νέων πραγμάτων;
Πληροφορίες για σχολικές εργασίες
Παρουσίαση
Επιλογή ισχυρών κωδικών
Προστασία προσωπικών στοιχείων
Προσοχή τι κατεβάζουμε
Προσοχή στους ξένους που συναντάμε online
Αναφορά περιστατικών διαδικτυακού εκφοβισμού
1) Τι είναι ένας ισχυρός κωδικός;
2) Πως προστατεύουμε τα προσωπικά μας δεδομένα;
3)Τι πρέπει να προσέχουμε στις διαδικτυακές μας αγορές;
Ερωτήσεις για το σπίτι:
-
Περιγράψτε σύντομα μια δική σας άσχημη διαδικτυακή προσωπική εμπειρία που είχατε. Αν δεν είχατε περιγράψτε μια φανταστική ή μια εμπειρία από αυτές που ειπώθηκαν μέσα στην τάξη.
- Γράψτε τα βήματα που πρέπει να κάνετε για να προστατευθείτε στο μέλλον από μια αντίστοιχη.
Εισαγωγή
Η PHP (Hypertext Preprocessor) είναι μια δημοφιλής γλώσσα προγραμματισμού που χρησιμοποιείται κυρίως για την ανάπτυξη δυναμικών ιστοσελίδων και εφαρμογών στο διαδίκτυο. Είναι server-side, πράγμα που σημαίνει ότι ο κώδικας εκτελείται στον διακομιστή και το αποτέλεσμα αποστέλλεται στον χρήστη ως HTML. Αυτό την καθιστά ιδανική για τη διαχείριση δεδομένων, τη δημιουργία φορμών, την αλληλεπίδραση με βάσεις δεδομένων και πολλές άλλες λειτουργίες που απαιτούν επεξεργασία στο παρασκήνιο.
Η PHP είναι σχετικά εύκολη στην εκμάθηση, ακόμη και για αρχάριους, επειδή η σύνταξή της είναι απλή και κατανοητή. Χρησιμοποιείται συχνά σε συνδυασμό με άλλες τεχνολογίες, όπως HTML, CSS και JavaScript, για τη δημιουργία ολοκληρωμένων και διαδραστικών ιστοσελίδων. Μπορεί επίσης να ενσωματωθεί εύκολα με βάσεις δεδομένων, όπως η MySQL, γεγονός που την καθιστά πολύ ισχυρό εργαλείο για τη διαχείριση δεδομένων και την ανάπτυξη ιστοσελίδων e-commerce, blogs και forum.
Ένα από τα μεγαλύτερα πλεονεκτήματα της PHP είναι ότι είναι ανοιχτού κώδικα (open-source), που σημαίνει ότι είναι δωρεάν και έχει μια τεράστια κοινότητα προγραμματιστών που υποστηρίζουν την ανάπτυξή της. Η PHP μπορεί να τρέξει σε διάφορες πλατφόρμες, όπως Windows, Linux και macOS, και μπορεί να ενσωματωθεί εύκολα με δημοφιλείς web servers, όπως ο Apache και ο Nginx. Αυτό την καθιστά εξαιρετικά ευέλικτη και δημοφιλή για τη δημιουργία ιστοσελίδων και εφαρμογών.
Ερωτήσεις Πολλαπλής επιλογής
>>>Δες την άσκηση<<<
Ιστοσελίδες για διάβασμα στην τάξη
1) https://openlab.gr/%ce%b5%ce%b9%cf%83%ce%b1%ce%b3%cf%89%ce%b3%ce%ae-%cf%83%cf%84%ce%b7%ce%bd-php/
2) https://tutor.edu.gr/
Σταυρόλεξο
>>> Δες το σταυρόλεξο <<<
Ερωτήσεις για το σπίτι Ι
Αφού διαβάσετε τις πληροφορίες από τους παραπάνω συνδέσμους, απαντήστε στις εξής ερωτήσεις:
-
Ποιο είναι το κύριο πλεονέκτημα της PHP σε σχέση με άλλες γλώσσες server-side;
-
Ποιος είναι ο σκοπός της PHP;
-
Ποια είναι η κύρια διαφορά μεταξύ της PHP και της HTML;
Βασικό συντακτικό
<?php
// PHP κώδικας εδώ
?>
Εγκατάσταση XAMPP
Παράδειγμα σελιδας php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
echo "Hello World!<br>";
?>
</body>
</html>
Οι εντολές στην PHP τελειώνουν με ελληνικό ερωτηματικό (;).
Μεταβλητές
Οι μεταβλητές ξεκινούν με το $ και μετά το όνομα της μεταβλητής. Το όνομα των μεταβλητών είναι case-sensitive δηλαδή υπάρχει διάκριση ανάμεσα στα μικρά και στα κεφαλαία.
παράδειγμα
$a = "Hello";
$b = "World";
echo $a , $b; //concatenation-συνένωση OK
echo $a . $b; //concatenation OK
echo $A; //syntax error γιατί η μεταβλητη είναι με a πεζό άρα μόνο $a δουλεύει
Ενώ οι ενσωματωμένες λέξεις-κλειδιά (e.g. if, else, while, echo, etc.), κλάσεις, συναρτήσεις, δεν είναι case-sensitive.
Ερωτήσεις για το σπίτι ΙΙ
Ερώτηση 1 Τι χρειάζεται για να εκτελέσω κώδικα PHP;
Ερώτηση 2 Με ποια γλώσσα μοιάζει;
Ερώτηση 3 Που μπορώ να γράψω PHP;
- Integer
- Float
- Boolean
- string
- Array
- Object
- NULL
Βασική σελίδα php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
// σχόλιο1
# επίσης σχόλιο εδώ. Η php δεν το μεταφράζει σε κώδικα, απλά το αγνοεί
/* και
εδώ είναι
ένα
σχόλιο πολλών γραμμών
έως εδώ */
?>
</body>
</html>
Κουιζ
Ασκήσεις για το σπίτι
Άσκηση 1: Ποια συνάρτηση μας επιστρέφει τον τύπο δεδομένων.(Βοήθεια: Δείτε εδώ); Δώστε 2 παραδείγματα με διαφορετικούς τύπους μεταβλητων και το αποτέλεσμα που βγάζει. Χρησιμοποιήστε το w3schools try it.
Άσκηση 2: Κάντε τις ασκήσεις 1-3 από το Έγγραφα->Φυλλάδιο 1.
Βοήθεια: Δείτε ενδεικτικές λύσεις των ασκήσεων στο:
1) (ΠΡΟΤΕΙΝΟΜΕΝΟ) Online PHP. (πατάτε το κουμπί Execute Code για εκτέλεση)
2) Replit. (Πατάτε πρωτα Remix this App και μετά επιλέγετε την άσκηση που θέλετε)
Άσκηση 3: Κάντε τις ασκήσεις από το Φυλλάδιο 2
Ασκήσεις για το σπίτι
Για τις ασκήσεις χρησιμοποιήστε την πλατφόρμα https://onlinephp.io/. Για τα php scripts χρησιμοποιήστε την δομή:
<?php
echo "Καλημέρα PHP";
?>
Άσκηση 1. Να κάνετε όλες τις ασκήσεις από το Φυλλάδιο 1.
Άσκηση 2. Να κάνετε όλες τις ασκήσεις από το Φυλλάδιο 2
ifstatement - Εκτελείται κώδικας αν η συνθήκη είναι αληθής
if (condition) {
// αυτό θα εκτελεστεί αν είναι Αληθής
}
if...else statement - Εκτελείται κάποιος κώδικας αν η συνθήκη είναι αληθής και άλλο κομμάτι κώδικα αν είναι ψευδής
if(condition){
// αυτό θα εκτελεστεί αν είναι Αληθής
}
else{
// αυτό θα εκτελεστεί αν είναι Ψευδής
}
if...elseif...else statement - Εκτελείται κάποιος κώδικας αν είναι αληθής περισσότερες από δυο συνθήκες (condition1, condition2)
if(condition1){
// αυτό θα εκτελεστεί αν είναι Αληθής η condition1
}
elseif(condition2){
// αυτό θα εκτελεστεί αν είναι Αληθής η condition2
}
else{
// αυτό θα εκτελεστεί αν είναι Ψευδής η condition1 ΚΑΙ Ψευδής η condition2
}
switch statement - Επιλέγει ποιος κώδικας θα εκτελεστεί ανάλογα την τιμή
switch (expression) {
case label1:
//code block
break;
case label2:
//code block;
break;
case label3:
//code block
break;
default:
//code block
}
Τελεστές σύγκρισης
| Τελεστής | Όνομα | Αποτέλεσμα | Try it |
|---|---|---|---|
| == | ίσο | Επιστρέφει true αν οι τιμές είναι ίσες (γίνεται προσπάθεια μετατροπής) | Try it » |
| === | παρόμοιες | Επιστρέφει true αν οι τιμές είναι ίσες και ο τύπος τους(δεν γίνεται προσπάθεια μετατροπής) | Try it » |
| != | Διάφορο | Επιστρέφει true αν οι τιμές είναι δεν είναι ίσες | Try it » |
| <> | Διάφορο | Επιστρέφει true αν οι τιμές είναι δεν είναι ίσες (ομοίως) | Try it » |
| !== | όχι παρόμοιες | Επιστρέφει true αν οι τιμές ή ο τύπος τους δεν είναι παρόμοιος (δεν γίνεται προσπάθεια μετατροπής) | Try it » |
| > | Μεγαλύτερο από | Επιστρέφει true αν η πρώτη τιμή είναι μεγαλύτερη από την δεύτερη | Try it » |
| < | Μικρότερο από | Επιστρέφει true αν η πρώτη τιμή είναι μικρότερη από την δεύτερη | Try it » |
| >= | Μεγαλύτερο ή ίσο | Επιστρέφει true αν η πρώτη τιμή είναι μεγαλύτερη ή ίση από την δεύτερη | Try it » |
| <= | Μικρότερο ή ίσο | Επιστρέφει true αν η πρώτη τιμή είναι μικρότερη ή ίση από την δεύτερη |
https://tutor.edu.gr/php/operators
https://www.w3schools.com/php/php_if_operators.asp
Λογικοί τελεστές
| Τελεστής | Όνομα | Αποτέλεσμα | Try it |
|---|---|---|---|
| and | Και | True αν και οι δυο συνθήκες αληθείς | Try it » |
| && | Και | True αν και οι δυο συνθήκες αληθείς | Try it » |
| or | Ή | True αν τουλάχιστον μια από τις δυο συνθήκες αληθείς | Try it » |
| || | Ή | True αν τουλάχιστον μια από τις δυο συνθήκες αληθείς | Try it » |
| xor | Αποκλειστικό Ή | True αν μόνο μια από τις δυο συνθήκες αληθείς | Try it » |
| ! | Όχι | True αν η συνθήκη δεν είναι αληθής | Try it » |
Ασκήσεις για το σπίτι
- Να κάνετε την άσκηση if...else
- Να κάνετε την άσκηση στους τελεστές
- Να κάνετε τις ασκήσεις 1-7 από το Φυλλάδιο 3 - Δομή Επιλογής
- Να κάνετε τις ασκήσεις 1-6 από το Φυλλάδιο 4 - Δομή Επιλογής
Βρόχος while
Επαναλαμβανόμενα εκτελεί τις εντολές όσο ισχύει η συνθήκη.
- αν η συνθήκη είναι ψευδής εξαρχής τότε οι εντολές δεν εκτελούνται καμία φορά
- αν η συνθήκη είναι αληθής τότε εκτελούνται οι εντολές. Μετά ελέγχεται ξανά η συνθήκη. Αν συνεχίζει να είναι αληθής τότε εκτελούνται πάλι οι εντολές κοκ,
while (συνθήκη) {
#εντολές
}
Υπάρχει και η μορφή while με : χωρίς να χρειάζεται αγκύλες. Το τέλος των εντολών ορίζεται με την endwhile;
while (συνθήκη):
#εντολές
endwhile;
Παράδειγμα - while
Στο παρακάτω κώδικα χρησιμοποιούνται 3 μεταβλητές. Ο αριθμός $k (ξεκινάει από το 1), το τέλος $n και το άθροισμα $s. Όσο ο αριθμός $k είναι μικρότερος ή ίσος από το $n προστίθεται o $k στο άθροισμα $s = $s + $k και μετά αυξάνεται o $k = $k +1.
<?php
// Το άνω όριο για να σταματήσει η επανάληψη while
$n=100;
// Η αρχική τιμή του αθροίσματος $s
$s=0;
// Ο πρώτος αριθμός:
$k=1;
// Υπολογίζει το άθροισμα $s μέσα στην επανάληψη
while($k<=$n){
$s+=$k; // Προσθέτει τον όρο στο άθροισμα $s
$k++; // Ο νέος αριθμός αυξάνεται κατά 1
}
echo "Το άθροισμα όλων των αριθμών από το 1 μέχρι το 100 είναι " . $s;
?>
Εκτελέστε το παράδειγμα. Τι εμφανίζει;
Βρόχος do...while
Επαναλαμβανόμενα εκτελεί τουλάχιστον μια φορά τις εντολές. Μετά ελέγχει την συνθήκη. Αν είναι true τότε εκτελέι πάλι τις εντολές και ξαναελέγχει την συνθήκη μέχρι να γίνει false.
do {
#εντολές
} while (συνθήκη)
Βρόχος for
Επαναλαμβανόμενα εκτελεί
for(μέρος1 ; μέρος2 ; μέρος3){
#εντολές
}
Μέρος 1: Εκτελείται μια φορά, ακριβώς πριν την συνθήκη
Μέρος 2: Είναι η συνθήκη. Ελέγχεται η συνθήκη πριν από κάθε επανάληψη
Μέρος 3: Εκτελείται στο τέλος και μετά από την εκτέλεση των εντολών της for επανάληψης.
Παράδειγμα - for
<?php
for ($x = 1; $x <= 20; $x++) {
echo "Είμαι στο : $x " . "\n";
}
?>
Εκτελέστε το παράδειγμα. Τι εμφανίζει;
Η έκφραση $x = 1 εκτελείται μια φορά στην αρχή. Θέτει το $x να είναι 1.
Η έκφραση $x <= 20 ελέγχεται πριν από κάθε επανάληψη. Αν είναι true τότε εκτελούνται οι παρακάτω εντολές
Η τρίτη έκφραση εκτελείται μετά από τις εντολές τις επανάληψης και πριν να ελεγχθεί η συνθήκη για την επόμενη επανάληψη. $x++ αυξάνει το $x κατά 1 και είναι το σύντομο ισοδύναμο του $x = $x +1
Βρόχος foreach
Βοηθάει στην επανάληψη αντικειμένων μέσα από πίνακα. Θα το χρησιμοποιήσουμε στο Project μας
foreach(array as variable){
# commands
}
Παράδειγμα 1 - foreach
<?php
# πίνακας χωρίς αρίθμηση. 0 => "red" 1 =>"green" κοκ
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $x) {
echo "$x" . "\n";
}
?>
Εκτελέστε το παράδειγμα. Τι εμφανίζει;
Παράδειγμα 2 - foreach
<?php
# πίνακας με αντιστοιχία key, value
$A=["X"=>100,"Y"=>200,"Z"=>300];
foreach($A as $v){
echo $v," ";
}
?>
Εκτελέστε το παράδειγμα. Τι εμφανίζει;
Ασκήσεις
Α. Να κάνετε τα κουιζ
- Γενικά https://www.w3schools.com/php/exercise.asp?x=xrcise_loops1
- while https://www.w3schools.com/php/exercise.asp?x=xrcise_loops_while1
- do...while https://www.w3schools.com/php/exercise.asp?x=xrcise_looping_do_while1
- for https://www.w3schools.com/php/exercise.asp?x=xrcise_looping_for1
- foreach https://www.w3schools.com/php/exercise.asp?x=xrcise_looping_foreach1
Β. Να εκτελέσετε τα παραδείγματα
1) https://tutor.edu.gr/php/repeat-structures
2) https://www.geeksforgeeks.org/php-foreach-loop/
Ασκήσεις για το σπίτι
Φυλλάδιο 5 - PHP scripts - Δομή Επανάληψης for/while/foreach
Ημερολόγιο
Ανακοινώσεις
Όλες...- - Δεν υπάρχουν ανακοινώσεις -