Χάρτης Γνώσεων

Παρέχονται Μαθήματα Προγραμματισμού & Πληροφορικής, τα οποία συνοδεύονται με θεωρία, ασκήσεις και εργασίες. Δείτε πιο κάτω τις γνώσεις που απαιτούνται για κάποιες ειδικότητες στην πληροφορική.

τηλεφωνικά

+30 697 255 2559

Social Media

Χάρτης γνώσεων ειδικοτήτων

Επαγγελματικές Ειδικότητες Πληροφορικής σχετικές με τα μαθήματα που παραδίδω.

Ο τρόπος με τον οποίο ένας ιστότοπος ή μια web εφαρμογή φαίνεται και λειτουργεί είναι το άμεσο αποτέλεσμα του έργου του Web Developer. Εξειδικεύεται σε Front End, ή Back End, ή Full Stack Web Developer.

Γνώσεις που είναι απαραίτητεςHMTL5 (Semantic Elements, Attributes, Doctype, κλπ), CSS Βασικές αρχές, CSS Grid & Flexbox, CSS Custom properties, CSS transitions. Responsive Design (Viewport, Media Querries, Fluid widths, rem units, Mobile first layout κλπ), Vanilla Javascript.

Προαιρετικά: Custom Reusable CSS code, SASS (Μεταβλητές, nesting, συνθήκες ελέγχου, κλπ.), CSS Frameworks (Bootstrap, Tailwind css, Materialize, Bulma).

Συστήνονται: Domain Registration, Managed Hosting, Static Hosting, SSL Certificate, FTP, SFTP (File Transfer Protocol), SSH (Secure Shell), CLI & GIT.

Επέκταση εξειδίκευσης σε: JAMstack (Client side Javascript, reusable APIs & prebuilt Markup), Serverless Architecture (FaaS, AWS Lamda, Netlify), Web Assembly, Progressive Web Apps PWA, SSH, Virtualization (Docker, Vagrant), Microservices.

Διαχειρίζεται όλα όσα βλέπουν οι χρήστες οπτικά στον browser ή την on line εφαρμογή τους. Οι Front End Developers είναι υπεύθυνοι για την εμφάνιση και την αίσθηση μιας ηλεκτρονικής παρουσίασης. Η ανάπτυξη του front end επικεντρώνεται κυρίως σε αυτό που κάποιοι μπορεί να φανταστούν ως “client side” της ανάπτυξης. 

Γνώσεις που είναι απαραίτητες: Όλα όσα αναφέρονται προηγουμένως ως Web Developer (HTML, CSS, Vanilla Javascript) και επιπλέον: DOM (Document Object Model), JSON (Javascript Object Notation), Fetch API (Request / Response AJAX), Modern Javascript. 

Προαιρετικά και επιθυμητά: Git Version Control, GitHub, Browser Dev Tools, VS Code Extensions, Emmet, NPM ή Yarn (Package Management), Axios, Webpack ή Parcel (Javascript Module Bundlers).

Επέκταση εξειδίκευσης σε: ένα ή περισσότερα Frontend Javascript Frameworks (React, Vue, Angular), Svelte Javascript Compiler, State Manegement (React – Redux, Contect API με Hooks, Vue – Vuex, Angular – NGRX, Services, Apollo Client)

Ο Back End Web Developer είναι υπεύθυνος για τη δημιουργία και τον σχεδιασμό συστημάτων για το πώς ο χρήστης θα αλληλεπιδράσει με τον ιστότοπο ή web εφαρμογή, τη συντήρηση, τον έλεγχο και τον εντοπισμό σφαλμάτων σε ολόκληρο το σύστημα. Αυτό περιλαμβάνει τη βασική λογική της εφαρμογής, διαχείριση δεδομένων σε βάσεις δεδομένων, ολοκλήρωση παρουσίασης δεδομένων και εφαρμογών, API και άλλες διεργασίες back-end.

