Javascript İleri Seviye

Javascript İleri Seviye

Bu dersimiz Javascript programlama dilinde ileri seviye konuları içermektedir. Web programlama ve yazılım geliştirme alanında ileri seviye bilgileri öğrenmek isteyen, web uygulamaları geliştiren öğrenciler ve profesyoneller için ideal bir derstir.

Harun BüyükçolakHarun Büyükçolak, Full Stack Developer
Javascript İleri Seviye

Javascript İleri Seviye

Javascript ileri seviye dersini, Javascript programlama dilini temel düzeyde bilen öğrencilerin ve bir işte Javascript programlama dilini kullanmak isteyen profesyonellerin, Javascript programlama dilindeki yetkinliğini ileri seviyeye taşımak için tasarladık.

Dersin Genel Amacı

Javascript ileri seviye dersimizin temel amacı, Javascript yazılım dilinin ileri seviye konularını ve Javascript programlama dilinde sıkça kullanılan kütüphane ve framework'leri öğretmektir. Bu dersin sonunda öğrencilerimiz, Javascript programlama dilindeki yetkinliklerini ileri seviyeye taşıyacak ve gerçek hayatta kullanabilecekleri projeler geliştirebilecek alt yapıya sahip olacaklardır.

Bu Ders Kimler İçin Uygun?

Bu dersimizin hedef kitlesi, aşağıdaki gibidir:

  • Üniversite dersleri, projeleri, tez çalışmaları kapsamında web projesi geliştiren, web arayüzü tasarlayan ve web uygulamaları geliştiren öğrenciler.
  • Herhangi bir şirkette yazılım geliştirme alanında çalışan ve Javascript programlama dilindeki yetkinliğini ileri seviyeye taşımak isteyen profesyoneller.
  • Üniversite öğrencisi olup, yazılım geliştirme alanında kariyer yapmak isteyen ve Javascript programlama dilindeki yetkinliğini ileri seviyeye taşımak isteyen öğrenciler.

Dersin Müfredatında Neler Var?

Bu ders, Javascript'in ileri seviye konularını ve Javascript'in yaygın olarak kullanılan kütüphane ve framework'lerini içermektedir. Dersin içeriği aşağıdaki gibidir:

  • Fonsksiyonel Programlama (Functional Programming): Bu kısımda, Javascript'in fonksiyonel programlama (functional programming) konularına değiniyoruz. Bu konular arasında higher order functions (HOFS), map, filter, reduce, currying ve partial application ve benzeri başlıklar bulunmaktadır.
  • Nesne Tabanlı Programlama (Object Oriented Programming-OOP):Bu bölümde, Javascript'in nesne yönelimli programlama (object oriented programming) konuları öğretilecektir. Bu başlık altında, class, object, inheritance, encapsulation ve polymorphism gibi konulara değiniyor olacağız.
  • ES6 ve Sonrası Javascript Özellikleri: Bu bölümde, Javascript'in ES6 ve sonrası sürümlerinde eklenen yeni özellikler ve geliştirmeler öğretilecektir. Bu bölümde, arrow functions, let ve const, destructuring, spread ve rest operator, template literals, classes ve modules gibi konular ele alınacaktır.
  • Error Handling: Bu bölümde, Javascript'in hata yönetimi (error handling) konuları öğretilecek, try-catch blokları, throw ve finally gibi konular ele alınacaktır.
  • Asenkron Programlama: Bu bölümde, Javascript'in asenkron programlama (asynchronous programming) konuları öğretilecektir. Bu bölümde, callback functions, promises ve async/await gibi konular ele alınacaktır.
  • İleri Veri Yapıları ve Algoritmalar: Bu bölümde, Javascript'in ileri seviye veri yapıları ve algoritmaları öğretilecektir. Bu bölümde, linked lists, stacks, queues, trees, graphs, sorting ve searching algorithms gibi konular ele alınacaktır.
  • Node.js ve Express.js: Bu bölümde, Node.js ve Express.js gibi popüler Javascript kütüphaneleri öğretilecektir. Node.js ve Express.js ile web sunucuları oluşturma, RESTful API'ler geliştirme ve veritabanları ile iletişim kurma gibi konular ele alınacaktır.
  • React.js: Bu bölümde, React.js kütüphanesine kısa bir giriş yapılacaktır. Modern SPA (Single Page Application) uygulamaları geliştirmek için React.js'in temel kavramları ve React.js ile component tabanlı uygulamalar geliştirmek gibi konular ele alınacaktır.

