Kodlama mantığını kavramak

babylade

Picopat
Katılım
28 Ekim 2020
Mesajlar
394
Daha fazla  
Cinsiyet
Kadın
"Kodlama öğrenirken ne yapmalıyız?" Tavsiyesi alırken genelde şunu duyuyorum: "Ezberleme, mantığını öğren."
Ben şu an C++ öğrenmeye çalışıyorum kendi çabalarımla ve benim gibi her şeyi sorgulayan biri için bu biraz daha yavaş işleyen bir öğrenim oluyor sanırım.
Sorum şu ki, nedir bu mantığı kavrama olayı? Mantığını kavramak için neye dikkat etmeliyim?
İzliyorum eğitim videolarını ve adamın yazdığı her kelimeyi kafamda sorguluyorum ve canlı bir eğitim olmadığı için sorma imkanım da olmuyor tabii. Bana biraz açıklamayla yardımcı olursanız sevinirim.
 
Mantığı kavramanın temelinde algoritmalar yatıyor, tavsiyelerim;

  1. Önce algoritmaları ve matematiğin temel konularını kafanızda oturtun(sayısal mantık, fonksiyonlar, önermeler vs. gibi)
  2. Daha basit ve daha çok kaynağı olan bir dil ile başlayın. C# buna harika bir örnek.
  3. Yazılan kodların mantığını kavramak şuradan geliyor, bu kodu neden burada yazdım, bu fonksiyonu neden kullandım, bunu fonksiyon kullanmadan nasıl yazabilirdim, eğer kullanıcı şöyle bir şey istese ne yapardım, bu metot neden burada, neden bu değişken tipini kullanıyoruz gibi her konuda her satır için sorular sorun kendinize.
  4. Bir kaynaktan asla ve asla çalışmayın, çalıştığınız kaynak sizi köreltebilir. En az 3 kaynaktan okuyun konuyu, ingilizceniz varsa stackoverflow, GitHub, Microsoft gibi sitelerdeki dokümanları soruları inceleyin.
  5. Kodların limitlerini sorgulayın, geçenlerde double veri türünün virgül sonrasındaki 15. hanesindeki tutarsızlık üzerine forumda konu açtım, sonucunda öğrendiklerim farklı şeylerin farkına varmamı, farklı yapıları öğrenmemi sağladı. Bunun gibi şeyler sizi her zaman ileriye taşır.
  6. Sürekli uygulama, fikir proje yapmaya çalışın. Fikrin ne kadar basit ya da saçma olduğuna takılmayın. Kendinize bir sorun üretin ve sorunu çözmeye çalışın. Yazılımlar temelde sorun çözen bir kod dizisidir.
  7. Konu ile ilgili kitap almaktan, not tutmaktan asla çekinmeyin. İlerleme hızınızın bir önemi yok, gerekirse her konuyu bir günde bitirin. Örneğin dizileri çalışıyorsunuz. 1-2 saatte öğrendim diyorsanız orada bir hata var. Eğitim içeriklerini oluşturanlar 10-20 dakikada anlatır geçerler, sizin aklınızda hangi soruların oluşacağını ya da neleri bilmediğinizin farkında olmazlar.
  8. Alandaki yazılımcıları takip edin, kendinize bu alanda bir çevre oluşturmaya çalışın. Soru sormaktan asla çekinmeyin insanları darlayın hatta. Gelin Technopat yazılım bölümünde sorun, soru sormak soru çözmeyi öğrenmenin yollarından biridir. İnsanlar sizin sorularınızı yanıtladıklarında onlara bu bilgiye nasıl ulaştıklarını hangi yolla bilgi edindiklerini sormaktan çekinmeyin.
 