Γνώσεις που είναι απαραίτητες: Μια ή περισσότερες Server Side Languages (Node.js, C#, Python, Ruby, PHP, Java, GoLang, Rust), Server Side Rendering (File System Routing, Automatic Code Splitting, Static Exporting, CSS in Javascript), Plug in Systems, Javascript, TypeScript, Back End APIs, SQL, μια ή περισσότερες βάσεις δεδομένων και RDBMS: Relational Database (PostgreSQL, MySQL, MS SQL), NoSQL (MongoDB, RethinDB, CouchDB), Cloud Database (Firebase, Azure Cloud DB, AWS ), Lightweiht & Cache (Redis, SQLlite, NeDB).

Προαιρετικά και επιθυμητά: ORM, ODM, BOM, Static Site Generators (Gatsby-React, Gridsome-Vue), GraphQL για δεδομένα.

Επέκταση εξειδίκευσης σε: ένα ή περισσότερα Server Side Frameworks (Node.js: Express, Koa, Adonis, Feather.js, Nest.js / PHP: Laravel, Symfony, Slim / Python: Django, Flask / C#: ASP.NET MVC / Java: Spring MVC, Grails / Ruby: Ruby on Rails, Sinatra / Go: Revel), API First Design.

Κατέχει επαρκείς γνώσεις ως Front End Web Developer και ως Back End Web Developer παράλληλα. Δείτε τις προαναφερόμενες ειδικότητες και τις γνώσεις που απαιτούνται και προτείνονται.

Ο Desktop Application Developer δημιουργεί εφαρμογές επιφάνειας εργασίας που εκτελούνται σε ένα μηχάνημα (ανεξάρτητα από το αν αυτό το μηχάνημα είναι επιφάνεια εργασίας, φορητός υπολογιστής κλπ) και συνήθως δεν απαιτείται συνδεσιμότητα με κάποιον διακομιστή.

Αντίστοιχα ο Mobile Application Developer δημιουργεί εφαρμογές για κινητά, που συνήθως διαθέτουν λογισμικά που έχουν σχεδιαστεί για να λειτουργούν σε μια κινητή συσκευή, όπως ένα smartphone ή tablet PC. Είτε πρόκειται για μια πλατφόρμα Android, Apple ή Windows, ένας προγραμματιστής για κινητά δημιουργεί συγκεκριμένες εφαρμογές που χρησιμοποιούν τα μεμονωμένα χαρακτηριστικά της συγκεκριμένης πλατφόρμας.

Τέλος οι Game Designers & Developers εργάζονται σε ομάδες με στόχο τον σχεδιασμό και την παραγωγή βίντεο παιχνιδιών για υπολογιστές, κινητές συσκευές, ή κονσόλες. Η δουλειά τους περιλαμβάνει τη δημιουργία οπτικού περιεχομένου για ένα παιχνίδι και τη σύνταξη κώδικα για την εφαρμογή όλων των λειτουργιών του παιχνιδιού.

Γνώσεις που είναι απαραίτητες: Βασικές αρχές σειριακού προγραμματισμού, βασικές αρχές αντικειμενοστραφούς προγραμματισμού, μια ή περισσότερες γλώσσες προγραμματισμού (C, C++, C#, Java, Python, SQL, Objective-C, Swift, GoLang, κλπ.), SQL, μια ή περισσότερες βάσεις δεδομένων και RDBMS: Relational Database (PostgreSQL, MySQL, MS SQL), NoSQL (MongoDB, RethinDB, CouchDB), Cloud Database (Firebase, Azure Cloud DB, AWS ), Lightweiht & Cache (Redis, SQLlite, NeDB), γνώσεις λειτουργικών συστημάτων (Linux, Windows, Macos, Ios, Android κλπ), Αλγοριθμικές γνώσεις και τεχνικές.

Προαιρετικά και επιθυμητά: C Windows API, VB .NET, PHP frameworks (CakePHP, Laravel, Symfony, Phalcon), Swift framework (Cocoa), Java frameworks (Spring, Struts, Hibernate), C# frameworks: (.NET, Xamarin), GoLang frameworks (Revel, Beeg),  Javascript frameworks (Node.js, React.js, Vue.js, Angular.js, Meteor), συστήματα RDBMS, Lazarus.

Ειδικά για mobile developement: μια ή περισσότερες γλώσσες προγραμματισμού: Dart, Swift, Kottlin (Java, Android Studio) Corona, Python, QML, τεχνολογίες για mobiles: Flutter  (Dart), React Native, Native Scripts: JS, TS, Angular, Vue, Ionic, Xamarin (C#), Kottlin framework (Ktor, Verx, Spring), Buildfire.js, HTML5.

Ειδικά για game developement: μια ή περισσότερες γλώσσες προγραμματισμού: C++, Java, Lua, C#, HTML5, CSS3, JavaScript, Python, Papyrus, Cg, UnrealScript, Squirrel, AMPL, SQL, Clipper, ActionScript, ένα ή περισσότερα Game Engines (Unity, Unreal, Godot, Amazon Lumberyard, CryENGINE, GameMaker Studio, Cocos2d), φυσική προσομοίωση (Physics), Visual Assets Processing (φωτισμός, σκίαση, χαρτογράφηση υφής, βάθος πεδίου κλπ.).

Επέκταση εξειδίκευσης σε: R, Rython frameworks (Django, Flask, Pyramid), Electron, Ruby, Rust, Julia, Scala, Arduino C, Data Science, Big Data, Machine Learning APIs, Speech API, Dialog Flow.

Η μηχανική μάθηση (ML) είναι ένα υποσύνολο της τεχνητής νοημοσύνης (AI). Είναι μια εφαρμογή της τεχνητής νοημοσύνης (AI) που παρέχει στα συστήματα τη δυνατότητα αυτόματης εκμάθησης και βελτίωσης  χωρίς να προγραμματιστεί ρητά. Η μηχανική μάθηση επικεντρώνεται στην ανάπτυξη προγραμμάτων ηλεκτρονικών υπολογιστών που μπορούν να έχουν πρόσβαση στα δεδομένα και να τα χρησιμοποιούν για να μάθουν για τον εαυτό τους.

Ένας Data Scientist (επιστήμων δεδομένων) είναι κάποιος που ξέρει πώς να εξάγει νόημα και να ερμηνεύει δεδομένα , τα οποία απαιτούν τόσο εργαλεία όσο και μεθόδους από στατιστικές και μηχανική μάθηση, καθώς και ανθρώπινη. Ο Machine Learning Engineer (μηχανικός μηχανικής μάθησης) είναι ειδικός σχετικά με τη χρήση των δεδομένων για τα μοντέλα εκπαίδευσης. Τα μοντέλα στη συνέχεια χρησιμοποιούνται για την αυτοματοποίηση διαδικασιών όπως η ταξινόμηση εικόνων, η αναγνώριση ομιλίας, την πρόβλεψη της αγοράς κα.

Στην πράξη, η δουλειά ενός μηχανικού μηχανικού μάθησης είναι κοντά σε εκείνη ενός επιστήμονα δεδομένων. Και οι δύο ρόλοι λειτουργούν με τεράστιες ποσότητες πληροφοριών, απαιτούν εξαιρετικές δεξιότητες διαχείρισης δεδομένων και την ικανότητα να εκτελούν σύνθετη μοντελοποίηση σε δυναμικά σύνολα δεδομένων. Αλλά εδώ η ομοιότητα τελειώνει. Οι Data Scientists παράγουν πληροφορίες, συνήθως με τη μορφή χαρτών ή αναφορών που παρουσιάζονται σε ένα ανθρώπινο ακροατήριο. Οι Machine Learning Engineers, σχεδιάζουν  λογισμικό για την αυτοματοποίηση προγνωστικών μοντέλων.

Γνώσεις που είναι απαραίτητες: Μια ή περισσότερες γλώσσες προγραμματισμού: Python, R, SAS, SQL, Scala, Java, Julia, JavaScript, Tableau, Matlab, C++, C#, Big Data, βασικές αρχές προγραμματισμού υπολογιστικών συστημάτων, μοντελοποίηση δεδομένων και αξιολόγηση, γνώσεις Μαθηματικών (γραμμική άλγεβρα, βασικές τεχνικές βελτιστοποίησης κα.) και Στατιστικής (πιθανότητες, στατιστικά στοιχεία κα.), εφαρμογή αλγορίθμων και βιβλιοθηκών μηχανικής μάθησης, σχεδιασμό λογισμικού και σχεδιασμό συστήματος.

Προαιρετικά και επιθυμητά: Python βιβλιοθήκες (Tensor Flow, Keras, Theano, Scikit-learn, Numpy, Pandas, Seaborn), R Studio, R βιβλιοθήκες (Carat, RandomForest, E1071, Rpart, KernLab, Nnet, Dplyr, Ggplot2, Esquisse, BioConductor, Shiny, Lubridate), Java εργαλεία μεγάλου πλήθους δεδομένων (Sparks, Flink, Hive, Spark και Hadoop), βιβλιοθήκες Java (Weka, Java-ML, MLlib και Deeplearning4j), Tensorflow.js, D3.js, συστήματα δεδομένων (Hadoop, Google Map-Reduce, Google File System, Google Big Table), Hadoop projects (HBase, Zookeeper, Hive, Mahout).

Επέκταση εξειδίκευσης σε: Νευρωνικά δίκτυα ConvNet, Γενετικοί Αλγόριθμοι, γνώση βασικών αλγορίθμων μηχανικής μάθησης (Perceptrons, Tree Decision, Neural Network & Deep Learning, Bayesian), MPI, Grid Engine, μαθηματικός προγραμματισμός (SDP, SOCP, QCQP, LP), γνώση αλγορίθμων σε εποπτευόμενους / μη επιτηρούμενους / ημι-εποπτευμένους αλγορίθμους.

Ο Content Management Expert είναι ο διαχειριστής ενός Συστήματος Διαχείρισης περιεχομένου (CMS). Χρησιμοποιεί μια ήδη υπάρχουσα εφαρμογή λογισμικού ή ένα έτοιμο σύνολο σχετικών προγραμμάτων που χρησιμοποιούνται για τη δημιουργία και τη διαχείριση ψηφιακού περιεχομένου. Τα CMS πακέτα χρησιμοποιούνται συνήθως για τη διαχείριση εταιρικού περιεχομένου (ECM) και τη διαχείριση περιεχομένου ιστού (WCM).

Γνώσεις που είναι απαραίτητες: ενός ή περισσοτέρων Traditional CMS (WordPress, Drupal, Keystone, Enduro), ενός ή περισσότερων Headless CMS (Contentful, Prismic.io, Sanity, Strapi), διαχείριση Themes και Plug ins, ασφάλεια CMS, Back Ups.

Συστήνονται: Domain Registration, Managed Hosting, Static Hosting, SSL Certificate, FTP, SFTP (File Transfer Protocol), βασικές αρχές προγραμματισμού με HTML, CSS, Vanilla Javascript.

Θες να μάθεις...

Μπορείς να αρχίσεις..

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