Bilkent CS Hayatta Kalma Rehberi 1/4
Selamlar,
Ben Emre Tolga Ayan. Bilkent Üniversitesi Bilgisayar Mühendisliği’nde an itibarı ile üçüncü senemi bitirdim ve şu ana kadar edindiğim ders tecrübelerini yeni gelen arkadaşlara yardım etmek amacıyla paylaşmak istedim. Mühendislik zaten zor bir branşken Bilkent’te mühendislik okumak tam anlamıyla bir hayatta kalma mücadelesine dönüşebiliyor. Bu mücadelede birkaç insana yardım edebilirsem ne mutlu bana :)
Bu yazıda aldığım mandatory ve elective kurslardan bahsedecek, derslerin içeriklerini anlatacak, keşke daha erken bulabilseydim dediğim kaynakları paylaşacak ve dersler hakkında nacizane yorumlarımı ve tavsiyelerimi paylaşacağım.
Hazırlık okumadığım için hazırlık dönemine dair herhangi bir bilgi paylaşmayacağım.
Lafı uzatmadan regular bir öğrencinin varsayılan olarak sahip olduğu dönem derslerine göre adım adım değerlendirelim.
Bazı genel tavsiyeler
- Ders için hoca seçmeniz gerekiyorsa merak ettiğiniz hocaları ekşi sözlükte aratın. Eğer çok seviliyorlarsa ya da hiç sevilmiyorlarsa kesinlikle haklarında bir şeyler öğrenirsiniz. Ayrıca bilkent offerings’ten hocaların verdiği bütün geçmiş dersleri, bu derslerde öğrencilerin ders hakkında ve hoca hakkında yaptığı sene sonu yorumları ve hocalara verilen puanları görebilirsiniz. Bakmanız şiddetle tavsiye edilir.
1. Sene 1. Dönem
Bu dönem ilk kez bölümünüzle tanışacak, ilk kez kod yazacak, temel düzeyde java ve programlama altyapısı edineceksiniz. Ayrıca, üniversite hayatınız boyunca ihtiyacınız olan matematik altyapısını bu dönemde calculus dersiyle oluşturmaya başlayacaksınız.
Bu dönem üniversite hayatınızın en kolay dönemi olacak. Bu yüzden bunu değerlendimeli ve yapabildiğiniz en yüksek ortalamayı yapmalısınız. Çünkü genellikle ileriki senelerdeki derslerde yüksek ortalama yapmak bu dönemki dersler kadar kolay olmayacak. Bu yüzden birinci sınıfta yapacağınız yüksek bir ortalamanın ekmeğini çok yiyeceksiniz. Özellikle 2. ve 3. sınıfın sonunda staj ararken 3 üstü ortalama isteyen şirketler olacak, ve bu kriteri sağlamanızı belki de birinci sınıfta yapacağınız yüksek ortalama sağlayacak (Sonraki dönemler gerçekten zor, demedi demeyin). Bu sebeple üniversitenin tadını çıkarırken dersleri ihmal etmemeye çalışın.
Hadi şimdi bu dönemde alınan dersleri inceleyelim.
GE 100: Orientation
GE 100 Bilkent’e yeni gelmiş her öğrencinin katıldığı bir üniversiteye alıştırma programıdır. Bir hafta sürer ve farklı etkinliklere katılmanız beklenir. Katıldığınız etkinlikler sonucu bir puan toplarsınız ve ders notunuz bu topladığınız puanlara göre belirlenir. Kredili bir derstir, yani not ortalamanızı etkiler. Bilkent’te belki de A alabileceğiniz sayılı derslerdendir, üstelik sadece birkaç etkinliğe katılmanız beklenir. Etkinliklerin hepsine katılmayı ve A için gereken puanı toplamayı sakın ihmal etmeyin, çünkü sene sonunda ortalamanızı biraz daha yükselttiğini görüp mutlu olacaksınız.
GE 100 öncesi size seçebileceğiniz farklı etkinlik programları sunarlar ve birini seçmenizi isterler. Programların içeriği genel olarak aynı olsa da bazı farklılıklar vardır. Bilkent Senfoni Orkestrası’nın verdiği konseri içeren bir program seçmenizi tavsiye ederim. Fakat programınızı seçerken olabildiğince erken seçmelisiniz, yoksa daha çekici programların kotası dolacağı için kendinizi sigara ile ilgili bir konferans dinlerken bulabilirsiniz :)
CS 101: Algorithms and Programming I
CS 101 ilk kez programlama ile tanışacağınız derstir. Derste öğrencilerin programlamaya dair hiçbir bilgisi olmadığı düşünülerek en temel konulardan başlanılır. Derste Java öğretilir ama amaç kesinlikle Java öğretmek değildir. Asıl amaç öğrencileri programlama konseptine, algoritmik düşünce tarzına alıştırmak ve temel problem çözme becerileri kazandırmaktır. Java, hem nesne tabanlı bir programlama dili olması hem de öğrenmesi benzeri dillerden daha kolay olduğu için (bkz. C, C++) başlamak için güzel bir dildir.
Bu derse yaklaşımınız kesinlikle java öğreniyorum değil, programlamanın, yazılımcılığın ne olduğunu öğreniyorum olmalıdır. Şahsi görüşüm, zaten üniversite hayatınız boyunca hiçbir şeyi adam akıllı öğrenmeyeceksiniz (Tecrübeyle sabittir :) ) Çünkü teknoloji geçicidir, değişir; fakat kavramlar ve yöntemler sabittir. Bilkent’te de derslerin amacının öğrencilere ihtiyaçları olacak temel kavramları öğretmek, tecrübe kazandırmak, öğrenmeyi öğretmek ve mesleki bir zihniyet kazandırmak olduğunu düşünüyorum.
Bu ders bittiğinde java bilginiz orta düzey bile olmayacak olsa da programlamayla tanışacak, basit algoritmalar geliştirecek, düzgün kod yazmayı öğrenmek için lablarda acı çekeceksiniz (bkz. ekşi sözlük David Davenport. Kendisi gözlerimin önünde bir öğrenci parantezden önce space koymadığı için 20 puan kırmıştır. Amaç elbette temiz kod yazma alışkanlığı kazandırmak ama bu kadarı da fazla değil mi hocam).
Bu derste yapılabilecek en güzel şey eğer lablar önceden gönderiliyorsa bunları lab dersinden önce çözmektir. Eğer gönderilmiyorsa gitmeden önce kesinlikle alakalı konulara bir bakın derim, ayrıca unutmayın ki lab’lar sonlara doğru zorlaşmaya başlayacak.
Lablarda genellikle bir ya da iki asistan olur ve herkesin notlandırmasını onlar yapar. Bir lab dolusu insanı notlandırdıkları ve kişi başı 5–10dk sürdüğü için eğer labın başında asistanı çağıramazsanız labı bitirmiş olsanız bile iki saat asistanın size gelmesini beklemek zorunda kalabiliyorsunuz. Bu yüzden bitirmiş olarak gidin, asistanı çağırıp gösterin ve boşu boşuna 4 saat kaybetmeyin.
CS 101 curve dersidir, fakat genellikle curve bir sonraki dönemlerde alacağınız derslerden yüksek verilir (yani herkes daha yüksek bir harf notu alacak). Bu dersten en kötü B+ almaya bakın, aslında bir kere dersi çözdükten sonra yüksek not almak hiç de zor değildir.
Bazı kaynak önerileri:
- Google :) Java’ya dair aklınıza gelen bütün soruları 5–10 dk içinde bulabilirsiniz. Kitaplarla slaytlarla boğuşmanıza gerek yok. Ha eğer bulamadıysanız o zaman slaytlar da iş görür.
- Head First Java: A Brain-Friendly Guide — Kathy Sierra Bert Bates. Adam gibi java öğrenmek istiyorum diyorsanız bu kitap tam size göre. Bu kitaptan öğreneceğiniz Java’nın seviyesi size derste öğretilen Java ile kıyaslanamaz bile. Keyifli de bir kitaptır.
- Youtube’da thenewboston diye bir kanal var. Şahsen tutorial’larının çok başarılı olduğunu düşünüyorum. Videoları biraz eski kalmaya başladı fakat bence hala gideri var. İnceleyebilirsiniz.
- Kodlama becerinizin yanında algoritma becerinizi geliştirmek isterseniz leetcode, hackerrank gibi sitelerde problem çözebilirsiniz. Haftada bir tane bile çözseniz size çok şey katar. Daha eğlenceli bişey isterseniz codingame.com’a bakın derim.
- Kitabı almak zorunda değilsiniz. İnternetten pdf’sini bulabilirsiniz. Ben bilgisayardan okumak istemiyorum derseniz fotokopi de çektirebilirsiniz ama bence hiç okumayacaksınız.
ENG 101: English and Composition I
Bana göre öyle pek de sevimli bir ders değildir. Akademik makale yazmayı öğretmeyi amaçlamaktadır. Bu sırada bir sürü akademik makale okuyacak, onları inceleyecek ve bir sürü yazı yazacaksınız.
Genellikle haftalık okuma ödevleriniz olacak, bunları okuyabildiğiniz kadar okumalısınız yoksa kendinizi hepsini üç günde okumaya zorlarken bulabilirsiniz. Devamsızlık hakkınız çok sınırlı, bu sebeple sene başında ders kaçırmamaya çalışın, hakkınızı sonraya saklayın.
Bazı kaynak önerileri:
- https://www.citationmachine.net/ Tek tek kaynakça yazmakla uğraşmaktansa makalenizi ya da bir web sitesini bu site üzerinden istediğiniz formatta cite edebilirsiniz. Tabi cite ederken amaç kaynakça oluşturmayı öğrenmek ve bu web sitesi bunun tam aksini yaparak öğrenmeden oluşturmanıza sebep oluyor.. (but who cares)
MATH 101: Calculus I
Çok çok, çok önemli bir derstir. Lisedeki limit türev integralin sıfırdan üniversite ayarında öğretildiği bir derstir (sıfırdan dediğime bakmayın, kolay bir ders değildir). Mezun olana kadar türev integral ile uğraşmayacağınız tek bir dönem bile olmayacak, ve daha zor matematiksel konseptlerle uğraşırken türev integral kurallarını hatırlamamanız size ekstra yük oluşturacak. Sonraki senelerdeki derslerde calculus altyapınız olduğu varsayılacak, ve o günlerde ekstra acı çekmemek için şimdiden öğrenebildiğiniz kadar öğrenmeniz işinize yarayacak.
Bu ders disiplinli ve haftalık çalışma ister. Düzenli çalışmadığınız takdirde sınav haftasına geldiğinizde halledemeyeceğiniz kadar çok konu birikir, ve Bilkent’te asla değişmeyen bir gerçek şu ki sanki hocalar gizlice anlaşmış gibi hepsi aynı haftaya birsürü ödev verir, proje deadline’ı koyar, sınav koyar ve siz bu kadar yükün altında o birikmiş konuları halledemezsiniz. Sonuçta bütün bu ödevler, sınavlar yarım yamalak geçer. Bu yüzden baştan sıkı tutmaya bakın.
Çalışırken en güzel kaynak dersin kitabı olacak, ilk haftadan alabilirsiniz. Kitabı düzenli okursanız çok faydalı olacaktır. bölüm sonundaki soruları çözmek güzel pratik sağlar fakat hepsini tek tek çözmeye kalkmayın, bitiremezsiniz.
Derste haftalık ödevler verilir, bu ödevler aynı zamanda konuyu öğrenmek için de harika araçlardır. Bu ödevleri olabildiğince tam yapmaya çalışın. Eğer bütün ödevleri düzgün çözerseniz midterm haftasına geldiğinizde bütün konulara bir aşinalığınız çoktan oluşmuş olur ve çok daha rahat çalışabilirsiniz. Derste not almaya çalışın, midterm haftası işinize yarar.
Eğer kitap yetersiz, hocanın anlattığından da anlamıyorsanız unutmayın ki youtube’da harika kaynaklar var, biraz araştırmayla çok güzel videolar bulabilirsiniz.
Seveni de sevmeyeni de çok olsa da Okan TEKMAN hocamızdan alabilirsiniz. Kendisinin bazen zor bir insan olsa da harika bir hocadır, ve dersle ilgili bir sorunuz için gerekirse size bütün öğle arası açıklama yapabilir, öğretmeyi sever ve bu işte çok iyidir. Sadece sevmediği şeyleri yapmamalısınız (örneğin başını masaya koymak, sağa sola bakmak, hocayı dinlememek, defteri kendine yelpaze yapmak, yanındakine fısıldamak, nefes almak vs.. Sınıfa geç gelmek ya da derste telefona bakmak gibi şeylerin zaten idam sebebi olduğunu şimdiye anlamış olmanız lazım).
Bazı kaynak önerileri:
- Ders kitabı. Gerçekten çalışabilecek en güzel araç.
- Khan Academy Calculus Videoları
- Ödevlerin verildiği platformda harika çalışma araçları var, bunları çözebilirsiniz.
MBG 110: Introduction to Modern Biology
Her Bilkent CS öğrencisinin bir kere sorduğu soru, neden moleküler biyoloji dersi alıyoruz? Biz de bilmiyoruz :)
Bölümlerin akreditasyona sahip olabilmesi için belirli koşulları sağlaması gerekiyormuş ve bunu sağlamak amacıyla CS programına konulmuş (bize böyle açıkladılar).
Zor bir ders değildir, lise biyolojisindeki hücre, molekül vs. konularının üniversite ayarında anlatıldığı bir ders. Kitabı kesinlikle alın, korsan da alabilirsiniz. Kitabı okuyarak çalışın. Alabiliyorsanız not alın. Düzgün çalışırsanız zor bir ders değildir, yüksek not alabilirsiniz.
Benim için keyifli bir dersti. Erdem Erikçi gibi tatlı bir insandan almıştım, dersleri keyifle dinlerdim.
Ben bu dersi alırken bir sayfa cheatsheet hazırlamamıza izin veriliyordu. Eğer size de verilirse şimdiden söyleyeyim, o cheatsheet hiçbir işe yaramayacak :)
Bazı kaynak önerileri:
- Ders kitabı. Sadece ders kitabına düzgün çalışarak yüksek bir not alabilmiştim.
TURK 101: Turkish I
Öğrencileri kitap okumaya teşvik etmeyi ve öğrencilerin yazı becerilerini geliştirmeyi amaçlar. Yanlış hatırlamıyorsam dönem boyunca dört yazı yazmanız beklenir. Ben alırken iki tanesi kesinlikle ilk basımı son iki yıl içerisinde yapılmış bir kitaptan olmalıydı, diğer ikisi ise tamamen serbestti (Hatta birisi baklava yemekten aldığı zevk hakkında yazmıştı. Gerçekten en az 500 kelime yazmıştı çocuk). Eğer kitap okacaksanız bu kitapları zorunlu okumalara kullanın, çünkü serbest yazıları bir fotoğraf, film hatta bir şarkı hakkında bile yazabilirsiniz.
Yüksek not almak için “bu kitabın şu şeysi beni benden aldı başka yerlere götürdü, şu şeysi aklımı başımdan aldı aman yarabbi” gibi duygu yoğunluğu yüksek cümleler kullanın. Kendi kendinize deneme yazıyor gibi düşünebilirsiniz. Eğer yazınızı erken bitirirseniz hocanızı office hour’da ziyaret edin ve okumasını isteyin, size verdiği feedback’e göre düzenleyip çok daha yüksek alabilirsiniz.
Bulduğunuz en kısa kitapları okuyabilirsiniz, hatta şiir kitabı bile okuyabilirsiniz ama şiir kitaplarından sonra genellikle o kadar çok kelime yazmak çok zor oluyor (genellikle hakkında konuşacak adam gibi hiçbir şey olmuyor içlerinde).
Bu dersten A alabilirsiniz, sadece yeterince emek vermelisiniz.
Advanced bir tavsiye:
Diyelim bir kitabı okudunuz, ve başka bir kitap okuyacak vaktiniz kalmadı. Fakat gel gör ki kitabın basım tarihine dikkat etmediniz ve bu sebeple geçerli bir kitap değil. Eğer serbest yazı hakkınız da yoksa kitap listesinden pek popüler olmadığını düşündüğünüz rastgele bir kitabı seçin, ve sanki onu okumuş gibi kendi kitabınızı yazın. Eğer hocanız seçtiğiniz kitabı okumadıysa okumuşsunuz gibi puan verecektir :) (Yapıldığını bizzat görmemle birlikte bunu yapan arkadaş 9.5/10 almıştır.)
1. Sene 2. Dönem
Bu dönemde ilk kez ekip olarak bir yazılım projesi geliştirmeye çalışacak, ve üçüncü sınıfa geldiğinizde bakmaktan utanacağınız ilk kodlarınızı yazacaksınız :) Bu dönemde bile gerçek Bilkent CS hala başlamamış olacak. Hala ısınma turlarındasınız. Asıl eğlence bir sonraki senelerde karşınıza çıkacak :)
Bu dönemde de bir sonraki dönemlerde ihtiyacınız olacak temel yazılımcılık kültürüne aşinalık kazanacak ve matematik altyapınız üzerinde çalışacaksınız.
CS 102: Algorithms and Programming II
CS 101 dersinin devamı niteliğinde bir ders. Java ile programlama öğrenmeye kaldığınız yerden devam ediyorsunuz. Labları CS 101'den çok daha zordur, özellikle sonlara doğru çok daha zorlaşır. Ayrıca grup olarak bir proje yapmanız istenir.
CS 101'de olduğu gibi eğer lablar önceden veriliyorsa labdan önce kesinlikle çözmelisiniz.
Bu dersin zor kısmı proje olacak. Proje arkadaşlarınızı dikkatli seçmelisiniz. Dönem sonuna kadar çalışmaktan mutlu olacağınız ve projeyi başkalarına yıkmayacağından emin olduğunuz insanlar bulmaya çalışın. Ben bu dersi alırken projeyi yapmak bir yana dursun bir sürü rapor yazmamız isteniyordu ki sıkıcı olduğu kadar projenin gidişatı için de işe yaramazlardı. Bu raporları geldiği gibi halledip kurtulmayı amaçlayın, raporlarla boşa vakit kaybetmeyin (fakat düzgün yapın ki boşa puan da kaybetmeyesiniz).
Projede karşılaşılan en büyük yanılgı projeyi yapmak için gerekli olan bilgiyi ders devam ettikçe öğreneceğinizi zannetmeniz. (Bad news alert) Projede size yardım edecek bir şey öğretmeyecekler :) Fakat siz öğrenme umuduyla projeye başlamayı geciktirirseniz dönem sonunda projeyi yetiştirmek için okulda sabahlamaya başlarsınız. Bu yüzden projeye erken başlayın. Bol bol google search yapın. Videolar izleyin, napıyorsanız yapın bir şeyler öğrenin ve başlayın. Zaten bütün Bilkent CS hayatınızda bütün ödevleri, projeleri yaparken çoğunlukla Google’ı açıp oradan öğrendiklerinizle yapacaksınız. O yüzden şimdiden alışmanız size fayda sağlar.
Proje konusu seçerken eğer mobil uygulama seçerseniz genellikle daha yüksek puanlar veriliyor (çünkü daha zor ve daha fazla self learning içeriyor). Biz çok başarılı bir mobil uygulama yapamamış olsak da 7/10 almıştık.
Zaten büyük ihtimalle yapmayı planladığınız her şeyi yapamayacaksınız, bu yüzden en baştan fazla uçmayın, biraz daha mütevazi özellikler hayal edin. Unutmayın, geliştireceğinizi söylediğiniz özelliklerin hepsinin nasıl geliştirileceğini kısıtlı vakitte kendi başınıza öğrenip kodunu yazacaksınız.
Bu projede aynı zamanda bütün yazılımcıların yüzleştiği bir problem ile ilk kez tanışacaksınız: Birden fazla kişiyle aynı koda katkıda bulunmak. Birinin yazdığı kod başkasında çalışmayacak, ya da çalışacak ama bütün kodları birleştirince çalışmayacak, birinin kodu diğerinin kodunu bozacak vs.. Sadece okul projelerinde değil yazılım şirketlerinin de çok sık karşılaştığı bir problem bu. Bu yüzden bu sorunu çözmek için de pek çok güzel yöntem mevcut. En popüleri,
The Holy GitHub !!!
GitHub aslında Linux’un üreticisi olan Linus Torvalds’ın bu problemi Linux’a katkıda bulunmak isteyen insanlarla yaşadıktan sonra geliştirdiği git adı verilen bir tool’un online bir şekilde kullanılmasını sağlayan bir platform. Bitbucket, gitlab gibi başka alternatifleri de mevcut. Git’i herhangi bir website olmadan bilgisayarınıza indirip localinizde kendi projeleriniz için de kullanmanız mevcut. Git kullanmaktan başka bir yazıda bahtemeyi düşünüyorum o yüzden burada çok fazla detaya girmeyeceğim.
Özetle git kullanmayı öğrenin, ve proje arkadaşlarınıza da öğretin, ve herkesin düzgün bir şekilde git kullanmayı bildiğinden emin olun. Yoksa yazdığınız kodları da yanlışlıkla silebilirsiniz.
Git öğrenmek için en güzel kaynaklar:
- https://learngitbranching.js.org/ Bu sayfadaki bütün git derslerini bitirin.
- https://git-school.github.io/visualizing-git/ Bu site sadece kendi kendinize denemeler yapabilmek için.
Git’i bilgisayarınızda konsoldan kullanabilirsiniz, fakat kullanım kolaylığı açısından gitkraken indirmenizi şiddetle tavsiye ederim. Ayrıca github’ın öğrenciler için özel bi üyeliği mevcut. Bu üyelik ile ücretsiz olarak github pro edinebilirsiniz, github pro edinip gitkraken’e github hesabınızla giriş yaptığınızda gitkraken de otomatik olarak pro oluyor. Google’da araştırın.
Şimdiden git kullanmayı öğrenirseniz ileride çok rahat edersiniz. Çünkü emin olun hayatınızın ileriki dönemlerinde gerek diğer okul projelerinde gerek iş hayatında bu bilgilere gerçekten ihtiyacınız olacak.
ENG 102: English and Composition II
ENG 101'in neredeyse birebir aynısı. Önceki hocanızı sevdiyseniz yine ondan almaya çalışabilirsiniz.
MATH 102: Calculus II
MATH 101'in birebir aynısı. O derste en son kaldığınız yerden sonra işlemeye devam ediyorsunuz. MATH 101 ve MATH 102'yi iki döneme yayılmış tek bir ders gibi düşünebilirsiniz.
MATH 132: Discrete and Combinatorial Mathematics
Bana göre kan, ter, gözyaşı ve acı dolu bir derstir. Midterm ortalamasının 35, 40 gelmesi normal karşılanır. Konulara düzenli çalışmak çok önemli, fakat asıl önemlisi anlatılan konseptleri gerçekten iyi anlamaktır.
Çalışırken kitaptan faydalanmıştım, fakat kitap ne kadar faydalı olsa da oldukça sıkıcıydı. Beni bu derste kurtaran şey youtube’da trevtutor isimli kanalın discrete math serisidir. Size tavsiyem erkenden oradaki videoları hatmedin. Derste saatlerce anlamadığınız konuların temelini 10 15 dakika da anlayabilir ve çok daha rahat bi şekilde üstüne derste gördüğünüz diğer konuları koyabilirsiniz. Videoları izlemek için derste o konuya gelmeyi beklemeyin, syllabus’tan önünüzdeki hafta ne göreceğinize bakın ve derste gitmeden o dersin videolarını izleyin, hayatınız çok daha kolay olacak.
Bazı kaynak önerileri:
- Ders kitabı (sıkıcıdır ama iş görür).
- Trevtutor youtube kanalı. Trevtutor candır.
TURK 102: Turkish II
TURK 101'in birebir aynısı.
1. Sınıf Sonu Yaz Tatilinde Neler Yapmalı?
Bu yaz geçirdiğiniz en boş yaz tatili olabilir. Bence bunu olabildiğince değerlendirmeye çalışın.
- Basit düzeyde de olsa yeni bir dil öğrenin, örneğin Python. İnanılmaz basit, ve hayatınızı kurtaracak bir dil. Öğrenmekle kalmayın basit projeler yazın. Örneğin bir webscraper. Başka bir yazımda mini proje tavsiyelerinden bahsedeceğim.
- Git kullanmayı hala öğrenmediyseniz ne yapın edin kesinlikle öğrenin.
- Bilgisayar mühendisliğinin pek çok çalışma alanı var, ve hepsini tecrübe etmek için yeterli vakit yok. Bu yüzden merak ettiğiniz bir alana yönelik çalışmalar yapın, mini projeler geliştirin, internetten online kurslar izleyin ve o alanı keşfetmeye çalışın. Belki çok sevecek ve bilginizin üzerine koyacaksınız, belki de derinine indikçe sevmeyeceksiniz, ve vakit kaybetmeden başka bir alana geçebileceksiniz. Ben siber güvenlik işlerini merak ediyordum ve yaz tatilimi barikat Akademi’de 2 aylık bir siber güvenlik kursunda geçirmiştim, Kurs bana çok şey katmış olsa da en sonunda aslında siber güvenlik alanında çalışmak istemediğime karar verdim, ve kursta edindiğim bilgiler bana biraz tecrübe ve basit bir düzeyde siber güvenlik kültürü kazandırdı. Siz de daha yolun başındayken bu vakti belirli alanları keşfetmek için kullanın, çünkü daha sonra bunun için vaktiniz olmayacak.
- Kod yazmayı bırakmayın, kendi çapınızda mini projeler yazın.
- İsterseniz bilgisayarınıza dual boot olarak ubuntu kurup geliştirme ortamınızı tamamen linux’a taşıyabilirsiniz (ubuntu, ubuntu budgie ya da ubuntu mint kurabilirsiniz hepsi temelinde ubuntu. Ben uzun zamandır ubuntu budgie kullanıyorum. Kurarken dikkat edin pc’yi bozmayın). Çünkü bir yazılımcı için en rahat geliştirme ortamı linux olabilir, bunun neden olduğunu zamanla öğreniyorsunuz, yazıyı uzatmamak adına burada bunu tartışmak istemiyorum . Şimdiden linux’a alışmanın zararı yok. Ben kurmak istemiyorum diyorsanız da üçüncü sınıfa geldiğinizde CS342 dersi için büyük ihtimalle zaten kuracaksınız :) O yüzden karar size kalmış.
- Hackerrank, leetcode gibi sitelerde derece kasmaya çalışın. Derece kasmasanız bile haftada 1 2 tane çözün. İnanın algoritma becerileriniz öğrendiğiniz teknolojilerden kat kat daha önemli ve şirketler nazarında çok daha değerli. Bunu başka bir yazıda daha detaylı tartışmayı planlıyorum.
- İzlemediyseniz Silicon Valley izleyin :)
We are done!
Birinci senemiz böylelikle bitmiş oldu. Sizlerin de tavsiyeleriniz, karşı olduğunuz ya da eklemek istediğiniz şeyler varsa yorum yapmaktan çekinmeyin.
Görüşmek üzere..
Emre Tolga Ayan.