folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Csharp101.Com (C# Eğitimi)



Csharp101.Com (C# Eğitimi)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    @cukurova

    Hocam sen konuya yanlış bilgiler yazdıkça ben düzeltmek zorunda kalıyorum. Öyle şeyler yazıyorsun ki düzeltmemek ve görmezden gelmek mümkün değil. Bu konu csharp101.com un tanıtımını yaptığım bir konu ve konu altında insanları yanlış yönlendirecek cümleler olmasını istemiyorum.

    C# ta !! diye bir operatör yok. Yazmış olduğun kod çalışmayacak. Kodu internetten bulup yapıştırmadan önce deneseydin zaten bunu görecektin. Bahsettiğin özellik hiçbir zaman C# programlama diline eklenmedi.

    "C# 11 süper harika özellikler geldi" dedikten sonra, olmayan bir özellik üzerinden bunu ispatlamaya çalışman çok komik olmuş. En başta kendin C# 11.0 ile gelen özellikleri aktif olarak kullanıyor olsan buraya gelip kod örneği olarak "parameter null checking" örneği yazmazsın.

    Muhtemelen Şubat 2022 tarihli blog yazılarından birisini okudun. https://devblogs.microsoft.com/dotnet/early-peek-at-csharp-11-features/#c-11-preview-parameter-null-checking bunun gibi. Sonra bu özelliğin dile eklendiğini düşündün. Halbuki o çok beğendiğin özelliği kullanmaya çalışsan derleyicinin hata mesajı ile karşılaşacaksın.

    https://devblogs.microsoft.com/dotnet/csharp-11-preview-updates/#remove-parameter-null-checking-from-c-11

    https://github.com/dotnet/csharplang/blob/main/meetings/2022/LDM-2022-04-13.md

    https://stackoverflow.com/questions/72434122/ca1062-is-thrown-after-updating-to-parameter-null-checking

    C# 11 deki "String interpolation" yazmışsın. C# 11 ile string interpolation diye bir konu gelmedi. String interpolation 2015 yılında C# 6.0 ile geldi. 8 yıldır dilde olan bir konu.

    Gerçekten şaka gibi.

    --------------------------------------------------------------------

    @Ziraatci

    Hocam çukurova "mantık olarak haklı" demişsin. Burada mantık ile ilgili bir durum yok. Bu işin sencesi, bencesi, mantıklısı gibi bir durum yok. C# söz konusu olduğu zaman ECMA-334 standartı var.

    Şimdi gidip C# bilmeyen insanlara "Bakın siz photoshop öğrenirken son sürümünü öğreniyorsunuz değil mi? İşte C# öğrenirken de en yeni sürümü öğrenmelisiniz. Eskiler hikaye olarak kaldı. C# 5.0'ı dinozorlar yazar." dersen bu cümle onlara çok mantıklı gelebilir. Ve C# ın birbirinden tamamen farklı ve dallanmış olan versiyonlarının olduğunu düşünebilirler.

    "Photoshop'un nasıl son versiyonunu öğreniyorsak, C# ın da son versiyonunu kullanmalıyız." cümlesi aşırı derecede saçma bir karşılaştırma. Bir bilgisayar programının versiyonu ile bir programlama dilinin versiyonunu karşılaştıramazsın. C# taki versiyonlar sizin hayal ettiğiniz gibi değil. Yıllar geçse bile C# ın temel konuları ASLA değişmiyor. C#'a yeni eklenen özelliklerin pek çoğu ana konuların üzerine eklenen ufak özellikler.

    Aşağıda detaylı olarak açıklayacağım.

    --------------------------------------------------------------------

    AÇIKLAMA

    Bu açıklamanın amacı "Kursta C#'ın hangi versiyonunu anlatacaksınız?", "Yeni başlayan bir kişi C# 11 öğrenmeli." gibi cümlelerin ne kadar hatalı cümleler olduğunu göstermek.

    Başlayalım. C# ın bir standartı var. Bu standartın ismi ECMA-334. https://www.ecma-international.org/publications-and-standards/standards/ecma-334/  buradan erişebiliyorsunuz. Standart demek şartname demek. Kuralların, şartların, konuların vb. dil hakkındaki diğer kavramların yazılı olduğu kitapçık. Kanun kitabı gibi düşünebilirsiniz.

    İlk olarak 2001 yılına gidelim. Ve ECMA-334'ün 1.versiyonuna bakalım. https://www.ecma-international.org/wp-content/uploads/ECMA-334_1st_edition_december_2001.pdf 

    Soru: Bu pdf'in içinde ne var ve ne zaman yayınlanmış?
    Cevap: Aralık 2001 de yayınlanmış. C# 1.0 ait kurallar/konular/içerikler var. Ve 457 sayfa.

    Konu başlıkları neler? Alt alta yazalım. Bakalım C# 1.0'da hangi konular varmış.

    Language Overview (Konu değil bu. Kısa özet gibi.)
    Lexical structure
    Basic concepts
    Types
    Variables
    Conversions
    Expressions
    Statements
    Namespaces
    Classes
    Structs
    Arrays
    Interfaces
    Enums
    Delegates
    Exceptions
    Attributes
    Unsafe code

    Şimdi gelin 2022 yılına gidelim. Ve ECMA-334'ün 6.versiyonuna bakalım. https://www.ecma-international.org/wp-content/uploads/ECMA-334_6th_edition_june_2022.pdf  burada linki.

    Soru: Bu pdf'in içinde ne var ve ne zaman yayınlanmış?
    Cevap: Haziran 2022 de yayınlanmış. C# 1.0, 1.2, 2.0, 3.0, 4.0, 5.0 ve 6.0'a ait kurallar/konular/içerikler var. Ve 615 sayfa.

    ÖNEMLİ SORU: 21 yıllık süreçte ECMA-334 standartlarına baktığımızda 6 farklı ana C# versiyonu olmasına rağmen(C# 1.2 yi de sayarsak 7 versiyon) C#'ın konuları değişmiş mi?
    Cevap: Hayır değişmemiş.

    Soru: Peki bu 6 adet ana versiyon boyunca konu bütünlüğü, konuların sırası, ünitelerin isimleri değişmiş mi?
    Cevap: Hayır değişmemiş.

    Soru: Peki ne değişmiş?
    Cevap: Pdf in uzunluğu yaklaşık 150 sayfa artmış. Bunun nedeni C# 1.0 dan C# 6.0 a kadar gelen tüm yenilikleri içinde barındırması. ECMA-334 ün 1.versiyonu açın. Dökümanda "generic" kelimesini aratın 1 adet sonuç çıkacak. ECMA-334 ün 6.versiyonunu açın "generic" yazıp aratın 235 adet sonuç çıkacak. Çünkü ECMA-334 ün 1.versiyonu yayınlandığı zaman C# ta generics diye bir konu yoktu. Generics konusu C# 2.0 ile geldi. Ve bu nedenle ECMA-334 ün 6.versiyonunda elbette generics konusu olacak. ECMA-334 ün 5.versiyonunu açsak yine genericleri görecektik.

    Soru: Başka neler değişmiş?
    Cevap: Ünitelerin uzunlukları değişmiş. Örnek verelim. Interfaces isimli ünite 14 sayfadan 24 sayfaya yükselmiş. Classes isimli ünite 60 sayfadan 106 sayfaya yükselmiş.

    ÖNEMLİ SORU: Peki her gelen yeni özellik mutlaka var olan ünitelerin içlerine mi yazılmalı?
    Cevap: Hayır. Mesela generics konusu ECMA-334 e ilk eklendiğinde ayrı bir ünite olarak yer alıyordu. Sonradan bunu alıp diğer ünitelerin içlerine yedirdiler. Yani nasıl ki Enums diye, Arrays diye ana başlıklar varsa, yeni gelen bir özellik de bağımsız bir ünite olabilir. Ancak bu sık olan bir durum değil. Hemen örnek üzerinden bakalım.

    ECMA-334 'ün 2005 te yayınlanan 3.versiyonunu açın bakın.

    https://www.ecma-international.org/wp-content/uploads/ECMA-334_3rd_edition_june_2005.pdf 

    Burada 25.bölüm - generics 26.bölüm - iterators

    Sonra 2017 yılında ECMA-334 'ün 5.versiyonu çıkınca bu 2 bölümü diğer bölümlere dağıttılar. Iterators'u alıp Classes bölümüne koydular. Generics bölümünü de alıp parçalayıp diğer bölümlere dağıttılar. Zaten bir class, bir struct veya bir interface generic olabileceği için rahatça diğer bölümlerin içine dağıtıldı generics konusu.

    SORU: 4 sene sora 2027 yılında ECMA-334 ün 7.versiyonunu yayınlasalar ve bu versiyon ile C# 7.0, 7.1, 7.2, 7.3, 8.0 ve 9.0 standart'a dahil edilse
    bu durumda sizce ECMA-334 de yer alan konular değişecek mi?
    Cevap: Hayır tabii ki. C# 1.0 dan C# 6.0 a kadar birsürü yeni özellik geldi buna rağmen ana konular değişmedi, C# 7.0, C# 8.0 geldiğinde mi ana konular değişecek?

    Ancak yeni ünite eklenebilir. Mesela Records isimli bir konu geldi C# 9.0 ile. Bu konuyu belki Classes ve Structs isimli ünitelerden sonra ayrı bir ünite olarak standarta koyabilirler. Dediğim gibi yeni gelen özellikler %90 oranında zaten var olan konuların üzerine geliyor. Ancak bazen yebi gelen bir özellik başlı başlına bir ünite olacak şekilde de standartta kendine yer bulabilir. Generics örneğinde olduğu gibi işte.

    *******************************************
    Buraya kadar şunu anlamış olmanız lazım. C# ın temel konuları yani kemikleşmiş konuları asla değişmiyor. İlk 6 ana versiyonda devrim niteliğinde sayılabilecek pek çok
    yenilik geliyor. Ve buna rağmen genel çerçeve asla değişmiyor. İlk versiyonlardan beri olan konular önemini kaybetmiyor. Aksine herşey bu konular üzerine kurulmuş.
    Eskimiş diyebileceğiniz bir konu yok.

    ***********************************************

    Bunu anladıysak C# 11 ile gelen özelliklerden birkaç tanesine bakalım.

    1-) Auto-default structs

    Sen bir struct içerisindeki yapıcı metotta(constructor) veri elemanlarına veya otomatik propertylere değer atamazsan derleyici senin yerine default değeri atayacak. Bu kadar. C# bilen bir insana bunu 15 saniyede anlatırsın.

    Soru: Peki C# bilmeyen bir insana bu özellik doğrudan diğer konulardan bağımsız olarak anlatılabilir mi?
    Cevap: Mümkün değil. Önce seve seve struct nedir bunu anlatacaksın öğrenciye. Neden? Çünkü bu özellik struct isimli veri yapısına eklenmiş olan ultra derecede küçük bir özellik.

    Öğrenciye sırayla şu konular anlatılmalı.
    - Tür nedir? Değer türleri ve referans türleri
    - struct nedir?
    - struct ile class ın farkı nedir?
    - class varken C# a neden struct diye bir konu eklenmiş?
    - structlar hangi üyelere sahip olabilirler?
    - structlar ile ilgili örnekler
    - .NET te bulunan önemli structlar (DateTime vb.)

    Bunu anlattıktan sonra dersinki "Bakın arkadaşlar C# 11.0 ile Auto-default structs özelliği geldi." dersin. Devamında da 1 dakikada özelliği açıklarsın.

    21 yıldır C# ta bulunan struct isimli konuyu öğrenciye anlatmak zorundasın.

    2-) Raw string literals

    Bakın bu özellik de Stringlere gelmiş bir özellik.

    Önce seve seve 21 yıllık konu olan classlar konusunu anlatacaksın. Öğrenci sınıflar konusunu yalayıp yutacak. Sonra diyeceksin ki arkadaşlar C# programlama dilinde stringler sınıf olarak temsil edilmiştir. Ve ardından başlayacaksın String sınıfını incelemeye. Öğrenci String sınıfını iyice anlayacak.

    Sonra diyeceksin "hah işte C# 11 ile string türden sabitler için yeni bir yazım formatı geldi."

    Bakın gördünüz mü? Yeni gelen özellikleri anlatabilmek için 21 yıldır C# ta olan konuları anlatmak zorundayız. Çünkü bu özellikler var olan konuların üzerine yapılan küçük küçük eklemeler.

    3-) Generic attributes

    Bu özelliği genericleri anlatmadan ve Attributes ları anlatmadan anlatamazsın. İmkanı yok. Bu arada genericler C# 2.0 dan beri dilde var. Attributelar C# 1.0 dan beri var. Yani gördüğünüz gibi 2022 yılında gelen bir özelliği anlatmak için 20 yıldır dilde bulunan Attributes konusunu anlatmak zorundasınız. Aksi durumda öğrenci sana der ki "Generic attributes dediniz ama biz daha attribute nedir onu bilmiyoruz".

    Daha fazla uzatmayalım zaten çok uzun oldu.

    ------------------------------------------------------------------

    Şimdi çukurova demiş ki "Dediğin varsayım bana saçma geldi. Sıfırdan öğretirkende v11 deki bütün kavramları sıfırdan çok rahat anlatabilirsin.".

    Hayır arkadaşım C# 11.0 da gelen özellikleri veya kavramları tek başlarına anlatamazsın. Bağımsız olarak C# versiyonu anlatmak diye bir şey olmaz. Bana sadece C# 8.0 anlat diyemezsiniz. C# ın kemik konuları 21 yıldır değişmiyor. Gelen özellikler %90-%95 bu kemik konuların üzerine geliyor.
    Ve çoğu zaman gelen özellikler esas konunun yanında çok çok küçük olan özellikler.

    Sonra "Python içinde; v2 iyice öğren, sonra v3 geç mi diyelim veya önce python 3.0 öğren, sonra 3.10 çok daha rahat öğrenirsin mi diyelim?" cümlesi var.

    Bu cümleyi kuran birisi C# ın versiyonları hakkında hiçbir şey bilmiyordur. C# ın temel konuları, C#' a eklenen özellikler vs. bilgisi yoktur. Python daki versiyon sistemi ile C# ı karşılaştıramazsınız.

    Sonuç olarak;

    C# programlama dili bir bütündür. Birbirinden bağımsız versiyonlar yoktur. C# 4.0 bilmek veya C# 5.0 bilmek diye kavramlar yoktur. Tek bir C# versiyonunu diğer kavramlardan bağımsız anlatmak diye bir şey olamaz. Yeni gelen özellikler eski konuların üzerine eklenmiştir. 21 yıldır olan konular hala varlığını sürdürmektedir. Bu konular temel konulardır. 

    Ders anlatırken evet arkadaşlar C# 1.0 ve 1.2 yi anlattık. Şimdi C# 2.0 anlatalım sonradan C# 3.0 anlatırız falan demiyoruz. Diyemeyiz böyle bir şey. Tüm yazı boyunca 6 yaşındaki çocuğa anlatır gibi bunu açıkladık zaten.

    "C# 11 mi anlatacaksınız yoksa C# 10 mu anlatacaksınız?" diye bir soru olamaz. Olsa olsa "Eğitimde C# 10 ile gelen özelliklerden bahsedecek misiniz?" veya "Eğitimde C# 11 ile gelen özelliklerden bahsedecek misiniz?" diye bir soru olur. Bunun cevabını verdik zaten. Eğer gelen yeni özellik uygulama programcılığına yönelik bir özellikse evet bu özelliği kursta anlatacağız.

    Son olarak şunu ekleyeyim; eğitmenlik işi benim profesyonel olarak yaptığım bir iş. Varsayımlar üzerinden yaptığım bir iş değil. Aynı zamanda hobim. Çok keyif aldığım bir iş. Neyi neden yaptığını gayet iyi bilen eğitmenlerdenim. Bu işi "ben de bildiklerimi paylaşayım" havasında yapmıyorum. Eğitim verme işi benim için bir prestij meselesi. C# hakkında bir şey söylüyorsam, bu bir varsayım değildir. Doğruluğundan emin olmadığım bir bilgiyi paylaşmam zaten.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cukurova
    cukurova's avatar
    Kayıt Tarihi: 21/Aralık/2003
    Erkek

    Öncelikle sağol üşenmemiş destan yazmışsın, eline sağlık ama aynı şeyler tekrar yazmışsın. Yazacak çok şey varda, aklımda kalanları özetleyeyim.
    c# 11 de bang bang(!!) operatörü çalışmadığına emin misin :) preview de demedin mi?

    "null checking" her ne kadar en çok tartışılan ve sorgulanan konu olsada vermemdeki amaç en basit ve ufak şekliyle c# değişimi göstermekti. 4-5 satırda list pattern nasıl açıklayayım mesela.

    C# v6 da, String interpolation da verbatim/nonverbatim yeni satırı @ veya \r\n kullanmadan yazabiliyoruz demek. Beni kandırmışlar, gerçekten komik bak 😂

    "Photoshop'un nasıl son versiyonunu öğreniyorsak, C# ın da son versiyonunu kullanmalıyız." cümlesi aşırı derecede saçma bir karşılaştırma. Bir bilgisayar programının versiyonu ile bir programlama dilinin versiyonunu karşılaştıramazsın. C# taki versiyonlar sizin hayal ettiğiniz gibi değil. Yıllar geçse bile C# ın temel konuları ASLA değişmiyor. C#'a yeni eklenen özelliklerin pek çoğu ana konuların üzerine eklenen ufak özellikler."

    Buradan anlıyorum ki, c# da listeler, dizller vs konuları anlatırken yeni list (slice) patterni anlatmaya gerek yok, çünkü ana konu değil sana göre. Eski gibi kulağımız tersten tutarak pattern match yaptıracaksın.

    Örneğin; python da switch-case yapısı yoktu, onun için yerine elif iş görüyordu ama v3.10 versiyonu ile match case olarak eklendi. Şimdi match-case python kemikleşmiş kısmı değil mi, bilmesekde olur zaten elif yetiyor mu diyelim.

    Sorun gayet basitti; Cevap olarak; "son güncel versiyonda bütün temelleriyle birlikte yenilikleri de anlatacağım" yazman gayet yeterliydi

    ama öyle uzattın ki; "dotNet v4.5 üzerinde winform ve console uygulaması anlatacağım çünkü kemik temel bu" gibi anladım ben. Arkasından da webform gelir artık :)

    Seni tanımıyorum, muhtemelen iyi ve başarıılı bir eğitmensin ama basit bir soruyu gereksiz yere uzattın. Senin kemikleşmiş temel dediğin(syntax ve oop) olayı anlıyorum ama gelip bana c# v2 ile c# v11 arasında ufak tefek nuanslar var deme, komik oluyor.

    Hayırlı satışlar, hayırlı dersler diliyorum ve karışmıyorum.

     

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LaNCeLoT
    LaNCeLoT's avatar
    Kayıt Tarihi: 22/Mart/2003
    Erkek

    cukurova adamdır kimilerine göre adamkereadamdır hatta , hannibal da bazen gergin ama adamm bir kardesimiz. Bençe konu bulanmasın tanıtımdan devam.


    Kurtlar tasma takmaz....
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    @cukurova Benim anlatım tarzım detaylı açıklamak üzerine kurulu. O nedenle uzun cevap verdim. Müfredatı yayınlıyorum site üzerinden. Herkes görebilecek kurstaki konuları. İyi dileklerin için teşekkürler hocam.

    @LaNCeLoT Saol hocam.

    @Atakan Aynen Udemy linki doğru. O kursa daha fazla ekleme yapmıyorum artık.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek
    sandman bunu yazdı

    Şimdiden başarılar hocam,

    Üstün körü bir içeriğe ve ücrete baktım bence tam bir fiyat performans eğitimi. 

    Teşekkürler. Öğrenci sayısı fazla olursa eğitimin süresi uzayacak. Fiyat daha da uygun hale gelmiş olacak. 50 öğrenci olması durumunda 320-340 saat sürecek eğitim.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kanoonline
    kanoonline's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    Emeğe saygım var. Şunu bizlere izah ederseniz seviniriz. Udemy deki yüz liralık eğitimlerden nasıl bir farkı olacak?

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esquire
    Esquire's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    hafta içi akşam yapmayı planıyor musun?


    boş
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek
    kanoonline bunu yazdı

    Emeğe saygım var. Şunu bizlere izah ederseniz seviniriz. Udemy deki yüz liralık eğitimlerden nasıl bir farkı olacak?

    Hocam sana özel değil. Genele cevap veriyorum. Çünkü başka insanların da aklında böyle bir soru olabilir.
    ----------------------------------------------------

    Markette içinde soya ve kimyasal maddeler olan tavuk sucuğu 30 TL. Kasapta içinde gerçek et olan organik dana sucuk 400 TL. Tavuk sucuğunu kesince o kimyasalın kokusu burnuna geliyor. Miden bulanıyor. Şimdi burada 400 TL lik organik dana sucuk ile 30 TL lik tavuk sucuğunu karşılaştırabilir miyiz? "Bunların ikisi de sucuk sonuçta ne farkı var" diyebilir miyiz? Hayır. Çünkü aynı olmayan şeyleri karşılaştıramayız. İçerikten tut, yapılışa kadar, tadına kadar her şey farklı. En ufak bir benzerlik yok. Sen 10 tane tavuk sucuğu da yesen 400 TL lik organik dana sucuğundan alacağın faydayı alamayacaksın. Üstüne zehirlenirsin. Tavuk sucuğundan yedikçe daha çok kimyasal alırsın paranla kendini rezil edersin. Hem paran hem sağlığın gider.

    İşte bu örnekte 4 tane çeyrek 1 tane tam yapmıyor. Yazılım dünyasında da aynı şekilde 4 çeyrek 1 tane tam yapmıyor.

    Aylık net 60.000 TL isteyen senior almak yerine gidip 9000 TL isteyen 4 tane yeni başlamış yazılımcıyı işe alamazsın. Çünkü seniordan alacağın faydayı o 4 kişi birleşse de senin şirketine veremez. Seve seve o tecrübeli yazılımcıya istediği parayı verirsin.

    Yazılım eğitimi konusu da tamamen aynı.

    Bir kişi hayatı boyunca kaliteli bir yazılım eğitimine katılmadıysa tüm yazılım eğitimlerini aynı sanabilir. Kaliteli bir eğitimin kendisine sağlayacağı faydayı fark edemeyebilir. "İki eğitim arasında ne fark var?" diyebilir. Durum öyle değil işte.

    Normalde kendi eğitimimi tanıtırken başka bir eğitimi kötüleyerek ilerlemem. Kendi eğitimimi başka eğitim üzerinden ifade etmem. Diğer eğitimler ve eğitmenler benim umrumda değil. Ancak burada Udemy'de bulunan eğitimler ile karşılaştırma yapmam istenmiş. O nedenle 3-5 bir şey söyleyeceğim. C# eğitimleri için konuşacağım. Eğitim ismi veya eğitmen ismi söylemeyeceğim. Ve Udemy'deki eğitimlerin %80-90'ı için konuşuyorum.

    1-) Süre konusu

    Udemy'de 20-30 saatlik C# eğitimleri var. Böyle bir saçmalık olmaz. 20 saatte 30 saatte 40 saatte C# anlatamazsın. Bu konu tartışmasız bir konu. Bir kişi kısa sürede C# anlattığını iddaa ediyorsa konuların yarısını atlamıştır veya aşırı derecede yüzeysel bir anlatım yapmıştır.

    2-) Yanlış bilme ve yanlış öğretme (en önemli madde)

    Udemy'de C# anlatan pek çok kişi daha tam olarak C# bilmiyor. Örneğin; eğitmen isim alanları konusunda using direktiflerinden bahsederken using yazdığımız yere kütüphane ekleniyormuş gibi konuşuyor. Daha kendisi isim alanları konusunu anlayamamış. Burada net bir şekilde yanlış bilgi verme söz konusu. Sonra sen bu eğitimi izleyip üzerine 1-2 sene sektörde çalıştıktan sonra "Bir C# dosyasının en üst kısmına fazla sayıda using direktifi yazarsam program yavaşlar mı?" diye bir soru sorabilirsin.

    Neden? Çünkü yanlış öğrenmişsin. Using direktiflerinin derleme zamanına(compile-time) ilişkin direktifler olduğunu bilmiyorsun. "İsim araması ne demek?", "Neden using direktifleri kullanılıyor?" gibi soruların cevaplarını bilmiyorsun.

    Bunun gibi yüzlerce hatalı anlatım sayarım.

    Tüm bunlara rağmen tam olarak C# bilmeden de program yazabilirsin. Nasıl yazarsın? Ezbere iş yaparsın. Neyi neden yaptığını bilmezsin. C#, Java, Python gibi yüksek seviyeli programlama dillerinde bu durum mümkün. Yazılımcı çok tecrübeli olmadan da iş yapabiliyor.

    3-) Öğretme becerisinin önemi

    Eğitmen değişkenler isimli ünitede DateTime yapısından bahsediyor ve zamansal veri tipi diyor. Şimdi bir konu böyle anlatılmaz. Gidersin önce sınıfları anlatırsın, sonra structları(yapıları) anlatırsın. Sonra dersin ki "C# ta tarih ve zaman işlemlerini yapabilmemiz için oluşturulmuş olan structlar(yapılar) var. Mesela DateTime isimli struct bunlardan bir tanesi".

    Konu böyle anlatılır. Sen öğrenciye struct nedir anlatmadan DateTime diye bir şey varmış dersen ezberletmiş olursun. Öğrenci bu sefer sadece tarih işlemleri için bir tür oluşturulmuş sanar. Böyle bir konu anlatımı olmaz.

    Bir konuyu bilmek ile bildiğin konuyu anlatabilmek aynı şey değil. Bambaşka şeyler.

    4-) Sistematik işleyiş

    İyi bir eğitim sistematik olmak zorunda. Müfredatı çok iyi oluşturacaksın. Anlatım eksiksiz olacak. Öğrenci ileri seviye bir konuya geldiği zaman kafasında geçmiş konulara ilişkin tek bir soru işareti olmayacak. En ufak anlamadığı bir konu olmayacak. İyi eğitim böyle olur.

    Sen gider 30 ünitelik bir kursun 4.ünitesinde C# ta Collections konusunu anlatırsan öğrenci onu ezberlemiş olur. Anlatamazsın. Collections konusuna gelene kadar senin onlarca konu anlatman lazım. Müfredatı oluşturmak ayrı bir iş. Derslerin sıralaması vs. Bunlar ayrı bir beceri.

    Yada eğitmen arayüzler konusunu detaylı olarak anlatmadan gider proje yapar ve 100 tane yerde arayüzleri kullanır. Sonra eğitimi izleyen öğrenciler arayüzler konusunu tam olarak sindirmeden ezbere bir şekilde önüne gelen yerde arayüzleri kullanmaya çalışır. Sistematik olan bir eğitimde bir konu çok iyi anlaşılmadan başka konuya geçilmez.

    5-) Terminolojinin yanlış kullanılması

    Eğitmen bir ders anlatıyor. Ağzından çıkan kelimelerin yarısı hatalı. Sınıfın içinde bulunan metoda fonksiyon diyor. C# terminolojisinden haberi yok.

    6-) Yüzeysel anlatım yapılması

    Bir konuda uzmanlaşmak istiyorsan seve seve ayrıntı öğreneceksin. Başlangıç seviyesinde bir eğitimi her yerde bulabilirsin. Yüzeysel eğitimler seni bir noktaya kadar getirir. Daha ilerisine götürmez. Udemy'de detaylı ve ayrıntılı eğitimlere ulaşma ihtimalin düşük. Zaten 30-40 saatlik bir eğitimde ne kadar detay anlatılabilir?

    7-) Kod kalitesi

    Eğitmen gider kötü kod yazar. İsimlendirme kurallarına uymaz. Değişken isimlerini gider hep Türkçe yapar.
    Senin kod yazma stilin bozulur. Sana zararı olur.

    ------------------------------------------------------

    Kalitesiz eğitimler için söylenebilecek bir sürü şey var daha ama bu kadar konuşmak yeterli.

    Yalnız şunu unutmamak lazım. Udemy veya başka bir platformda yer alan eğitimler için genellemeler yapamayız. Bir eğitimin iyi olup olmaması temelde 2 şeye bağlıdır; eğitmen ve müfredat. Bir eğitmen çok çok iyi bir eğitim çeker. Onu da Udemy'ye yükler. Bu sefer Udemy üzerinde kaliteli eğitimler de olmuş olur. Bu nedenle yazının başında Udemy eğitimlerinin %80-90'ı için konuşuyorum dedim. Genelleme yapmadım.

    Bu durumun tam tersi de mümkün. Bir kurum vardır eğitmenleri ve eğitimleri kalitelidir. Ama 1-2 tane eğitmen iyi değildir. Sen gider bu iyi anlatamayan eğitmenlerden kurs alırsın. Sonra beklediğin faydayı alamazsın.

    ** Herkesi kurtaramayız ve herkesi ikna edemeyiz **
    ------------------------------------------------------------

    Burası tahribat olduğu için ben burada uzun uzun açıkladım. Yoksa R10 veya donanım forum sitelerinde bu tarz uzun bir açıklama yapmam. Benim eğitimim kaliteli, sistematik, fiyatı da budur vs. derim. Sonra birisi çıkar "Ben enayi miyim aynısı Udemy de 50 TL" der. Peki gerçekten aynı eğitimler mi? Değil tabii ki. Bırak aynı kelimesini en ufak benzer özellikleri yok. Ama işte bunu herkese anlatamazsın ve herkesi ikna edemezsin. Herkesi kurtarmaya da çalışmayız zaten. Benim eğitmen olarak görevim kendi öğrencimi işte bu tarzda kendini akıllı sanan tiplerin bilgi olarak önüne geçirmek. Ben bundan keyif alıyorum.

    https://www.tahribat.com/forum/programlamaya-giris-kursu-251425/3  burada @Easx isimli müridin yazdığını okuyabilirsin. Ne dediğini yazayım aşağıya.

    "Bu kısma tamamen katılıyorum. Şu anda Necati hocadan ders alıyorum. Udemy'de 10 tane kurs aldım aynı konuyla alakalı, hepsinin bir eksikliği vardı ve bıraktım sonunda. Saçma sapan eğitimler ve sonuçsuz araştırmaların bana ne kadar zaman kaybettirdiğini gördükçe sinirleniyorum."

    Mürid Udemy'den C veya C++ ile ilgili 10 tane kurs almış. Sonuç? Zaman kaybı, para kaybı, motivasyon kaybı. Bunun gibi yüzlerce örnek var. Sonra Necati Ergin den C veya C++ eğitimi almış.

    Bizim youtube kanalındaki röportajları izlersen benzer örnekleri göreceksin.


    ** Ben C# eğitiminin fiyatını neye göre belirliyorum? **
    ----------------------------------------------------------------

    Son olarak para konusundan bahsedeyim.

    Bizim eğitimde tüm dersleri gerçek zamanlı(canlı) olarak işleyeceğiz. Eğitim işini bilmeyen insanlar eğitmenin sadece haftada 2 gün(ders saatlerinde) çalıştığını düşünüyor. Yani şey diyor "Adam zaten biliyor, bildiğini hafta sonu derste anlatıyor." Yok öyle bir dünya. Eğitmenin iyi bir anlatım yapabilmesi için yoğun bir şekilde çalışması gerekiyor.

    Ben tam zamanlı olarak bu eğitime hazırlanıyorum. Haftanın 7 günü çalışıyorum. Çalışmazsam dersi anlatamam. Derse hazırlanmak zorundayım. Daha eğitim başlamadı 2 ay var. Ama ben başladım çalışmaya. Eğitim minimum 8 ay sürecek. Toplamda en az 10 ay full-time çalışmış olacağım. Müfredat, kurgu, örnek sorular, uygulamalar bunların hepsi özgün olacak. Yabancı bir kitabı açayım aynısını anlatayım diye bir olay yok bizde.

    10 aylık çalışmayı minimum asgari ücretten hesaplasan sigortası ile aylık 12.000 TL den 10 ayda 120.000 TL para yapar. Bak asgari ücretten hesaplıyorum. Eğitimi açmanın maliyeti de var. Reklam parası, video hosting masrafı, zoom vb. yazılımların lisans paraları, sunucu masrafları, Amazondan satın aldığın kitaplar vb. toplamda 20.000-30.000 TL maliyeti var. Benim bu eğitimi açıp zarar etmemek için en az 140-150k para toplamam lazım.

    Bu hesaba göre eğitimi 1000 TL yapsan 100 kişide 100k para yapar. Yine zarardasın. Özetle eğitimi 1000 TL ye 2000 TL ye satamazsın. Mümkün değil.

    Ayrıca ben yazılım geliştiriciyim. Zaman en önemli şey benim için. Benim 10 aylık süreçte normalde 400k-500k para kazanmam lazım. Benim amacım eğitim sektöründe bilinirlik kazanmak olduğu için ben şu anda kitle oluşturmaya çalışıyorum. Geleceğe yatırım yapıyorum yani. Eğitim işi benim sevdiğim bir iş. Bu işi çok sevmesem yukarıda yaptığım gibi "asgari ücretten hesaplasam" diye hesaplama yapmam zaten. Gider normal yazılımcı olarak çalışırım bir şirkette.

    Özetle bir ürünün/hizmetin pahalı veya ucuz olması alacağınız faydaya göre değişir. Bizim ürünün fiyatı şu anda çok çok uygun.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek
    antichrist bunu yazdı

    Hocam selamlar, eline emeğine sağlık öncelikle.

    Kursun içeriği gayet kaliteli duruyor. Bu tip kursları bitirdikten sonra bir sertifikasyon bir beklenti de oluyor haliyle. Firmalar da artık udemy mezunu kavramından uzak durmaya çalışsa da en azından o kadar saat kurs aldığına dair bir belgeyi almak ya da görmek istiyorlar. Bu konuda  bir çözümünüz var mı? Nihayetinde ciddi bir mebla ile bir kurs alınacak. Uzun da sürecek (nispeten). Bunu kurslar, eğitim merkezleri de aynı şekilde işletiyorlar ama sonunda iyi kötü onaylı bir sertifika alınabiliyor.

    Kurum üzerinden bu işi yapıyorsanız süreç nasıl işletiliyor bir bakmakta fayda var. Onun dışında şu anki haliyle 9500 tl'ye 200~ saat özel ders alınmış gibi olacak. Bunu sağlayabilirsen alıcı sayısı da artar diye düşünüyorum hocam, emeklerin daha çok kişiye ulaşır.

    Sertifika veriyoruz hocam. Şu anda tasarım üzerinde oynamalar yapıyorum. Örnek bir sertifika şu şekilde; https://certopus.com/c/74c1d5cbabc74cd796602c913bb36a92 Linkedin'e de eklenebiliyor. Certopus diye bir girişim var. Onların sistemini kullanıyoruz sertifika işlemleri için. 

    1-2 hafta içinde daha sade bir sertifika tasarımı yaparak programlamaya giriş eğitimine katılmış olan öğrencilere dağıtacağım. Doğrudan e-posta adresine gelecek sertifika linki. Aynı şekilde C# eğitimini tamamlayan öğrencilere de sertifika vereceğiz.

    Eğitim süresi 250 saat. Fiyat Tahribat için 6500 TL. (20 Şubat'a kadar) Ve yine site üzerinde de ilk 20 için fiyat 7500 TL. Şu anki fiyat çok uygun onu söyleyeyim. Bir sonraki açacağım sınıfta fiyat muhtemelen 13.000-14.000 olur.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek
    Esquire bunu yazdı

    hafta içi akşam yapmayı planıyor musun?

    Hafta içi grubu da açmayı planlıyorum. Ama en erken eylül-ekim gibi olur. Tabii ki gelen taleplere göre değişir açılma zamanı. Şunu net olarak söyleyebilirim bir sonraki eğitimin fiyatı daha yüksek olacak. Şu anda bu eğitim bizim açacağımız ilk C# eğitimi olacağı için fiyatı bu kadar uygun.

    Eğitimde tüm dersleri kayıt altına alacağız. İsteyen öğrenci sistemden izleyebilecek. Ayrıca ben ders anlatırken not da tutacağım. Yine öğrenciler bu notlara erişebilecek. Cumartesi veya pazar günü uygun olmasanız dahi hafta içinde bizim ders kayıtlarını izleyebilirsiniz. Bu şekilde ilerleyecek olan 2-3 öğrencimiz var. 

    Canlı derse katılmazsam sorularımı soramam diye düşünmeyin. 6 yaşındaki çocuğa anlatır gibi ders anlatıyoruz. Bizim olayımız bu zaten sistematik ve detaylı anlatmamız. %99 ihtimalle soru sorma ihtiyacı hissetmeyeceksiniz. Dersleri izleyince çok rahat anlayacaksınız. Ama elbette öğrencilerin soruları olursa mutlaka bunları cevaplarız. Kimsenin sorusu cevapsız kalmaz.

    Bu kursa katılmadan önce temel programlama bilginiz olmalı ama onu unutmayın. Aksi durumda bazı kısımlarda zorlanabilirsiniz. Çünkü basit olan konuları programlamaya giriş eğitiminde yaptığımız gibi saatlerce anlatmayacağız. Örneğin if deyimi ile ilgili 20 tane örnek yapmayacağız. Programlamaya giriş eğitiminde yaptık zaten onu.

Toplam Hit: 6240 Toplam Mesaj: 23
csharp eğitimi c# eğitimi