C# ve ASP.NET Core MVC


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

C# ve ASP.NET Core MVC

Açıklama: Bu kurs içerik bakımından iki ana kısma ayrılmıştır; C# programlama dili ve ASP.NET MVC Core framework’ü.

İlk kısımda C# dilinin sentaks kuralları, nesne yönelimli programlama ve .NET kütüphanesinin önemli sınıfları ele alınmaktadır.

İkinci kısım ise ASP.NET MVC Core isimli framework ile modern ve platform bağımsız web uygulamaları/servislerinin geliştirilmesine odaklıdır. Bu kısımda ASP.NET Core haricinde (SOLID, UML, Pattern, Idiom, AntiPattern, …) gibi pek çok önemli konu ve teknolojiye de (Entity Framework, SQL Server, RabbitMQ, Git, …) değinilmekte yanı sıra pek çok örnek uygulama geliştirilmektedir.

Kısım 1 (.NET ve C#’a Giriş)

  • .NET ortamına ilişkin temel kavramlar (JIT, MSIL, CLR, CTS, CLS…)
  • Platform bağımsız çalışma olgusu
  • Çevirici programlar, derleyiciler yorumlayıcılar
  • .NET ortamının aşağı seviyede incelenmesi ve Java ile karşılaştırılması
  • Atom kavramı
  • Console sınıfının etkin kullanımı

.NET Tür Sistemi

  • Değişkenler, Sabitler
  • Faaliyet alanı ve Ömür kavramı
  • Type Inference

Metotlar/Fonksiyonlar

  • Parametre ve Argüman kavramları
  • ref/out parametreler
  • Default argüman alan metotlar
  • Variadic (değişken sayıda parametre alan) metotlar
  • İsimlendirilmiş parametreler
  • Overloading

Operatörler

Akış Kontrol deyimleri

  • if ve switch deyimleri
  • Koşul Operatörü
  • while ve do while döngü deyimleri
  • for ve foreach döngü deyimleri
  • break ve continue deyimleri

Tür dönüştürmeleri

Nesne Yönelimli Programlama (OOP) Paradigması

  • Sınıf ve nesne kavramları
  • Referans türleri ve değer türleri
  • Referans (adres) kavramı
  • new operatörü
  • Sınıfın static olmayan veri elemanlarına erişim ve nokta operatörü
  • Sınıfın static olmayan veri elemanlarının varsayılan değerleri
  • Referans parametreli metotlar
  • Referans geri dönüş değerli metotlar
  • Sınıfın static veri elemanları
  • Sınıfın non-static ve static metotları
  • Sınıfın non-static metotları içerisinde non-static ve static elemanlara doğrudan erişim durumu
  • Sınıfın static metotları içerisinde non-static ve static elemanlara doğrudan erişim durumu

Sınıfların başlangıç metotları (constructors)

  • Nesne oluşturulması adımları
  • Sınıfın varsayılan (default) başlangıç metodu
  • Başlangıç metotlarının overload edilmesi
  • Birincil başlangıç metotları (primary constructor’s)

İsim alanları (Namespace)

  • Paketleme ve granülasyon kavramları
  • Farklı isim alanlarındaki sınıflara erişim
  • İç içe isim alanı bildirimleri
  • using anahtar sözcüğü

İsim arama

  • Niteliksiz (unqualified) isim arama
  • Nitelikli (qualified) isim arama

Diziler (Arrays) ve uygulamalar

  • Dizi referansları
  • Diziye ilişkin nesnelerin bellekteki durumu
  • Dizi elemanlarına erişim
  • Dizilere ilk değer verilmesi
  • Dizilerin metotlara geçirilmesi: dizi referansı parametreli metotlar
  • Dizi referansı döndüren metotlar
  • Sıralama algoritmaları: (bubble sort, selection sort, quick sort)
  • char türden diziler
  • char türden diziler ve String sınıfı
  • Referans dizileri
  • Referans dizilerine ilkdeğer verilmesi
  • String türden diziler
  • Dizi dizileri
  • Dizi dizilerinin çok boyutlu dizi gibi kullanılması
  • Dizi dizilerine ilk değer verilmesi

Sınıflarda temel erişim kuralları

  • public erişimcisi
  • private erişimcisi
  • protected erişimcisi
  • internal erişimcisi
  • file erişimcisi
  • Başlangıç metodunun private, protected ya da internal olması durumu
  • Singleton ve Factory tasarım kalıpları
  • Encapsulation kavramı, Property ve AutoProperty’ler
  • Object Initializer kullanımı

Enum’lar

  • enum sabitleri
  • enum sınıfların sabit dışındaki elemanları
  • enum sınıfların başlangıç metotları (constructor)
  • enum’ların karşılaştırılması
  • enum’ların kullanımı

Sınıflar arası ilişkiler

  • Association, Composition, Aggregation, Inheritance, Dependency
  • UML modelleme diline giriş

Türetme (inheritance)

  • Base class (taban sınıf) ve derived class (türemiş sınıf) kavramları
  • Başlangıç metodu içerisinde taban sınıfın başlangıç metodunun çağrılması
  • Başlangıç metodu içerisinde taban sınıfa ait istenilen bir başlangıç metodunun çağrılması
  • Başlangıç metodu içerisinde başka bir başlangıç metodunun çağrılması
  • protected bölümün anlamı
  • Object sınıfı

Taban sınıf ve türemiş sınıf arasındaki dönüşümler

  • Yukarıya doğru dönüşüm (upcasting)
  • Aşağıya doğru dönüşüm (down-casting)
  • is opetörü
  • Otomatik kutulama (auto-boxing) ve otomatik kutuyu açma (auto-unboxing)
  • sealed sınıflar
  • this referansının anlamı ve kullanımı
  • null referans kavramı

Çöp Toplayıcı (garbage collector)

  • Çöp toplayıcı’nın çalışma biçimi
  • Referans sayma, GC Sınıfı
  • IDisposable ve using anahtar sözcüğü ile Dispose kalıbının idiomatik uygulaması

Önemli Veri Yapılarına İlişkin Sınıflar

  • ArrayList, List
  • HashTable, Dictionary, SortedList
  • Tupple

Çok biçimlilik (Polymorphism)

  • Sanal metotlar ve Overriding
  • base referansı
  • Override edilen metot içerisinde taban sınıfın aynı metodunun çağrılması (augmentation)
  • Override edilen metodun erişim belirleyicisinin erişim anlamında yükseltilmesi
  • sealed metotlar

Soyut sınıflar ve metotlar (abstract classes and methods)

  • Soyut sınıf ve metotların anlamı
  • Soyut metotların override edilmesi
  • Soyut metotların override edilmemesi durumu
  • Soyut sınıfların taban sınıf referansı olarak kullanılması
  • Soyut sınıfların başlangıç metotları

Exception Handling

  • Exception kavramı kullanımı
  • throw anahtar sözcüğü ve bir exception nesnesinin fırlatılması
  • Try/Catch/Finally mekanizması
  • Yeniden fırlatma (rethrow)
  • İçiçe try bloklarının bulunması durumu
  • Özgün Exception sınıfları
  • checked ve unchecked exception sınıfları
  • Önemli exception sınıfları

Arayüzler (Interface’s)

  • Bir sınıfın desteklediği arayüzler ve metotların override edilmesi
  • Arayüzler ile abstract sınıflar arasındaki farklar
  • Arayüzler arası tür dönüştürme ayrıntıları
  • Sıkça kullanılan bazı arayüzler

Generic’ler ile Türden Bağımsız İşlemler

  • Generic sınıflar ve metotlar
  • Generic sınıflarda türetme işlemleri
  • Generic sınıflarda new operatörü ile <> (diamond syntax) kullanımı
  • Generic arayüzler
  • Kısıtlamalar (constraint’s)
  • Generic sınıflarda alt sınır ve üst sınır belirlenmesi (invariant, covariant ve contra-variant)

Extension metotlar
Delegate (Temsilci) ve Event’ler
Lambda İfadeleri
Thread ve Process Sınıfları
Reflection ve Metadata kavramları
Attribute sınıfları
Bit seviyesinde işlemler ve ilişkili operatörler
Dinamik kütüphanelerin (DLL) oluşturulması ve kullanılması
Dosya işlemleri
ADO.NET ile VeriTabanı İşlemleri
Asenkron Çalışma ve TPL (Task Parallel Library)

Kısım 2 (ASP.NET MVC Core ve C# ile Web Uygulamaları Geliştirmek)

Middleware kavramı
Request ve Response Manipülasyonları
Dependency Inversion, Inversion Of Control
Dependency Injection kavramı
Katmanlı Mimarı Kullanarak Uygulama Geliştirme
Repository, UnitOfWork kalıpları
Katmanlı mimaride exception handling
Razor sentaksı
MVC (Model ViewController) kalıbı
Razor Engine ve Razor sentaksı
Dinamik tür sistemi ve Expando Nesneler
Transfer Data (ViewBag, ViewData, TempData)
Tag Helper’lar
Validasyon
Blazor Framework
Entity Framework Core ile veritabanı işlemleri
Container ve Docker Kavramları
Container ortamında ASP.NET Core uygulamalarının çalıştırılması
ASPNET Core Güvenlik
Authentication, Authorization, OAuth
Javascript programlama dili
WebAPI ile Rest Servislerin Yazılması
JWT (Json Web Token)
CQRS
Mikroservis Mimarisi
LibMan ve Npm Paket Yönetim Sistemleri
Cookie (Çerezler)
Session Mekanizması
Onion Architecture
RabbitMQ, MSMQ gibi mesaj kuyruklama altyapılarının kullanımı
Ve diğerleri..

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Kurs ücreti duyuru sayfasında belirtilmektedir.

Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

Hızlandırılmış ve Birleştirilmiş C# ile .NET Ortamında Uygulama Geliştirme


Açıklama : Bu kurs C# Programlama Dilini kullanarak .NET ortamında uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:
• CLR ortamının temel özellikleri
• Nesne tutan sınıfların (collections) ayrıntılı incelenmesi
• GUI programlama modeli ve Windows Form Uygulamaları
• Temel çizim işlemleri
• Temel veritabanı işlemleri (ADO.NET sınıf kütüphanesi)
• Çok thread’li uygulamalar ve thread’lerin senkronizasyonu
• C# programlama diline eklenen yeni özellikler (eklenti metodları, var değişkenler, default argumanlar vs.)
• Öznitelikler (attributes)
• Nesnelerin seri hale getirilmesi (object serialization)
• Başkaları tarafından yazılmış kütüphanelerin (bileşenlerin) kullanılması
• MDI uygulamaları
• Uygulamaların kurulması ve konuşlandırılması
• CLR ortamının ayrıntılı işlevleri
• Paylaşılan DLL’ler (shared dlls) ve GAC (Global Assembly Cache) kullanımı
• İleri düzey Windows form işlemleri
• Kontrol tasarımı ve yazımı
• Temel WPF (Windows Presentation Foundation) kullanımı
• İleri çizim işlemleri
• İleri düzey veritabanı işlemleri (ADO.NET sınıf sistemi)
• .NET’te XML işlemleri
• Çok thread’li uygulamalarda karşılaşılan sorunlar ve ileri düzey senkronizasyon işlemleri
• TCP/IP client-server programlama
• .Net ortamının aşağı düzeyli ve sistem programlama bakış açısıyla incelenmesi
• Temel düzeyde sembolik arakodla (Common Intermediate Language [CIL]) programlama
• C# programlama diline eklenen yeni özellikler (Anonim metodlar, Lambda ifadeleri vs.)
• Linq (Language integrated Query) kullanımı ve Entity Framework ile temel veritabanı uygulamaları
• .NET Remoting kullanımı
• Temel WCF (Windows Communication Foundation) kullanımı
• TPL (Task Parallel Library)
• İleri düzey WPF (Windows Presentation Foundation) uygulamaları
• WPF ile ileri çizim işlemleri
• WPF ile üç boyutlu çizim işlemleri
• İleri düzey Linq (Language Integrated Query) kullanımı ve Entity Framework ile ileri veritabanı uygulamaları
• İleri düzey WCF (Windows Communication Foundation) uygulamaları
• İleri düzey debug işlemleri
• Birim testleri ve NUnit kullanımı

Ön Koşul : Daha önce C# ile Nesne Yönelimli Programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama kursuna katılmış olmak.

* Ücreti sorunuz.

Xamarin ile Mobil Programlama


Açıklama : Bu kurs C# Programlama Dilini kullanarak Xamarin ile cross-platform mobil uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:

• Xamarin ortamının temel özellikleri

• Xamarin ile platform bağımsız (cross-platform) uygulama geliştirme

• Visual Studio.NET ile Xamarin uygulamaları

• View kavramı ve sınıf hiyararşisi

• Xaml kullanımı ve detayları

• Temel GUI elemanları

• Layout kavramı ve Layout sınıfları

• Collection view elemanları

• Tarih zamana ilişkin GUI elemanları

• Dosya işlemleri

• Veritabanı işlemleri

• Network işlemleri

• Webservis erişimleri

• Asenkron çalışma (TPL, Thread vs..)

• DependencyService sınıfı ve platforma özel işlemler

• Notification işlemleri

• Ve diğer konular…

Ön Koşul : Daha önce C# veya Java ile temel uygulama geliştirme becerisini kazanmış olmak ya da C ve Sistem Programcıları Derneği’ nin açmış olduğu C# ile Nesne Yönelimli Programlama veya Java ile Nesne Yönelimli Programlama kursuna katılmış olmak

* Ücreti sorunuz.

.NET Ortamında Yeni Teknolojilerle Web Programlama


Açıklama : Bu kurs .NET ortamında yeni teknolojilerle Web uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar da yapılacaktır.

C# programlama diline ilişkin ileri konular
Delege kavramı
Anonim metotlar
Lambda ifadeleri
Fonksiyonel programlama
Linq kavramı
Örnek Uygulamalar
.NET Core ve ASP.NET Core
Temel kavramlar
.NET Core ile platfornm bağımsızlık
ASP.NET Core’ a giriş
Web server’lar
Örnek Uygulamalar
Dependncy Injection
Dependency Inversion Principle
Inversion Of Control
Dependency Injection kavramı
Dependency Injection’ın karmaşık problemlerde gerekliliği
Örnek Uygulamalar
Katmanlı Mimarı Kullanarak Uygulama Geliştirme
Katmanlı mimarı kullanarak proje geliştirme avantajları
Repository, service ve application katmanları
Katmanlı mimari kullanarak proje geliştirmede exception’ların yönetilmesi
Örnek uygulamalar
Razor Motoru
Razor sentaksı
MVC (Model ViewConteoller) kalıbı
ASP.NET MVC
Razor sentaksı
Blazor Web Framework
Veritabanı işlemleri
ADO.NET kullanımı
ORM (Object Relation Model)
Entity Framework Core
Code First ve Database First Yaklaşımları
Örnek Uygulamalar
Container Kullanımı
Container kullanımı
Docker kurulumu ve kullanımı
Container üzerinde ASP.NET core uygulamalarının çalıştırılması
Örnek Uygulamalar
ASPNET Core Güvenlik
Identity kavramı
Authentication
Authorization
OAuth
Open ID Connect
Örnek uygulamalar
Javascript programlama dili
Bu bölümde daha önce herhangi bir programlama dilinde çalışanlara yönelik Javascript programlama dili anlatılacaktır:

Temel türler
Tür dönüşümleri
Fonksiyonlar
Kontrol deyimleri (if, while, do-while, for, break, continue, switch, …)
Nesneler
Fonksiyon türleri
Diziler
Lambda ifadeleri
Prototype kavramı
Sınıflar
import bildirimleri
Node.js
Node.js kurulumu
Node.js uygulaması geliştirmede kullanılan araçlar
Javascript’in ES6’da eklenen özelliklerinin Node.js ile kullanımı
Node.js modül geliştirme
Geliştirilen modüllerin kullanılabilir hale getirilmesi
Geliştirilen modüllerin npm’ yüklenmesi
Github ile repository oluşturma
Örnek uygulamalar
Node.js Event
EventEmitter sınıfı
Ebvent Listener
Örnek uygulamalar
Node.js IO (Input Output) işlemleri
Standard IO (STDIN, STDOUT ve STDERR)
fs modülü ile dosya işlemleri
Dosya değişiklerinin izlenmesi
Örnek uygulamalar
Node.js Streams
Stream kullanımı
Piped stream
Paused Stream
Örnek uygulamalar
Node.js Web Protokolleri
http modülü
HTTP GET
HTTP POST
WebSocket işlemleri
SMTP Server
Örnek uygulamalar
Çok kullanılarn Node.js Framework’ler
Express.js
Koa.js
Örnek uygulamalar
Temel React.js
Örnek uygulamalar
Temel Vue.js
Örnek uygulamalar
Temel Angular
Örnek uygulamalar
MongoDB
Node.js veritabanı işlemleri
Node.js ile PostgreSQL kullanımı
Node.js ile MongoDB kullanımı
Node.js ile Temel Redis kullanımı
Örnek uygulamalar
NodeJS ile TCP/IP Programlama
TCP protokolü
UDP protokolü
Örnek uygulamalar
Node.js Test İşlemleri
Node.js Güvenlik
Örnek uygulamalar
Node.js Uygulamalarının Performansı
Örnek uygulamalar
Node.js Microservice uyglamaları
Örnek uygulamalar

Node.js Uygulamalarının Debug Edilmesi

Ön Koşul : Daha önce C# ya da Java programlama dillerinden en az birinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama veya Java ile Nesne Yönelimli Programlama kursuna katılmış olmak.

* Ücretleri sorunuz.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

UML ve Tasarım Kalıpları (C# ve Java Kod Örnekleriyle)


Modül 1 : UML (Unified Modelling Language)

• 1.1 : Modelleme Olgusu

• 1.2 : Modelleme Dilleri

• 1.3 : UML (Unified Modelling Language)

o 1.3.1 : UML Standardizasyonu ve UML Versiyonları

o 1.3.2 : UML Kullanımının Getirileri

• 1.4 : UML Modelleri ve İlişkili Diyagramlar

• 1.5 : UML Destekli Tasarım Araçları

• 1.6 : Constraint, TaggedValue ve Stereotype Kavramları

• 1.7 : Use Case (Kullanım Senaryosu) Diyagramları

• 1.8 : Activity (Faaliyet) Diyagramları

• 1.9 : Nesne Yönelimli Modellemeye İlişkin Temel Kavramlar

• 1.10 : Sınıf ve Nesne Diyagramları

• 1.11 : Nesneler Arasındaki İlişkiler

o 1.11.1 : Association (Referans)

o 1.11.2 : Aggregation (Barındırma, İçerme)

o 1.11.3 : Composition (Bağımlı İyelik)

o 1.11.4 : Generalization (Genelleme)

o 1.11.5 : Realization (Gerçekleme)

o 1.11.6 : Dependency (Bağımlılık)

o 1.11.7 : Use (Kullanma)

• 1.12 : State (Durum) Diyagramları

• 1.13 : Sequence (Etkileşim) Diyagramları

• 1.14 : Communication (İletişim) Diyagramları

• 1.15 : Component (Bileşen) Diyagramları

• 1.16 : Package (Paket) Diyagramları

• 1.17 : Deployment (Dağıtım) Diyagramları

Modül 2 : Dizayn ve Paketleme Prensipleri

• 2.1 : Dizayn Prensipleri

o 2.1.1 : Ayrıştırma (Decomposition)

o 2.1.2 : Kohezyon (Yapışıklık)

o 2.1.3 : SRP : Tek Sorumluluk (Single Responsibility) Prensibi

o 2.1.4 : LCP : Zayıf Bağlaşım (Low Coupling) Prensibi

o 2.1.5 : Yeniden Kullanılabilirlik (Reusability) Prensibi

o 2.1.6 : OCP : Açık/Kapalı Prensibi (Open/Closed Principle)

o 2.1.7 : LSP : Liskov Yerine Geçme Prensibi (Liskov Substitution Principle)

o 2.1.8 : DIP : Bağımlılığı Ters Çevirme Prensibi (Dependency Inversion Principle)

o 2.1.9 : ISP : Arayüz Ayırma Prensibi (Interface Segregation Principle)

o 2.1.10 : Polimorfizm Nedir

• 2.2 : Granülarite ve Paket Kavramı

• 2.3 : Paketlemeye İlişkin Prensipler

o 2.3.1 : REP : Yeniden Kullanılabilir Sürüm Eşdeğerliği Prensibi (Release Reuse Equivalence Principle)

o 2.3.2 : CCP : Ortak Kapatma Prensibi (Common Closure Principle)

o 2.3.3 : CRP : Ortak Yeniden Kullanım Prensibi (Common Reuse Principle)

o 2.3.4 : ADP : Çevrimsiz Bağımlılık Prensibi (Acyclic Dependencies Principle)

o 2.3.5 : SDP : Kararlı Bağımlılıklar Prensibi (Stable Dependencies Principle)

o 2.3.6 : SAP : Kararlı Soyutlamalar Prensibi (Stable Abstractions Principle)

Modül 3 : Dizayn Paternlere Giriş ve Temel Kavramlar

• 3.1 : Giriş

• 3.2 : Patern Kümeleri (Pattern Cluster)

• 3.3 : Idiom (Deyim) Kavramı ve Örnekleri

• 3.4 : Anti-Patern (Karşıt Kalıp) Olgusu

• 3.5 : GOF Sistematiği

Modül 4 : Nesne Oluşturulmasına/Yaratılmasına Ait (Creational) Paternler

• 4.1 : Singleton

• 4.2 : Factory Method / Virtual Constructor

• 4.3 : Prototype

• 4.4 : Object Pool

• 4.5 : Builder

• 4.6 : Abstract Factory

Modül 5 : Davranışsal (Behavioral) Paternler

• 5.1 : Iterator / Cursor

• 5.2 : Observer / Publish Subscribe

• 5.3 : Mediator

• 5.4 : Chain of Responsibility

• 5.5 : Command

• 5.6 : Visitor

• 5.7 : Strategy/Policy

• 5.8 : State

• 5.9 : Template Metot

• 5.10 : Interpreter

• 5.11 : Memento

Modül 6 : Yapısal (Structural) Paternler

• 6.1 : Decorator

• 6.2 : Adapter / Wrapper

• 6.3 : Facade

• 6.4 : Proxy / Surrogate

• 6.5 : Bridge

• 6.6 : Compozite

• 6.7 : Flyweight

Modül 7 : Yazılım Mimarisi ve Mimari Paternler

• 7.1 : Dependency Injection ve (IoC) Inversion of Control

• 7.2 : UI (User Interface) Patern’leri

• 7.3 : MVC (Model View Controller) Patern’i

• 7.4 : Model2 Patern’i (FrontController ve HTTP Interceptor)

• 7.5 : MVP (Model View Presenter) Patern’i

• 7.6 : PM (Presentation Model) ve MVVM (Model-View-ViewModel) Patern’leri

• 7.7 : İş Katmanı (Business Layer) Paternleri

• 7.8 : Transaction Script Patern’i

• 7.9 : Table Module Patern’i

• 7.10 : Active Record Patern’i

• 7.11 : Domain Model Patern’i

• 7.12 : Repository Patern’i

• 7.13 : Special Case Patern’i

• 7.14 : Seperated Interface ve Plugin Patern’leri

• 7.15 : APM Patern’i

• 7.16 : Service Locator Patern’i

• 7.17 : Diğer mimari paternler

Modül 8 : Yazılım Geliştirme Sürecinin Modellenmesi

• 8.1 : Proje Yönetiminin Temel Kavramları

• 8.2 : Şelale (Waterfall) Yöntemi

• 8.3 : Spiral Yöntemi

• 8.4 : XP Sıra dışı (Extreme) Programlama ve Scrum

• 8.5 : RUP (Rational Unified Process)

• 8.6 : CRC (Class, Responsibilities, Collaborators)

• 8.7 : MSF (Microsoft Solutions Framework)

• Ve diğerleri …

Önkoşul : C# ve/veya Java programlama dilleri konusunda temel bilgilere sahip olmak ya derneğimizin açmış olduğu C# – Java ile Nesne Yönelimli Programlama kurslarına katılmış olmak.

 * Kurs ücreti duyuru sayfasında belirtilmektedir.

Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

C# Kullanarak ASP.NET ile Web Programlama


Açıklama : Bu kurs C# programcılarına ASP.NET kütüphanesini kullanarak, web tabanlı uygulamalar geliştirmeyi öğretmektedir. Günümüzde dağıtım kolaylığı ve teknolojisindeki gelişmeler sebebiyle neredeyse artık tüm uygulamalar web tabanlı yazılmaktadır. Web tabanlı uygulama geliştirme, web ortamının doğasından kaynaklanan bazı nedenlerle masaüstü uygulama geliştirmekten farklıdır. Programcının salt C# ve ASP.NET bilmesi yeterli olmamakta bunun yanı sıra JavaScript, HTML, Ajax, Silverlight, JQuery gibi yan teknolojileri hatta kaçınılmaz bir biçimde veri tabanı programlamayı da bilmesi gerekir. Kursun amacı sayılan bu teknolojileri de katılımcılara öğretmektir. Üstelik kurs boyunca ASP.NET öğretilirken güncel alternatifleri olan JSP, PHP gibi farklı teknolojilerle karşılaştırmalı olarak ele alınmakta böylece katılımcıların bu teknolojiler konusunda da fikir sahibi olması amaçlanmaktadır. ASP.NET kursu, C# bilen ama pratik deneyimi olmayan programcılara iş ortamında proje geliştirirken karşılaşacakları bazı teknolojileri (COM+, Remoting, WCF, Silverlight, UML, Dizayn Paternleri, Reporting Sevrices) ve çeşitli araçları (Enterprise Architect, Blend, Code Generator’ler, MS SQL Server vb) kullanmayı da öğretmektedir.

Kurs konularından bazıları aşağıdadır:
Web Teknolojileri ve ASP.NET’e Giriş
HTML ve Scripting kavramı ve JavaScript ile yazılan scriptlerin sayfaya eklenmesi
IIS (Internet Information Server’ın Yönetimi)
ASP.NET çalışma modelinin incelenmesi
Web Form’ları ve sayfaların hazırlanması
Page nesnesi ve Server kontrolleri
State kavramı, Session, Application, ViewState, Aktif-Aktif Çalışma, State ölçekleme, Yük dengeleme.
Master Page, Theme ve Skin, CSS kullanımı
Cookie kullanımı
ADO.NET ve Entity Framework ile Veri Tabanı İşlemleri
MS SQL Server programlama (Stored Procedure,View,UDF,Trigger vs), ve SQL Server’ın temel düzeyde yönetimi (Yedekleme, Dosyalar, Servisler, Kullanıcı işlemleri vb)
Data Binding
Çok katmanlı uygulama geliştirmek
Veri katmanı (Data Access Layer) yazılması ve ilgili tasarım paternleri, Entity sınıflarının yazımı
Caching, SqlDependency
ASP.NET Uygulamalarında Güvenlik ve Saldırılara Önlemler Almak
Web Part’lar ile kişiselleştirilebilir portal uygulamaları
Web servisleri, Remoting ve WCF (Windows Communication Foundation)
Ajax, JQuery ile asenkron çalışma
Silverlight ve Exression ürünlerinin kullanımı
SMTP ile Mail Gönderimi, Mobil Web Kontrolleri
Özel HttpHandler Yazmak
User Control’ler ve ASP.NET Server Kontrolleri Geliştirmek (Örneğin özgün bir DataGrid, Sanal Klavye yazımı)
Reporting Services ile Raporlama ve Raporların uygulamada sunumu.
Silverligth kullanımı
Ve diğer konular.

Önkoşul: Derneğimizin açmış olduğu C# ile Nesne Yönelimli Programlama kursunu başarıyla tamamlamış olmak ya da .Net dillerinden herhangi birisinde uygulamalı çalışma yapmış olmak.

* Ücreti sorunuz.

C# ile .NET Ortamında Proje Geliştirme


Bu kurs katılımcılara .NET ortamında C# Programlama Dilini kullanarak proje geliştirme becerisi kazandırmayı hedeflemektedir.
Kursun İçeriği:

Kursta katılımcılarla birlikte bir ya da iki proje üzerinde hep birlikte çalışılmakta ve bunun yanı sıra her katılımcının ayrı bir proje üzerinde çalışmasına olanak sağlanmaktadır. Eğitmenler katılımcıların kendi projelerinin yürütülmesi konusunda yönlendirici ve problem çözücü katkılar sağlamaktadır. Kurs normal ders oturumları biçiminde yürütülmektedir.

Önkoşul:
Daha önce C# ile temel uygulama geliştirme becerisini kazanmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile .NET Ortamında Uygulama Geliştirme (I) kursuna katılmış olmak.

* Ücreti sorunuz.

C# ile .NET Ortamında Uygulama Geliştirme (III)


Açıklama : Bu kurs C# kullanarak ileri uygulama geliştirme becerisini kazanmış programcılara yönelik daha ayrıntılı ileri düzey bir uygulama kursudur. Kurs içerisinde pek çok konu derinlikli olarak ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:

· İleri düzey WPF (Windows Presentation Foundation) uygulamaları

· WPF ile ileri çizim işlemleri

· WPF ile üç boyutlu çizim işlemleri

· İleri düzey Linq (Language Integrated Query) kullanımı ve Entity Framework ile ileri veritabanı uygulamaları

· WWF (Windows Workflow Foundation)

· Güvensiz kodlar (unsafe codes)

· Şifreleme işlemleri ve güvenlik

· İleri düzey WCF (Windows Communication Foundation) uygulamaları

· Windows Store için uygulama geliştirme

· İleri düzey debug işlemleri

· Birim testleri ve NUnit kullanımı

· Unity ortamının (Unity framework) tanıtılması

· Ve diğerleri …

Ön Koşul : Daha önce C# ile .NET ileri düzey uygulama geliştirme becerisini kazanmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile .NET Ortamında Uygulama Geliştirme (II) kursuna katılmış olmak.

* Ücreti sorunuz.

C# ile .NET Ortamında Uygulama Geliştirme (II)


Açıklama : Bu kurs C# kullanarak temel uygulama geliştirme becerisini kazanmış programcılara yönelik ileri düzey bir uygulama kursudur. Kurs içerisinde pek çok konu derinlikli olarak ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:

· CLR ortamının ayrıntılı işlevleri

· Paylaşılan DLL’ler (shared dlls) ve GAC (Global Assembly Cache) kullanımı

· İleri düzey Windows form işlemleri

· Kontrol tasarımı ve yazımı

· Temel WPF (Windows Presentation Foundation) kullanımı

· İleri çizim işlemleri

· İleri düzey veritabanı işlemleri (ADO.NET sınıf sistemi)

· .NET’te XML işlemleri

· Çok thread’li uygulamalarda karşılaşılan sorunlar ve ileri düzey senkronizasyon işlemleri

· TCP/IP client-server programlama

· .Net ortamının aşağı düzeyli ve sistem programlama bakış açısıyla incelenmesi

· Sembolik arakodla (Common Intermediate Language [CIL]) programlama

· C# programlama diline eklenen yeni özellikler (Anonim metodlar, Lambda ifadeleri vs.)

· Linq (Language integrated Query) kullanımı ve Entity Framework ile temel veritabanı uygulamaları

· .NET Remoting kullanımı

· Temel WCF (Windows Communication Foundation) kullanımı

· TPL (Task Parallel Library)

· C# ile temel Android uygulamaları geliştirme

· Ve diğerleri …

Ön Koşul : Daha önce C# ile temel uygulama geliştirme becerisini kazanmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile .NET Ortamında Uygulama Geliştirme (I) kursuna katılmış olmak.

* Ücreti sorunuz.

C# ile .NET Ortamında Uygulama Geliştirme (I)


Açıklama : Bu kurs C# Programlama Dilini kullanarak .NET ortamında uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:

· CLR ortamının temel özellikleri

· Nesne tutan sınıfların (collections) ayrıntılı incelenmesi

· GUI programlama modeli ve Windows Form Uygulamaları

· Temel çizim işlemleri

· Temel veritabanı işlemleri (ADO.NET sınıf kütüphanesi)

· Çok thread’li uygulamalar ve thread’lerin senkronizasyonu

· C# programlama diline eklenen yeni özellikler (eklenti metodları, var değişkenler, default argumanlar vs.)

· Öznitelikler (attributes)

· Nesnelerin seri hale getirilmesi (object serialization)

· Başkaları tarafından yazılmış kütüphanelerin (bileşenlerin) kullanılması

· MDI uygulamaları

· Uygulamaların kurulması ve konuşlandırılması

· Ve diğerleri …

Ön Koşul: Daha önce C# ile Nesne Yönelimli Programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama kursuna katılmış olmak.

* Ücreti sorunuz.