[]
üniversite eğitimini almadan programlama yapmak zor mu?
dün yazılım kursu tavsiyesi istemiştim ve aldığım cevaplarla aklıma böyle bir soru geldi.
işin lisans eğitimini almadan da bu işlerde başarılı olan bir sürü insan var. bu insanlar nasıl öğreniyor? kitaplardan mı, yutup'dan mı veya başka yerler?
işin lisans eğitimini almadan da bu işlerde başarılı olan bir sürü insan var. bu insanlar nasıl öğreniyor? kitaplardan mı, yutup'dan mı veya başka yerler?
ben de geçen benzer bi soru sormuştum. (git: 1162991)şöyle tavsiyeler aldım. belki sana da faydası olur.
www.codecademy.com
www.computerscienceforeveryone.com
htmldog.com
www.w3schools.com
www.codingame.com
www.codecademy.com
www.computerscienceforeveryone.com
htmldog.com
www.w3schools.com
www.codingame.com
- miss magara kadini (04.02.17 00:31:30 ~ 00:35:45)
uğraştırıcı derim ama zor diyemem.
ben yazılım mühendisliği okuyorum. okumuyor olsaydım da çok fazla şey değişmezdi diye düşünüyorum.
yorgunluktan ölmek üzere olduğum için şu an açıklayıcı bir cevap yazamıyorum, yarın sabah önceki cevaplarımdan bir liste yapıp bu cevabı düzenleyeceğim.
"bu insanlar nasıl öğreniyor? "
yeterince ısrar edersen öğreniyorsun. tek bir kaynak yok, parça parça topluyorsun. dökümantasyon okumak çok önemli bu arada.
zaten bilgi çok hızlı değiştiği için devamlı olarak öğrenmek zorundasın, belirli bir ritim tutturabilirsen üzerine koya koya ilerliyorsun. epey uğraştırıcı bir iş tabi, ben çok yoruluyorum.
ben yazılım mühendisliği okuyorum. okumuyor olsaydım da çok fazla şey değişmezdi diye düşünüyorum.
yorgunluktan ölmek üzere olduğum için şu an açıklayıcı bir cevap yazamıyorum, yarın sabah önceki cevaplarımdan bir liste yapıp bu cevabı düzenleyeceğim.
"bu insanlar nasıl öğreniyor? "
yeterince ısrar edersen öğreniyorsun. tek bir kaynak yok, parça parça topluyorsun. dökümantasyon okumak çok önemli bu arada.
zaten bilgi çok hızlı değiştiği için devamlı olarak öğrenmek zorundasın, belirli bir ritim tutturabilirsen üzerine koya koya ilerliyorsun. epey uğraştırıcı bir iş tabi, ben çok yoruluyorum.
- hayirsiz (04.02.17 00:37:35 ~ 00:40:12)
teşekkürler hepinize.
aslında dün bu yazılım kursunu bir yakınım için sormuştum ama iş biraz bana döndü sonra. ben de hep ilgiliydim bu konuya ve üniversite sınavına gireceğim yıla denk gelmesi böyle bir sorunun güzel oldu.
daha önce biraz python'a merak salmıştım. istihza vardı, en temelden her şeyi güzelce anlatıyordu. o aralar ilk kez ısınmıştım ama daha sonra okul vs derken bıraktım ve unuttum gitti.
ama şimdi bir sorunun varlığının farkında oldum.
daha önce fikri benden çıkan, birkaç yazılımcı ile ilerleyen, oradan itü çekirdek'e kadar götürdüğümüz bir proje vardı. benim çok bi iş yaptığım söylenemez ama en azından fikirde etkili olmuştum. o zamanlar onlara da sorduğumda bu yolu çok net cevaplar alamamıştım. o günlerden beri çok ilgili oldum bu konuya. ben de python ile başlamak istemiştim işte, tavsiye üzerine.
ilerlememiz gereken yolu bilmiyoruz. gitmek istediğimiz bir ada var ama hangi gemiyle, hangi sulardan, nasıl geçeceğiz bunu bilmiyoruz. elimizde bir harita olsa adaya çoğumuz varacak belki.
yani demem o ki; yazılım öğrenme sürecinin nasıl olacağını bilmiyorum.
şöyle anlatsam belki daha iyi olur;
mesela diyorsunuz ki, ben yazılıma bir giriş yapmak istiyorum. hemen ilk sorular; 'hangi dili öğrenmek istiyorsun, yazılımla ne yapacaksın, blabla..' bunlar soruyu soran kişinin kafasını daha da karıştırıyor.
yahu bir yerden girecek işte adam. zaten sen ona balığı nasıl tutması gerektiğini öğret, di mi? işte balığın nasıl tutulması gerektiğini bilmiyorum kendi adıma.
ilk adımı nasıl atmalı bir insan bu konuda? nereden başlamalı?
anlatabildim mi kendimi bilmiyorum ama, yani kitaplar var mesela. yeterli mi? bu işe başlamak isteyen bir kişi oralardan mı başlamalı? yoksa ecnebi youtube kanalları var, milyon aboneli falan.
umarım anlatabilmişimdir derdimi...
aslında dün bu yazılım kursunu bir yakınım için sormuştum ama iş biraz bana döndü sonra. ben de hep ilgiliydim bu konuya ve üniversite sınavına gireceğim yıla denk gelmesi böyle bir sorunun güzel oldu.
daha önce biraz python'a merak salmıştım. istihza vardı, en temelden her şeyi güzelce anlatıyordu. o aralar ilk kez ısınmıştım ama daha sonra okul vs derken bıraktım ve unuttum gitti.
ama şimdi bir sorunun varlığının farkında oldum.
daha önce fikri benden çıkan, birkaç yazılımcı ile ilerleyen, oradan itü çekirdek'e kadar götürdüğümüz bir proje vardı. benim çok bi iş yaptığım söylenemez ama en azından fikirde etkili olmuştum. o zamanlar onlara da sorduğumda bu yolu çok net cevaplar alamamıştım. o günlerden beri çok ilgili oldum bu konuya. ben de python ile başlamak istemiştim işte, tavsiye üzerine.
ilerlememiz gereken yolu bilmiyoruz. gitmek istediğimiz bir ada var ama hangi gemiyle, hangi sulardan, nasıl geçeceğiz bunu bilmiyoruz. elimizde bir harita olsa adaya çoğumuz varacak belki.
yani demem o ki; yazılım öğrenme sürecinin nasıl olacağını bilmiyorum.
şöyle anlatsam belki daha iyi olur;
mesela diyorsunuz ki, ben yazılıma bir giriş yapmak istiyorum. hemen ilk sorular; 'hangi dili öğrenmek istiyorsun, yazılımla ne yapacaksın, blabla..' bunlar soruyu soran kişinin kafasını daha da karıştırıyor.
yahu bir yerden girecek işte adam. zaten sen ona balığı nasıl tutması gerektiğini öğret, di mi? işte balığın nasıl tutulması gerektiğini bilmiyorum kendi adıma.
ilk adımı nasıl atmalı bir insan bu konuda? nereden başlamalı?
anlatabildim mi kendimi bilmiyorum ama, yani kitaplar var mesela. yeterli mi? bu işe başlamak isteyen bir kişi oralardan mı başlamalı? yoksa ecnebi youtube kanalları var, milyon aboneli falan.
umarım anlatabilmişimdir derdimi...
- tosiba (04.02.17 01:08:16 ~ 01:12:35)
(git: 1147997) daha önce benzer bir duyuruya verdiğim cevabı buraya da yapıştırayım:
eğer programlama zaten yapıyorsanız o zaman bu tarz kurslardan verim alırsınız da programlama işine uzaksanız bence en iyisi oturup kendi kendinize öğrenin.
bütün her şeyi kendi kendine öğrenmiş biri olarak kurslara da gitmişliğim var youtube'dan videolar izlemişliğim de var, kitapların her türlüsüne belki 3-5 bin tl (toplamda) para vermişliğim de var.
bütün bu emek ve para harcamalarım dışında bir tek kitaplara verdiğim paraya üzülmüyorum çünkü hayvan gibi bir kütüphanem de oldu.
şimdi kendi kişisel hikayeme dayalı tavsiyelerimi vereyim. ben işin akademik boyutunu bilmiyorum. bilgisayar bilimleri ya da programlama alanında hiçbir akademik eğitimim yok. dolayısıyla yazacağım şeylerin bir kısmı saçma olabilir. onu da zaten bu alanda akademik eğitim almış insanlar düzeltirler. ben kendi kendine öğrenmiş biri olarak yazayım (damdan düşeni en iyi damdan anlar :) )
birincisi programlamanın temeli algoritma. eğer daha önce algoritmalar ile uğraştıysanız işiniz kolay. daha önce algoritmalar ile uğraşmadıysanız öncelikle algoritma geliştirmeyi, yani aslında problem çözmeyi öğrenmeniz lazım. ve bu da dilden bağımsız bir şey aslına bakarsanız. algoritmayı siz hiç programlama bilmeden de geliştirebilirsiniz.
misal: rastgele verdiğiniz sayıları hazır kütüphaneleri kullanmadan sıralayacak bir algoritma yazın. önce kendiniz düşünün. 1 ,19, 6, 44, 8 gibi 5 tane sayı olsun. bunları bilgisayara nasıl sıralatırsınız bunu düşünün. sonra gidip google'da number sorting algorithms yazın. bakın bakalım bu algoritmalar neler yapıyor. nasıl işliyor.
sonrasında programlama öğrenmek için bir dil seçin. sanırım c# seçmişsiniz bence güzel. güzel çünkü kaynağı, forumları falan bol. muhtemelen sizin takılıp lan bu ne ya diyeceğiniz şey şu ana kadar 54546 farklı forumda 876868 defa sorulmuş ve cevaplanmıştır. seçtiğiniz dilde kaynak önemli.
algoritma kurgulamayı öğrendikten sonra veri yapılarını tanımanız gerekir bence. çünkü yapacağınız işte sürekli integer, char falan kullanmayacaksınız. o kadar güzel veri yapıları var ki ben kitaptan bunları okudukça bazen hassiktir ya ulan bunların ikisi aynı şey neden iki farklı şey gibi anlatmış bu mallar uzun uzun dedikten en fazla 1 hafta sonra mutlaka " ohaaaaa demek bu ufak fark için böyle önemli bir şeymiş ondan iki farklı veri yapısı var lan burada" demişliğim çok oldu. bunları bilmek güzel.
sonra design pattern öğrenmeniz lazım ki google bu konuda inanılmaz güzel siteleri size sunacaktır. ben kitap alıp kitaptan öğrendim ama çok geç öğrendim. bu programlama öğrenme serüvenimde geriye dönüp bir şeyleri değiştirebilecek olsam design pattern'i önceden çalışırdım bu da bana min. 5-6 ay kazandırırdı. bu design pattern dediğim nane de işte program kullanırken yapacağın bazı kod tasaraımlarının daha önceleri binlerce defa birbirinden farklı belki milyonlarca işte karşılaşılıp artık bir pattern haline getirilmesi. ben mesela design pattern'i sallamadığım zaman atıyorum 60 satır kod yazıyordum. sonra bir gün bilgisayar bilimlerinde doktora yapan bir arkadaşım nazikçe beni uyardı (ahahahah mal gibi ne kadar çok kot yazmışsın ya davar mısın 10 satırlık bir iş lan bu ahahahahah ). o anda bir aydınlanma oldu bende. çünkü zaten çok kişinin bildiği yıllar yıllar önce oturup kafa patlattığı ve basit bir çözüm bulduğu bir şeymiş o iş. sonra bütün kod yazma serüvenime ara verip design pattern kitabı alıp bir müddet onunla takılmıştım.
en son olarak da işin en zevkli kısmı olan nesne yönelimli programlamayı öğrenmen gerekiyor. en zevkli kısmı dedim ama bu tabii çok kişisel bir şey. benim için öyleydi. inanılmaz güzel bir şey, sürekli sınıflar tanımlamak, bu sınıflara ait metotlar tanımlamak, bunları organize etmek kod yazmaktan daha zevkli hale geldi bana. bilmiyorum belki de benim mallığım.
en sonunda da dilin kullanılışını öğrenmen gerekiyor. yani üç aşağı beş yukarı diller benzer geliyor bana aslında. c# ile başlamıştım ben mesela. sonra oturup biraz java öğreneyim derken baştan sonra bütün öğrenme aşamalarını yeniden tekrarlamıyorsun. sadece şu son aşamayı yani dili öğrenmeyi tekrarlıyorsun oluyor bitiyor.
tabii bütün bunlar için bir proje kurarsanız kafanızda sizin için iyi olur. çünkü öyle merak edip, bir şeyleri gerçekleştirmeye çalışmadan öğrenme motivasyonunuz çok çabuk gidecektir emin olun. çok çok büyük ve karmaşık bir proje olmasın bu. misal veritabanı programlama da öğrenecekseniz, bilgisayarınızda çalışacak bir kişi veritabanı oluşturmaya çalışın bütün bu programlama öğrenme sürecinizde. bir anda bütün fonksiyonları ve arayüz tasarımını halledemeyeceksiniz elbette ama parça parça birleşecek. programın özellikleri sizin hayal gücünüze bağlı. tamamen sallama isimler haydedin programa. tc kimlik numaraları, maaşları, ne bileyim boyları, kiloları, doğduğu şehirleri filan olsun. ya da ne isterseniz. fotoğraflarını kaydedin. sonra bu programı kullanarak belirli özellliklerde insanları bulan, bütün kayıtları belirli özelliklere göre artan ya da azalan sırada sıralayan bir program yazmaya çalışın. ya da buna benzer bir hedef kurgulayın kafanızda.
benim öğrenme tecrübelerim üç aşağı beş yukarı bu oldu. kurslara verdiğim para kesinlikle boşa gitti. yani kurstaki eğitmenler kötü falan değildi yanlış anlaşılmasın. ama bir yaratıclığı yok kursun. bütün kurs boyunca adamın biri sana bir şey diyor onu yapıyorsun. sen kukla gibisin. öğrenme bence böyle olmamalı. öğrenmede yaratıcılık sonsuz olmalı. herkes aynı şeyi yaparak öğrenemez. o yüzden yüzlerce site var size en çok uyanı seçip öğrenin. size en güzel gelen programlama videolarını öğrenin. bir de bu iş inanılmaz derecede zevkli bir iş. saçma sapan kasıntı heriflerin gelip sizden bu zevki almasına izin vermeyin. 1 şey öğrendikçe öğrenecek 100 şey daha açılıyor önünüzde ve böyle böyle sonsuza kadar gidiyor.
eğer programlama zaten yapıyorsanız o zaman bu tarz kurslardan verim alırsınız da programlama işine uzaksanız bence en iyisi oturup kendi kendinize öğrenin.
bütün her şeyi kendi kendine öğrenmiş biri olarak kurslara da gitmişliğim var youtube'dan videolar izlemişliğim de var, kitapların her türlüsüne belki 3-5 bin tl (toplamda) para vermişliğim de var.
bütün bu emek ve para harcamalarım dışında bir tek kitaplara verdiğim paraya üzülmüyorum çünkü hayvan gibi bir kütüphanem de oldu.
şimdi kendi kişisel hikayeme dayalı tavsiyelerimi vereyim. ben işin akademik boyutunu bilmiyorum. bilgisayar bilimleri ya da programlama alanında hiçbir akademik eğitimim yok. dolayısıyla yazacağım şeylerin bir kısmı saçma olabilir. onu da zaten bu alanda akademik eğitim almış insanlar düzeltirler. ben kendi kendine öğrenmiş biri olarak yazayım (damdan düşeni en iyi damdan anlar :) )
birincisi programlamanın temeli algoritma. eğer daha önce algoritmalar ile uğraştıysanız işiniz kolay. daha önce algoritmalar ile uğraşmadıysanız öncelikle algoritma geliştirmeyi, yani aslında problem çözmeyi öğrenmeniz lazım. ve bu da dilden bağımsız bir şey aslına bakarsanız. algoritmayı siz hiç programlama bilmeden de geliştirebilirsiniz.
misal: rastgele verdiğiniz sayıları hazır kütüphaneleri kullanmadan sıralayacak bir algoritma yazın. önce kendiniz düşünün. 1 ,19, 6, 44, 8 gibi 5 tane sayı olsun. bunları bilgisayara nasıl sıralatırsınız bunu düşünün. sonra gidip google'da number sorting algorithms yazın. bakın bakalım bu algoritmalar neler yapıyor. nasıl işliyor.
sonrasında programlama öğrenmek için bir dil seçin. sanırım c# seçmişsiniz bence güzel. güzel çünkü kaynağı, forumları falan bol. muhtemelen sizin takılıp lan bu ne ya diyeceğiniz şey şu ana kadar 54546 farklı forumda 876868 defa sorulmuş ve cevaplanmıştır. seçtiğiniz dilde kaynak önemli.
algoritma kurgulamayı öğrendikten sonra veri yapılarını tanımanız gerekir bence. çünkü yapacağınız işte sürekli integer, char falan kullanmayacaksınız. o kadar güzel veri yapıları var ki ben kitaptan bunları okudukça bazen hassiktir ya ulan bunların ikisi aynı şey neden iki farklı şey gibi anlatmış bu mallar uzun uzun dedikten en fazla 1 hafta sonra mutlaka " ohaaaaa demek bu ufak fark için böyle önemli bir şeymiş ondan iki farklı veri yapısı var lan burada" demişliğim çok oldu. bunları bilmek güzel.
sonra design pattern öğrenmeniz lazım ki google bu konuda inanılmaz güzel siteleri size sunacaktır. ben kitap alıp kitaptan öğrendim ama çok geç öğrendim. bu programlama öğrenme serüvenimde geriye dönüp bir şeyleri değiştirebilecek olsam design pattern'i önceden çalışırdım bu da bana min. 5-6 ay kazandırırdı. bu design pattern dediğim nane de işte program kullanırken yapacağın bazı kod tasaraımlarının daha önceleri binlerce defa birbirinden farklı belki milyonlarca işte karşılaşılıp artık bir pattern haline getirilmesi. ben mesela design pattern'i sallamadığım zaman atıyorum 60 satır kod yazıyordum. sonra bir gün bilgisayar bilimlerinde doktora yapan bir arkadaşım nazikçe beni uyardı (ahahahah mal gibi ne kadar çok kot yazmışsın ya davar mısın 10 satırlık bir iş lan bu ahahahahah ). o anda bir aydınlanma oldu bende. çünkü zaten çok kişinin bildiği yıllar yıllar önce oturup kafa patlattığı ve basit bir çözüm bulduğu bir şeymiş o iş. sonra bütün kod yazma serüvenime ara verip design pattern kitabı alıp bir müddet onunla takılmıştım.
en son olarak da işin en zevkli kısmı olan nesne yönelimli programlamayı öğrenmen gerekiyor. en zevkli kısmı dedim ama bu tabii çok kişisel bir şey. benim için öyleydi. inanılmaz güzel bir şey, sürekli sınıflar tanımlamak, bu sınıflara ait metotlar tanımlamak, bunları organize etmek kod yazmaktan daha zevkli hale geldi bana. bilmiyorum belki de benim mallığım.
en sonunda da dilin kullanılışını öğrenmen gerekiyor. yani üç aşağı beş yukarı diller benzer geliyor bana aslında. c# ile başlamıştım ben mesela. sonra oturup biraz java öğreneyim derken baştan sonra bütün öğrenme aşamalarını yeniden tekrarlamıyorsun. sadece şu son aşamayı yani dili öğrenmeyi tekrarlıyorsun oluyor bitiyor.
tabii bütün bunlar için bir proje kurarsanız kafanızda sizin için iyi olur. çünkü öyle merak edip, bir şeyleri gerçekleştirmeye çalışmadan öğrenme motivasyonunuz çok çabuk gidecektir emin olun. çok çok büyük ve karmaşık bir proje olmasın bu. misal veritabanı programlama da öğrenecekseniz, bilgisayarınızda çalışacak bir kişi veritabanı oluşturmaya çalışın bütün bu programlama öğrenme sürecinizde. bir anda bütün fonksiyonları ve arayüz tasarımını halledemeyeceksiniz elbette ama parça parça birleşecek. programın özellikleri sizin hayal gücünüze bağlı. tamamen sallama isimler haydedin programa. tc kimlik numaraları, maaşları, ne bileyim boyları, kiloları, doğduğu şehirleri filan olsun. ya da ne isterseniz. fotoğraflarını kaydedin. sonra bu programı kullanarak belirli özellliklerde insanları bulan, bütün kayıtları belirli özelliklere göre artan ya da azalan sırada sıralayan bir program yazmaya çalışın. ya da buna benzer bir hedef kurgulayın kafanızda.
benim öğrenme tecrübelerim üç aşağı beş yukarı bu oldu. kurslara verdiğim para kesinlikle boşa gitti. yani kurstaki eğitmenler kötü falan değildi yanlış anlaşılmasın. ama bir yaratıclığı yok kursun. bütün kurs boyunca adamın biri sana bir şey diyor onu yapıyorsun. sen kukla gibisin. öğrenme bence böyle olmamalı. öğrenmede yaratıcılık sonsuz olmalı. herkes aynı şeyi yaparak öğrenemez. o yüzden yüzlerce site var size en çok uyanı seçip öğrenin. size en güzel gelen programlama videolarını öğrenin. bir de bu iş inanılmaz derecede zevkli bir iş. saçma sapan kasıntı heriflerin gelip sizden bu zevki almasına izin vermeyin. 1 şey öğrendikçe öğrenecek 100 şey daha açılıyor önünüzde ve böyle böyle sonsuza kadar gidiyor.
- levpontryagin (04.02.17 01:14:39)
Ben de senin gibi merakli ve alakasiz bir bolumden mezun biriyim. Hep icimde ukte kaldi yazilim okuyamamak. Dusuncesi bile guzel benim icin. Ben de cok kereler sordum, arastirdim, nasil ogrenirim diye vs. En sonunda basladim. Python ogreniyorum suan. En iyisi bu diye dusunuyorum. Ogrenmesi kolay deniliyor diger dillere gore. Acayip de bir kaynak buldum www.istihza.com bilale anlatir gibi. Dilersen basla. Benimki hobi, kendimce biseyler yapabilecek duzeye geleyim, bir seyler ortaya cikarabileyim yeter :)
- veritaslibertas (04.02.17 02:13:04)
1