Dersi Nasıl İşliyoruz?

  • İleri seviye Javascript dersimizi, özel ders şeklinde ya da grup dersi şeklinde işliyoruz.
  • Derslerimizin zamanı, süresi ve sıklığı öğrencilerimizin ihtiyaçlarına ve taleplerine göre belirlenmektedir.
  • Dersler online olarak Zoom, Google Meet, Microsoft Teams ya da Skype gibi online platformlar üzerinden gerçekleştirilmektedir.
  • İleri Seviye Javascript dersimizde büyük bir proje geliştiriyoruz. Bütün konuları bu projenin içerisinde işliyoruz. İşlediğimiz konuların alıştırmalarını bu proje üzerinde yapıyoruz. Bu sayede öğrencilerimiz gerçek bir yazılım geliştirme süreci yaşamış oluyorlar. Dersi bitirdiklerinde ellerinde kendilerine ait ileride referans olarak ya da bilgi amaçlı kullanabilecekleri üst düzey bir Javascript projeleri oluyor.
  • Öğrencilerimizle birlikte aynı anda, aynı proje üstünde kodlama yapabiliyoruz. Bu sayede öğrencilerimizin yazdığı kodları anlık olarak görebiliyor ve hatalarını düzeltebiliyoruz. Buna yazılım literatüründe "pair programming" adı verilmektedir.
  • Derslerimizde hem birlikte bol miktarda yazılım problemi çözüyoruz hem de öğrencilerimize tasklar veriyoruz.Taskların konularını özellikle öğrencilerimizin ilgi alanları ve ihtiyaçları doğrultusunda belirliyoruz.
  • İnteraktif bir ders işleme yöntemi benimsiyoruz. Öğrencilerimizin derste çekinmeden soru sormasını sağlıyoruz.
  • Dosya paylaşımında git ve github gibi üst düzey versiyon kontrol ve dosya paylaşım sistemlerini kullanıyoruz. Böylelikle öğrencilerimizin yazdığı kodları saklamalarını ve gerektiğinde geri alabilmelerini sağlıyoruz. Bunun yanında, öğrencilerimiz gerçek bir yazılım geliştirme süreci yaşamış oluyorlar.

Bu Dersten En İyi Verimi Nasıl Alabilirsiniz?

Bu dersten üst düzey bir verim alabilmeniz için aşağıdaki önerilerimizi dikkate almanız önemlidir:

  • Javascript'in temel kavramlarını ve prensiplerini iyi anladığınızdan emin olun. Eğer Javascript'in temel kavramlarını ve prensiplerini iyi anlamadıysanız, ileri seviye konuları anlamanız oldukça zor olacaktır.
  • Ders kapsamında sizinle paylaştığımız kaynakları ve materyalleri düzenli olarak takip edin. Bu kaynaklar ve materyaller, ders içeriğini daha iyi anlamanızı sağlayacaktır.
  • Dersin tasklarını ve projesine vakit ayırın. Bu dersin projesi ileride sizin yazılım geliştirmede ihtiyaç duyacağınız birçok konuyu içeriyor olacak. Eğer özen gösterip bu projeyi birlikte iyi bir yere taşırsak, ihtiyaç duyduğunuzda bu projedeki teknik bilgileri ve kodları referans alabilirsiniz.
  • Kesinlikle ders dışında da kodlamaya en az günlük 2 saat ayırmanız gerekmektedir. Bunun altında bir çalışma süresi size bu ders için yeterli olmayacaktır.

Bu Dersi Bireysel Olarak mı Grup Olarak mı Almalıyım?

Bu dersi bireysel olarak aldığınız takdirde aşağıdaki avantajlara sahip olursunuz:

  • Dersi bireysel olarak aldığınızda, dersin içeriğini ve hızını kendinize göre belirleyebilirsiniz. Eğer bir konuyu anlamakta zorlanırsanız, hocanıza dilediğiniz kadar soru sorabilirsiniz. Hocadan dersi anlatırken hızlanmasını ya da yavaşlamasını isteyebilirsiniz. Ders kaçırma gibi bir durumunuz olmaz ve dersin zamanını değiştirebilme gibi birçok esnekliğe sahip olursunuz.
  • Dersi grup olarak aldığınızda, dersin fiyatı daha uygun olacaktır. Fakat bu durumda dersin hızı ve içeriği sizin için yetersiz ya da fazla gelebilir. Ayrıca dersin zamanını her bir öğrenci için uygun bir şekilde ayarlamak oldukça güç olabilmektedir. Grup üyelernin birbirleriyle uyumlu olmaları gerekmektedir. Aksi takdirde dersin verimliliği düşecektir.

