| Sektörün içinden direkt bilgi vereyim. Javascript öğrenin. Udemy ve youtube da binlerce Türkçe İngilizce kurs var. Yanına da c#,java veya python öğrenebilirsiniz. ... |
|
Sektörün içinden direkt bilgi vereyim. Javascript öğrenin. Udemy ve youtube da binlerce Türkçe İngilizce kurs var. Yanına da c#,java veya python öğrenebilirsiniz. Eğer ki hevesiniz yoksa bilgisayar mühendisliği yazmayın. Hele ki yazılımcılar çok iyi kazanıyor abiiiii kafasındasınız hiç yazmayın. Yazılım işi heves ve merak olmadan işkence gibi gelir. |
| Sağ olun hocam güzel tavsiyeler. Sorum şu olacak basit sanırım sorum ama yeni başlıyorum ben. Python ile neler kodlanabilir ? |
|
| Güzel konu up |
| Python ile kodlanamayacak şey yok aslında. Arkadaşın dediği gibi inanılmaz bir library desteği var. Machine Learning alanında çok fazla kullanılıyor, bu yüz tanımalar felan hep Python temelli. |
| Rez aldim tercihler belli olsun |
| Bir dilin veri yapılarını,döngülerini,fonksiyon yazma gibi temel konuları öğrendikten sonra sürekli hackerrank.com codewars.com gibi sitelerde algoritma yazmanızı öneririm. Daha sonra ise ileri seviye konulara OOP,multithreading,GUI gibi alanları halledebilirsiniz. Ancak daha sonra bir alan seçip o alanın programlama dilini seçip uzmanlaşmak önemli. Örneğin mobil uygulamalar için java/kotlin/swift ya da tek bir dilde yazıp tüm cihazlarda kullanmak için flutter/react native(javascript) gibi dillerden birini öğrenebilirsiz. Öte yandan veri bilimi ve yapay zeka için python şu an standart dil durumunda. Eğer benim gibi gömülü sistemler alanına yönelmeyi planlıyorsanız embedded c dilini öğrenmeniz lazım. |
up faydalı çoğunu kullanmaktayım![]() özellikle py3 ile verileri işleme konusunda kendimi geliştirmekteyim |
|
Bence kod öğrenmedeki en büyük problem bu işi kendi başına yapmaya çalışırken soyut konseptleri nasıl uygulamaya koyacağını o konseptin neyi çözdüğünü tam olarak kavrayamamaktan geliyor. Konu sahibinin de yazdığı gibi uygulama (ödev, proje vs.) yapmak çok önemli. Bu yüzden sadece dinlemeyeceğininz aktif olarak bir şeyler yazacağınız bir yol izlemeye çalışın. Bu noktada bir de site tavsiyesi yapayım. hyperskill.org site jetbrains'in ve erken erişim aşamasında o yüzden şuan üye olduğunuzda yılbaşına kadar ücretsiz kullanabiliyorsunuz. kodlamayı projeler yaparak öğretmeyi amaçlıyor. şu an java, python, kotlin ve frontend trackleri var. |
| Project Euler çok farklı bir kafa cidden, bazı problemlerini çözen insan sayısının çift haneli olması bile olayı açıklıyor. Benim de zaten önerdiğim siteler arasında var, kodlama yeteneklerinden çok problem çözme yeteneklerine inanılmaz bir etkisi oluyor. |
|
|
Belli bir temelim var: - Codewars üzerinden 2-3-4 kyu zorluklarında problemleri çözdüm javascript ile. - CS50'nin C ile ilgili kısmını tamamen bitirdim tüm ödevleri ekstra yardımsız kodlayarak. (Daha fazla devam etmeyeceğim çünkü bana en etli güzel kısmı C dersleri gibi geldi zaten) Bundan sonra ne yapsam, bunu düşünüyorum. Bu sene %99 hazırlık atlayıp Bilkent'te bölüme başlayacağım için fazla zamanım da yok aslında. "PY4E (Python for Everyone)" ve MIT'nin "The Missing Semester of Your CS Education" derslerini bitirsem mi diye düşünüyordum. İlki python'ın kapsamı çok geniş olduğu için bilmekte fayda var hem kolay olduğu söyleniyor diye. İkincisi de böyle ıvır zıvır diye atlanan şeyler işe yarar mutlaka diye. Acaba bu ikisine göz atsam mı diye düşünüyorum ama bir yandan PY4E artık seviyemin altında kalıyor da olabilir. Yani birikimim var ama aman aman sağlam hissetmiyorum kendimi. Github'da bir repo'ya girip ne yazmışlar diye bakınca anlamadığım oluyor bolca. Belli algoritma sorularını çözebilecek bir seviyedeyim sadece, ötesi yok. Teorik olarak da eksiğim mesela, cs50 ile en azından hashtable ödeviyle data structures deneyimi edindim ucundan en azından. < Resime gitmek için tıklayın > |
|
|
Galiba haklısınız hocam PY4E'yi sallasam daha iyi. MIT kursunu sırf elimdeki araçlar çoğalsın diye merak ediyorum, takım çantasına tornavida pense vs. eklemek misali. Codewars'tan çözebileceğim zor problemleri çözdüm ama artık çözemediklerim kaldı :(. Herhalde ünide teorik ders gördükçe ufkum açılır çözerim diye düşündüm ama belki yanılıyorumdur, uğraşmam gerekiyordur belki de. https://www.codewars.com/users/Ved DNA probleminde istenenlere baktım, aslında hoşmuş aklımda nasıl bir algoritma yazabileceğim canlandı biraz. Zaten cs50'den önce codewars deneyimim olduğu için ödevler zorlamamıştı ama yeni başlayan için kabus olurdu. Benim aslında cs50'nin python kısmını silme sebebim 1.5 saatte bitmesi, yani dili yeterince derin öğrenemem diye düşündüm. Belki de yanlış düşünüyorum ama. Şu an belli bir temeli olan birine öğretmeyi amaçlayan bir python kursu bulmam lazım galiba. (Track'leri de aslında python ile aynı sebepten atlamıştım, Malan hocamız öğretmiyor ve o alanlarda gelişmek istesem daha özelleşmiş kurslar bulurum diye...) |
| Ben de konu anlatımı için freecodecamp ve praktik için hackerrank'i öneririm.Sadece bilgisayar mühendisliği değil tüm mühendislik okuyanlar öğrenmeye başlamasın kodlamayı,ve dersle öğretiyorlar zaten aw deyip öğrenmemezlik yapmayın kodlama derste öğrenilemiyor(en azından devlet üniversitesinde okuyanlar için). |
|
|
hackerrank.com leetcode.com |
|
Doğru diyorsunuz hocam. Bu saatten sonra videolu kaynakların neredeyse hepsi en baştan if/for/while/vs. öğretmeye çalışacak zaten. Galiba farkında olmadan bu seviyeden terfi edip kendim uğraşacağım seviyeye gelmişim, bunu düşünerek yol çizmeye çalışayım artık. Sadece aklımda bir şey var. Dilleri daha pratik kullanabilecek şekilde öğrenebilmek isterim doğrusu. Mesela automatetheboringstuff.com'daki gibi pratik günlük işlemler nasıl yapılır, bu konuda eksiğim var. Web scraping mesela iyi bir örnek. Siz o siteyi deneyimlemiş miydiniz, o da mı gereksiz kaçar? |
Birkaç arkadaşla bu konu hakkında konuşunca bir şeyler yazmak istedim. Bilgisayar Mühendisliği okuyacaklar veya bu konuda şu an tek başına önden birkaç adım atıp gelecekte göreceklerini daha iyi kavramak isteyenler için önemli bir konu.
Sabancı'da okuyorum ve yüksek ihtimal CS okuyacağım. Bu sene hazırlık olduğundan ve çok fazla boş zamanım olduğundan tam 1 yıl önce bu günlerde programlamaya başladım. Bu konular hakkında çok fazla okuyup eden birisiydim, bu yüzden nasıl başlamam gerektiği konusunda da çok fazla okudum. Şu an daha lisans hayatıma başlamadan iyi seviyede kod yazan ve iyi seviyede kod okuyan biriyim ve hala bu konuda kurslar almaya devam ediyorum. İnternetteki CS kurslarının birçoğunu denedim şimdi bunlar hakkında konuşacağım.
Dil Konusu
Bana göre bu sorunun belirli bir cevabı yok. Aslında kursları almaya başladığımda amacım bir CS altyapısı yapmaktı. O zamanlar algoritma mantığını ve problem çözme yeteneklerimi geliştirmeye çalıştım. C ve C++ ile programlamaya başlatan bir sürü kurslar var. Ama o zaman 0 olduğumdan C ve C++'ya açık söylemek gerekirse girmek istemedim. C ve C++ programlama dilleri syntax açısından zordur. İlk başlayan birisi için bence çok kompleks olabilir. Burada devreye Python giriyor. Python ciddi anlamda yazılı dile en yakın kodlama dili. Algoritma mantığını da çok güzel oturtan bir dil. Python için aldığım kurs Coursera'dan "Programming For Everybody Getting Started with Python" oldu. Kursa bu linkten ulaşabilirsin. Bu ders bence en güzel başlangıç derslerinden biri. Financial Aid yani burs başvurusu için seçenekler var eğer buna başvurursanız 15 gün içinde dönüyorlar ve eğer düzgün bir burs başvurusu yaptıysanız yüzde 90 kabul edilir. Eğer ücretsiz ilerlemek isterseniz sadece videoları izleyebiliyorsunuz. Ancak programlamada bir şeyleri izlemekten çok kendiniz yapmanız önemli. Burs alırsanız ödevlerine erişebiliyorsunuz ve asıl önemli olan kısım burası. Bu yüzden bursu almanızı tavsiye ederim.
Bu kursun Data Structures altında bir devam kursu var. Ben hemen bu kurstan sonra o kursu aldım. O da uygulama odaklı bir kurs. Aslında baktığınız zaman iki kurs da belirli derecede temel oluşturmak için üretilmiş başlangıç kursları. Syntax yani dilin yapısını ezberletmekten çok örneğin if else nedir ne işe yarar for döngüsü nedir ne yapar böyle şeylere eğiliyor. Bu sayede siz if else nedir ne yapar öğreniyorsunuz ve bundan sonra Python'dan hangi dile geçerseniz geçin ne işe yaradığını bildiğinizden kolayca o dilin şartlarına hemen alışabiliyorsunuz.
Bu iki kursu yaklaşık 2 içinde bitirdim. O zaman hazırlıkta olduğumdan İngilizce'ye de fazlaca vakit ayırıyordum aslında bence ikisi o kadar da uzun süren kurslar değil ciddi anlamda kendinizi verirseniz 1 ay sürecektir. Bu arada yanlış anlaşılmayayım bu kurslar kesinlikle zaruri değil programlama için. İnternette milyonlarca kurs var başlangıç için. Ama ben bu ikiliyi seçmiştim ve bana güzel bir temel oturttular, ve o temelle üzerine koyduğum hiçbir şeyde zorlanmadım.
Bu iki kurstan sonra asıl babaya gelelim. CS50
CS50 için programlama kurslarının babası demek yanlış olmayacaktır bence. En azından 12-13 yıllık eğitim hayatımda gördüğüm açık ara en kaliteli eğitim içeriği olduğunu söyleyebilirim. Bu kurs aslında Introduction To Computer Science diye geçse de öyle olmadığını söylemek gerek. Benim geçen yıl uzun süreli yaptığım planda CS50 bir temel sonrası alınacak kurstu. CS50 10 hafta süren uzun bir kurs. Ve bildiğimiz Harvard'daki Introduction to Computer Science kursu aslında. Mükemmel bir ders olduğunu söylemek lazım. C ile başlıyor, Python, SQL, Javascript gibi ayrı ayrı programlama dillerine eğiliyor. Ben bu kursa başlarken iyi bir Python temelim vardı çünkü ödevleri çok detaylı yapıyordum. Ama bu kurs ciddi anlamda zor. Ödevleri inanılmaz başarılı ve ciddi anlamda iyi bir topluluğu var. Ödevlerde zorlandığınız zaman size yardım eden mutlaka birileri oluyor. Programlamaya başlamak için uygun bir kurs olduğunu düşünmüyorum. Eğer bu kursla başlarsanız hevesiniz kaçabilir. Ama işte en azından yukarıdaki bir temel sonrası böyle bir kurs alınca gerçek anlamda çok iyi bir seviyeye geliyorsunuz. Derste bahsedilen şeylerin kapsamı çok geniş bir introduction kursu olmasına rağmen çok ileri konulara değindiği ve ödevlerinde bunu istediği oluyor. CS50 yeni başlayanların bir Python veya Algoritma temeli sonrası kesinlikle bakmasını önerdiğim bir kurs. CS50 Coursera'daki kursun aksine burs gerektirmeden direk tüm materyallerine ücretsiz erişebileceğiniz bir kurs. Türkçe versiyonu da yenilerde çıktı hatta bugün bir arkadaş linkini atmış. Bu konuya az sonra değineceğim.
CS50 beni cidden yıprattı ama bittikten sonra ciddi anlamda iyi bir seviyeye geldiğimi hissettim ve Data Science hakkında çalışmaya karar verdim. Github Student Pack diye bir olay var, hala veriyor mu bilmiyorum, o zaman 3 aylık Datacamp üyeliği veriyordu. Ve Data Science serüvenine atılıp. Sayısını bilmeyeceğim kadar kurs bitirip bu alanda çalıştım. Bu Data Science sürecinin sonunda Machine Learning'e atlamaya çalıştım ancak Machine Learning beklediğim gibi çıkmadı (teorik anlamda ileri seviye istatistik ve linear cebir bilmeniz gerekiyor bu alanlar için şu an onlara girmek istemediğimden biraz Machine Learning konusunu kenara ittim, teorik Matematik ve teorik CS'i yalayıp yutmanız gerekiyor bu kısımlar için.) Şu an hala Python - Data Science arasında takılıyorum.
Programlamada Türkçe başlanılabilir mi?
Bence bu iş için İngilizce elzem. Programlamada Türkçe dersler var evet ama bunların yukarıda saydığım derslerin yarısı kadar bile başarılı olduğunu düşünmüyorum açıkçası. Programlamada kendi başına bir şeyler yapmak çok önemli. Kendi başınıza bir şeyler yapmaya başladığınız an araştırmaya başlıyorsunuz, bir kod yazıyorsunuz hatayı araştırıyorsunuz tekrar tekrar. Stackoverflow, Reddit gibi platformların hepsi İngilizce zaten. Kaynaklar da İngilizce. Günün sonunda bu işte bir şekilde İngilizce'ye muhtaç oluyorsunuz yani. Yukarıda attığım derslerin çok büyük bir kitlesi olduğundan İngilizce seviyeleri çok anlaşılabilir, temiz konuşuluyor. İngilizcenizi de geliştirir sizin için daha yararlı olur.
Bahsettiğin şeyler için linkler.
Coursera Python Kursları
CS50x İngilizce
Kod egzersizi için siteler.
Okuduğunuz için teşekkür ederim. Bu başlık altında sohbet edebiliriz sorularınız varsa.
< Bu mesaj bu kişi tarafından değiştirildi Gravitist -- 15 Ağustos 2020; 18:2:18 >