Bu repo'da Namık Kemal Üniversitesi BMB212 Veri Yapıları Dersi Uygulama ve Ödev bilgileri paylaşılmaktadır.
- 2022 - 2023 Bahar https://github.com/gusanmaz/BMB212-Algorithms-22-23
- 2021 - 2022 Bahar https://github.com/gusanmaz/BMB212_Algorithms
-
Github hesabınız üzerinden
leetcode.com
sitesine üye olunuz. -
Dizilerle ilgili olan
https://leetcode.com/explore/featured/card/fun-with-arrays/
bağlantısındaki dersi baştan sona tamalayınız. Bir diğer deyişle bu dersle ilgili tüm açıklamaları okuyup verilen tüm problemleri kodlayınız. Aşağıdaki ekran görünütüsünde diziler ile ilgili kodlamanız gereken problemlerin üzeri çizilmektedir. -
Daha sonra
https://leetcode.com/studyplan/top-interview-150/
bağlantısından seçeceğiniz 10 problemi kodlayınız. -
Aşağıdaki ekran görüntüsünde bu sayfada hangi alt başlıklar altından problem seçebileceğinizi görebilirsiniz. Üzeri sarı çizili başlıklar altında 10 problem seçiniz.
-
Aynı başlık altından en fazla iki problem seçimi yapabilirsiniz.
-
Üzerinde çalıştığınız problem için kodunuzu leetcode.com alt yapısını kullanarak derleyebilir ve çeşitli inputlar için kodunuzun doğru davranış gösterip göstermediğini test edebilirsiniz.
-
Kodlarınızı
C
,C#
,C++
,Java
, veyaGo
dilinde yazabilirsiniz. -
Her bir problem için mümkünse tüm kodunuzu tek bir dosyada toplamaya çalışınız.
-
Kodların yazımında I/O işlemleri dışında herhangi bir kütüphane kullanmayınız.
-
Her öğrencinin bu dersin ödevi için bireysel çalışması beklenmektedir.
-
Sınıf arkadaşlarınızla sitedeki problemleri birlikte tartışabilirsiniz ama sınıf arkadaşlarınızla kesinlikle kod paylaşımı yapmayınız.
-
Algoritma geliştirme yeteneği kazabilmeniz için bu ödevde lütfen leetcode problemlerini
ChatGPT
ve benzeri yapay zeka sistemlerine sormayınız. -
İngilizceniz iyi değilse problem metinlerini anlamak için
Google Translate
,ChatGPT
gibi araçlar kullanabilirsiniz.
* https://classroom.github.com/classrooms/81414932-nku-gu-algs-2024 bağlatısına tıklayarak ödev davetini kabul ediniz.
- Bu linke tıklayıp, davet linkini kabul ettikten sonra Github bu ödev için size boş bir repo oluşturacaktır.
- Bu repoda her bir çözdüğünüz problem için (
tüm dizi problemleri ve 10 adet Top Interview 150 problemi
) bir alt klasör oluşturunuz. - Problem ismi ile alt klasör isimleri benzerlik göstermelidir. Örneğin Merge Sorted Array problemi için oluşturacağınız klasörün adı Merge-Sorted-Array olmalıdır. Diğer bir deyişle problem ismindeki boşluk karekterlerini - karekteri ile değiştirerek klasörlerinizi isimlendirmeniz gerekiyor.
- İlgili problem için yazdığınız kodları o problem için oluşturmuş olduğunuz klasörün altına yükleyiniz.
- Mümkünse ilgili klasör altında tek bir kaynak kodu dosyası olsun. İlgili problem için yazacağınız tüm kodları tek bir dosyada toplamaya çalışın.
- Bu dosyayı çalıştığınız programlama diline göre
main.c
main.java
main.cpp
main.go
main.cs
olarak isimlendiriniz. - Reponuzdaki kök dizinde (en üst dizin)
{öğrenci_no}.txt
isimli dosya oluşturunuz. Öğrenci numaranız 1234 ise bu dosyanın adı1234.txt
olmalıdır. Bu dosya içine isminizi ve Youtube videonuzun linkini yaziniz. - Kodladığınız 10 problemden istediğiniz 5'ini seçiniz. Seçtiğiniz problemleri ve yazdığınız problemleri detaylı açıklayan bir Youtube videosu çekiniz. Yazdığınız kodların leetcode testlerini geçip geçemediğini göstermek için leetcode tarafından size sunulan online IDE'yi kullanınız.
- Youtube videonuzdaki her bir problemi için ayrı bir
video başlığı
tanımlayınız. Bu işi nasıl yapacağınızı https://support.google.com/youtube/answer/9884579?hl=tr bağlantısından öğrenebilirsiniz. - Youtube videonuzun linke sahip olmayan biri tarafından keşfedilememesini istiyorsanız videonuzu
liste dışı video
olarak tanımlayabilirsiniz. Bu konuyla ilgili https://support.google.com/youtube/answer/157177?hl=tr bağlantısından gerekli bilgiyi edinebilirsiniz. - Hazırladığınız video, kodları kendi başınıza yazdığınız konusunda şüphe oluşursa; yazdığınız kodları sözlü olarak açıklamanız istenebilir.
- Gönderdiğiniz kodların kendnizin yazdığı kodlar olmadığı konusunda bir şüphe oluşursa; yine bu kodları sözlü olarak açıklamanız istenebilir.
- Rastgele seçilen bazı öğrencilerin gönderdikleri kodları sözlü olarak açıklaması istenebilir.
- Sözlü açıklamada yetersiz bulunmanız durumunda ödev puanınız düşürülebilir.
- https://support.google.com/youtube/answer/157177?hl=tr&co=GENIE.Platform%3DDesktop#zippy=%2Cliste-d%C4%B1%C5%9F%C4%B1-videolar bağlantısındaki üzeri sarı çizili başlıklar altında zorluk derecesi
EASY
olan problemler sınavlarınızda soru olarak karşınıza çıkabilir. Vize sınavında sadece derste işlenen konularla, ilgili altbaşlık konusunun çakıştığı problemler soru olarak karşınıza çıkabilir. - Ödevlerle ve uygulama dersleri ile ilgili her türlü soru ve önerileriniz için bu repo altındaki Discussions sayfasını (https://github.com/gusanmaz/bmb212-algorithms-2024/discussions) kullanınız.
- Ödev gönderim kurallarını dikkatli okuyup ona göre gönderim yapınız. Ödev gönderim kurallarına uygun gönderim yapmamanız düşük puan almanıza sebep olabilir.
- Gönderdiğiniz kodlar
otomatik
olarak değerlendirilebilir. Bu nedenle gönderdiğiniz kodların derleme hatası üretmediğinden emin olunuz. - Gönderilen tüm kodlar üzerinde
benzerlik analizi
yapılarak birbirinizden ya da başka bir kaynaktan hazır aldığınız kodlar tespit edilebilir. Bu nedenle başka sınıf arkadaşlarınızdan veya başka kaynaktan kod alıp kod gönderimi yapmayınız. - Son ödev gönderim tarihi: 26 Mayıs 2024 23:59.
- Bu tarihten sonra gönderilen ödevler değerlendirmeye alınmayacaktır.