Artık grup dersi mi yoksa özel ders mi almanız gerektiğine karar verebilirsiniz.

İleri Seviye Javascript Öğrenmenin Size Ne Faydası Olacak?

Javascript'in ileri seviye konularını öğrenmenin size aşağıdaki gibi birtakım faydaları olacaktır:

  • Javascript profesyonel iş piyasasında en çok aranan dillerden biridir. Bu dili ileri seviyede öğrenmek, sizi iş piyasasında oldukça avantajlı ve rekabetçi bir konuma getirecektir.
  • Javascript'in ileri seviye konularını öğrenmek, yazılım geliştirme, web geliştirme, veri analizi ve yapay zeka gibi alanlarda çalışabilmenize olanak tanır.
  • Javascript'in ileri seviye konularını öğrenmek, yazılım projelerini daha hızlı ve etkili bir şekilde geliştirmenize olanak tanır. Bu da size zaman ve maliyet tasarrufu sağlar.
  • Javascript'in ileri seviye konularını öğrenmek, kendi başınıza bir yazılım projesi geliştirebilmenize olanak tanır. Bu sayede, kendi yazılım ürünlerinizi geliştirebilir ve hatta bunları satışa çıkarabilirsiniz.
  • Javascript'in ileri seviye konularını öğrenmek, React, Angular ve Vue gibi popüler Javascript kütüphanelerini ve framework'lerini daha etkin bir şekilde kullanabilmenize olanak tanır.
  • Javascript'in ileri seviye konularını öğrenmek, Node.js ve Express.js gibi popüler Javascript kütüphanelerini ve framework'lerini daha etkin bir şekilde kullanabilmenize ve bu da web projelerine daha bütüncül bir gözle bakabilmenize olanak tanır.

Ders Kapsamındaki Javascript Projesi Hakkında Bilgi Verir misiniz?

Bu dersin projesi hakkında aşağıdaki bilgileri verelim:

  • Proje Frontend ve Backend olmak üzere iki bölümden oluşuyor. Ağırlıklı olarak Backend kısmı üzerinde duruyoruz. Dersin konularını backend kısmında işlemek daha mümkün oluyor.
  • Proje konusunu gündelik hayatta kullandığımız bir uygulamadan esinlenerek belirliyoruz. Bu sayede öğrencilerimiz projeyi daha iyi anlayabiliyor ve daha iyi sahipleniyor.
  • Proje, gerçek bir yazılım projesi gibi adım adım geliştirilmektedir. Projenin her bir adımı, dersin içeriğinde işlenen konulara dayanmaktadır.
  • Projede Git ve Github gibi versiyon kontrol ve dosya paylaşım sistemleri kullanılmaktadır. Bu sayede öğrencilerimiz gerçek bir yazılım geliştirme süreci yaşamış oluyorlar.
  • Projeda npm ve yarn gibi Javascript paket yöneticileri kullanılmaktadır. Bu sayede öğrencilerimiz projede kullanılan kütüphaneleri ve framework'leri daha etkin bir şekilde yönetebilmektedir.
  • Projede Node.js ve Express.js gibi popüler backend Javascript kütüphaneleri kullanılmaktadır. Bu sayede öğrencilerimiz bu kütüphaneleri daha etkin bir şekilde kullanmayı öğrenmektedir.
  • Projede React.js gibi popüler Javascript frontend kütüphanesi kullanılmaktadır. Bu sayede öğrencilerimiz React.js ile component tabanlı uygulamalar geliştirmeyi öğrenmektedir.
  • Projede kullanılabilen bazı önemli js paketleri şunlardır: axios, body-parser, cookie-parser, cors, dotenv, express, jsonwebtoken, nodemon, react, react-dom, react-router-dom, react-scripts, redux, redux-thunk, sequelize, socket.io, typescript, webpack ve benzeri paketler.
  • Projede kullanılabilen bazı önemli frontend js framework'leri şunlardır: Angular, React ve Vue.
  • Projede kullanılabilen bazı önemli backend js framework'leri şunlardır: Node.js ve Express.js.
  • Projede kullanılabilen bazı önemli veritabanları şunlardır: MySQL, Firebase, MongoDB, PostgreSQL ve SQLite.

Eğer İleri Seviye Javascript dersimizin içeriği hoşunuza gittiyse ve bizimle gerçek bir yazılım deneyimi yaşamak istiyorsanız, hemen bize ulaşın. Birlikte ders programınızı ve projenizi oluşturalım. Sizi de Javascript'in fırsatlarla dolu dünyasına dahil edelim.