Temel kavramlar
- Çevirici programlar, derleyiciler yorumlayıcılar
- İşletim Sistemleri
- IDE (Integrated Development Environment) programları
- Temel sayı sistemleri
- Go programlama dili hakkında temel bilgiler
- Go ortamının kurulması
- Hello, World programı
- Fonksiyon bildirimi
- Fonksiyonların çağrılması
Tür kavramı
- Go’da temel türler
- Tamsayı türleri, gerçek sayı türleri, char türü ve boolean türü
- Değişkenler ve faaliyet alanı
Fonksiyonlar
- Fonksiyonların geri dönüş değerleri
- return deyimi
- Fonksiyonların parametre değişkenleri
- Matematiksel işlem yapan yararlı metotlar
Sabitler
- Sabit kavramı
- Sabitlerin türleri
- Tamsayı sabitleri
- Gerçek sayı sabitleri
- bool türden sabitleri
- Karakter sabitleri
- Escape sequence karakterler
- Tamsayı sabitlerinin hexadecimal, binary ve octal gösterilişleri
- Gerçek sayı sabitlerinin bilimsel gösterilişi
- Sabit bildiriminde alttire karakterinin kullanımı
Temel Operatörler
- Operatörlerin sınıflandırılması
- Operatör önceliği
- Aritmetik Operatörler
- Karşılaştırma operatörleri
- Mantıksal operatörler
- Mantıksal operatörlerin kısa devre davranışları
- Atama operatörü
- İşlemli atama operatörleri
Kontrol deyimleri
- if deyimi
- for döngü deyimi
- break ve continue deyimleri
- switch deyimi
- select deyimi
- Örnek programlar
Tür dönüştürmeleri
- Farklı türlerin birbirine atanması
- İşlem öncesi otomatik tür dönüşümleri
- Tür dönüştürme operatörü
Paketler
- Paket kavramı
- Paket oluşturma
- Örnek programlar
Adres kavramı
- Adres kavramı
- Stack ve heap alanları
- Ömür (storage duration) kavramı
Göstericiler (Pointers)
- Gösterici kavramı
- Gösterici kavramı
- Gösterici parametreli fonksiyonlar
- call by value ve call by value kavramları
- Göstericiye geri dönen fonksiyonlar
- Göstericiyi gösteren göstericiler (pointer to pointrs)
- null adres kavramı ve nil sabiti
- nil sabitinin (null adresin) kullanını
- Örnek programlar
Yapılar
- Yapı bildirimleri
- Yapı elemanlarına erişim
- Yapı türünden göstericiler
- Örnek yararlı yapılar
Rassal sayı üretimi
- Rassal sayı üretimi
- Rassal sayı üretimi için kullanılan fonksiyonlar
- Örnek programlar
Go’da yazılarla (string) işlemler
- String kavramı
- Yaz ile işlem yapan Fonksiyonlar
- strings paketi
- Yazılarla işlem yapan diğer paketler
- Örnek programlar
Temel algoritma analizi
- Algoritmanın karmaşıklığı
- Karmaşıklığın ölçütü
- Karmaşıklığın gösterimine ilişkin notasyonlar
- Big O notasyonu ile çeşitli karmaşıklık durumlarının incelenmesi
- O(1), O(logn), O(n), O(n * Logn), O(n ^ 2), O(n ^ 3), … , O(n ^ k) karmaşıklıkları
- O(k ^ n), O(n!) gibi özel karmaşıklıklar
Diziler (Arrays) ve uygulamalar
- Dizi tanımlama
- Diziye ilişkin nesnelerin bellekteki durumu
- Dizi elemanlarına erişim
- Dizilere ilk değer verilmesi
- Dizilerin fonksiyonlara geçirilmesi
- Dizi döndüren fonksiyonlar
- Dizilere ilişkin temel algoritmaların yazımı
- Dizilere ilişkin yararlı fonksyionların yazımı
- Dizilerde bazı sıralama algoritmaları: kabarcık sıralaması (bubble sort) ve seçerek sıralama (selection sort) algoritmaları
- Yapı dizileri
- Gösterici dizileri
- Örnek programlar
Slices
- Slice kavramı
- Slice tanımlama
- Global slice fonksiyonları (len, cap, append, copy ve diğerleri)
- Slice ile ilgili işlemler
- Nil slice
- Örnek uygulamalar
range
- range kavramı
- range anahtar söcüğü ve kullanımı
- Örnek uygulamalar
Arayüzler (Interfaces)
- Arayüz kavramı
- Arayüzlerin kullanını
- Örnek uygulamlar
Hataların Ela Alınması (Error Handling)
- Standart error arayüzü
- Standart fonksiyonlarda hata işlemleri
- Hataların ele alınmasına yönelik fonksiyonların yazılması
- Örnek uygulamalar
Çöp Toplayıcı (garbage collector)
- Nesnelerin ömürleri
- Nesnelerin seçilebilir (garbage collected) duruma gelmesi
- Çöp toplayıcı’nın çalışma biçimi
- Çöp toplayıcıya ilişkin kullanılan bazı algoritmalar
Programın Komut Satırı Argümanları
- Program ve Process kavramları
- Programın komut satırı argümanları
- Progamın giriş noktası (entry point) olan main metodunun parametresi ve anlamı
- Örnek uygulamalar
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.