Mantığı kavramanın temelinde algoritmalar yatıyor, tavsiyelerim;

  1. Önce algoritmaları ve matematiğin temel konularını kafanızda oturtun(sayısal mantık, fonksiyonlar, önermeler vs. gibi)
  2. Daha basit ve daha çok kaynağı olan bir dil ile başlayın. C# buna harika bir örnek.
  3. Yazılan kodların mantığını kavramak şuradan geliyor, bu kodu neden burada yazdım, bu fonksiyonu neden kullandım, bunu fonksiyon kullanmadan nasıl yazabilirdim, eğer kullanıcı şöyle bir şey istese ne yapardım, bu metot neden burada, neden bu değişken tipini kullanıyoruz gibi her konuda her satır için sorular sorun kendinize.
  4. Bir kaynaktan asla ve asla çalışmayın, çalıştığınız kaynak sizi köreltebilir. En az 3 kaynaktan okuyun konuyu, ingilizceniz varsa stackoverflow, GitHub, Microsoft gibi sitelerdeki dokümanları soruları inceleyin.
  5. Kodların limitlerini sorgulayın, geçenlerde double veri türünün virgül sonrasındaki 15. hanesindeki tutarsızlık üzerine forumda konu açtım, sonucunda öğrendiklerim farklı şeylerin farkına varmamı, farklı yapıları öğrenmemi sağladı. Bunun gibi şeyler sizi her zaman ileriye taşır.
  6. Sürekli uygulama, fikir proje yapmaya çalışın. Fikrin ne kadar basit ya da saçma olduğuna takılmayın. Kendinize bir sorun üretin ve sorunu çözmeye çalışın. Yazılımlar temelde sorun çözen bir kod dizisidir.
  7. Konu ile ilgili kitap almaktan, not tutmaktan asla çekinmeyin. İlerleme hızınızın bir önemi yok, gerekirse her konuyu bir günde bitirin. Örneğin dizileri çalışıyorsunuz. 1-2 saatte öğrendim diyorsanız orada bir hata var. Eğitim içeriklerini oluşturanlar 10-20 dakikada anlatır geçerler, sizin aklınızda hangi soruların oluşacağını ya da neleri bilmediğinizin farkında olmazlar.
  8. Alandaki yazılımcıları takip edin, kendinize bu alanda bir çevre oluşturmaya çalışın. Soru sormaktan asla çekinmeyin insanları darlayın hatta. Gelin Technopat yazılım bölümünde sorun, soru sormak soru çözmeyi öğrenmenin yollarından biridir. İnsanlar sizin sorularınızı yanıtladıklarında onlara bu bilgiye nasıl ulaştıklarını hangi yolla bilgi edindiklerini sormaktan çekinmeyin.

Framework'lerden kodları incelemek de fayda sağlar mı?
Mesela ben HTML, CSS çalışıyorum.
Videolardan izliyorum, bootstrapden de ilgimi çeken kodları oturup inceliyorum.
Sizce iyi bir yol mu şu an izlediğim yol?
 
merhaba bilgisayar programcılığı okudum ve lise öğrencisiyim öğrenmeye python ile başlayabilirsin ama python açık kaynak bir dildir ama illaki ortadan başlayacağım diyorsan c# console öğren sonra görsel programlamaya geçersin...
 
Framework'lerden kodları incelemek de fayda sağlar mı?
Mesela ben HTML, CSS çalışıyorum.
Videolardan izliyorum, bootstrapden de ilgimi çeken kodları oturup inceliyorum.
Sizce iyi bir yol mu şu an izlediğim yol?

Tüm konuları bitirmeden Framework incelemek bazen insanı dilden soğutabiliyor. Çünkü kullandıkları yöntemleri anlamayınca insan sorunu kendinde arıyor. Halbuki insanın bilmediği birşeyi anlayamaması kadar normal bir şey yok. Örnek olarak bir dehayı ele alalım bu kişi matematik dehası olsun. Hiç matematik temellerini bilmeden oturup bir problemi o da çözemez. Önce temel sağlam atılmalı, ardından sorunlarla bolca boğuşulmalı. Framework incelemek, Framework yazmak daha ileride yapacağınız konular olmalı. HTML ve CSS programlama dilleri değiller. Gerçek bir programlama dili ile başlamanızı tavsiye ederim. Ardından edindiğiniz tecrübe ile onları öğrenmeniz birkaç haftanızı alır en fazla.
Her şeyden önemli iki husus var burada, matematik ve ingilizce. Bunlar sizi limitleyecek yegane şeyler. Bunlar halledildikten sonra isterseniz gidin kuantum programcısı olun.
 
Framework'lerden kodları incelemek de fayda sağlar mı?
Mesela ben HTML, CSS çalışıyorum.
Videolardan izliyorum, bootstrapden de ilgimi çeken kodları oturup inceliyorum.
Sizce iyi bir yol mu şu an izlediğim yol?

Ben bir faydasını görmedim bak öğreneceksen azim etmelisin her dilde olan bazı kalıplar vardır Python'dan tut C#'ta bile olan kalıplar;
İf else yapısı.
Switch case yapısı.
Ama bunlardan önce değişken yapılarını öğrenmelisin.
C#'ta intager (sayısal) değişken varken JavaScript'de yoktur JavaScript'te var diye bir değişken tanımlama kipi vardır içine hem sayısal hem sözel değişken alabilir.
 

Geri
Yukarı