Project I sonunda elinde ne olmalı?
Bitirme projesi iki derse yayılıyor: CSE 491 (Senior Design Project I) ve Senior Design Project II. Bu dönemin sonunda bitmiş bir ürün beklenmiyor. Beklenen şey, çalıştırılabilen bir preliminary prototype (ön prototip) ve gelecek dönem için bir geliştirme planı.
Dönem sonunda çalışan kısım: kullanıcı giriş yapar, boş odaları listeler, bir saat dilimini rezerve eder, rezervasyonu iptal eder. Test verisiyle çalışır, README'deki adımlarla başka bir bilgisayarda kurulabilir.
Bu dönem yapılmayanlar Project II planına yazılır: mobil uygulama, e-posta bildirimleri, takvim entegrasyonu. Final sunumunda bu plan da anlatılır.
Resmi syllabus'taki amaç: "öğrencilerin lisans eğitimi boyunca edindikleri bilgisayar mühendisliği bilgi ve becerilerini gerçekçi bir mühendislik problemi üzerinde uygulamalarını sağlamak". Öğrenciden beklenenler: proje konusunu belirlemek, gereksinim analizi (requirements analysis) yapmak, sistem tasarımı oluşturmak, geliştirme planı hazırlamak ve çalıştırılabilir bir ön prototip geliştirmek.
Ders içeriği (resmi syllabus): gerçekçi bir mühendislik probleminin belirlenmesi; proje amacı, kapsamı, gereksinimleri ve başarı ölçütlerinin tanımlanması; benzer sistemlerin incelenmesi; sistem mimarisi, veri modeli, arayüz, algoritma ve teknik kısıtların planlanması; geliştirme ortamı ve kod deposunun oluşturulması; ön prototip, ara rapor, final raporu ve sunum hazırlanması.
Term syllabus'a göre notlanan teslimler:
- Project proposal (Week 5)
- Supervisor meeting records: 5 imzalı Supervisor Meeting Form (Weeks 2–13)
- Midterm report and presentation (Week 8)
- Final report, presentation and prototype demonstration (Week 15 / final exam period)
Bunlara ek olarak Week 10'da repository link'i Teams'e yüklenir, Week 14'te GitHub repository, README ve technical documentation tamamlanır.
| Katalog bilgisi (resmi syllabus) | Değer |
|---|---|
| Yarıyıl · Kod | 7 · CSE 491 |
| T+U · Kredi · AKTS | 2 · 1 · 6 |
| Öğrenim türü · Dil · Düzey | Örgün · İngilizce · Fakülte |
| Staj durumu · Türü | Yok · Seçmeli |
| Koordinatör · Dersi veren | Prof. Dr. Ümit Deniz Uluşar · Dr. Öğr. Üyesi Murat Ak |
| Ders yapısı | Matematik ve Temel Bilimler 10 · Mühendislik Bilimleri 30 · Mühendislik Tasarımı 40 · Alan Bilgisi 20 |
| Kaynaklar | Projenin konusuna göre belirlenir: güncel makaleler, teknik dokümantasyon, geliştirme araçları, açık kaynak kütüphaneler, örnek sistemler, proje kılavuzu, rapor şablonları, kod deposu dokümantasyonu, değerlendirme rubrikleri. |
- "Bitmiş ürün" hedeflemek. Scope büyür, Week 15'te gösterecek çalışan bir şey kalmaz. Hedef çalışan bir prototip ve Project II planı.
- "Sınav yok, o zaman not kolay" sanmak. Puanın tamamı belge, imza ve sunumdan geliyor; bir imzasız form bile puan kaybettirir.
- Repodaki "interim report" ile syllabus'taki "midterm report" ayrı şeyler değil. İkisi de Week 8'deki ara rapor.
Sözlük: Türkçe ↔ English (course-info.md, 29 terim)
| Türkçe | English |
|---|---|
| bitirme projesi | senior design project |
| danışman | advisor |
| proje kapsamı | project scope |
| başarı ölçütü | success criterion |
| hedef kullanıcı | target user |
| gereksinim analizi | requirements analysis |
| işlevsel gereksinim | functional requirement |
| işlevsel olmayan gereksinim | non-functional requirement |
| kullanım senaryosu | use case |
| sistem mimarisi | system architecture |
| bileşen | component |
| veri modeli | data model |
| varlık-ilişki diyagramı | entity-relationship diagram |
| kullanıcı arayüzü | user interface |
| tel çerçeve | wireframe |
| iş akışı | workflow |
| kod deposu | code repository |
| sürüm | version / release |
| dal | branch |
| bütünleştirme | integration |
| sürekli bütünleştirme | continuous integration |
| ön prototip | preliminary prototype |
| ara rapor | interim report |
| final raporu | final report |
| teknik dokümantasyon | technical documentation |
| dağıtım | deployment |
| test etme | testing |
| bilinen kısıtlar | known limitations |
| literatür taraması | literature review |
Term syllabus "advisor" yerine çoğunlukla supervisor diyor ("project supervisor (advisor)"). İkisi aynı kişi.
CSE 491 bittiğinde projeden beklenen nedir?
Öğrenme çıktıları ve haftalık iş yükü
6 AKTS'lik bir derste haftada 2 saat ders var. Geri kalan iş sınıf dışında yapılıyor. Resmi syllabus bunu saat saat yazmış; hesabı bir kere yapınca haftaya ne kadar zaman ayırman gerektiği netleşiyor.
- Ö01 Bilgisayar mühendisliği alanındaki bir problemin teknik arka planını, benzer sistemleri, gereksinimlerini ve olası çözüm yaklaşımlarını açıklar.
- Ö02 Gerçekçi bir mühendislik problemini analiz ederek amaç, kapsam, gereksinim, kısıt, risk ve başarı ölçütlerini içeren uygulanabilir bir proje planı oluşturur.
- Ö03 Seçilen yazılım geliştirme yöntemlerini, araçlarını ve mimari yaklaşımı kullanarak belgelenmiş ve geliştirilebilir bir ön prototip üretir.
- Ö04 Proje sürecini takım çalışması, düzenli danışmanlık, teknik dokümantasyon, raporlama ve sunum yoluyla bağımsız ve sorumlu biçimde yürütür.
Kabaca eşleme: Ö01 → similar systems ve background; Ö02 → proposal; Ö03 → prototype ve repository; Ö04 → toplantılar, raporlar, sunumlar.
| Etkinlik | Sayısı | Süresi (saat) | Toplam |
|---|---|---|---|
| Ders süresi | 15 | 2 | 30 |
| Sınıf dışı çalışma süresi | 15 | 7 | 105 |
| Ödevler | 1 | 15 | 15 |
| Sunum / seminer hazırlama | 1 | 10 | 10 |
| Yarıyıl sonu sınavı | 1 | 20 | 20 |
| Toplam iş yükü | 180 |
Ara sınav, laboratuvar, uygulama ve proje satırları 0. $180 / 6 = 30$ saat bir AKTS'ye karşılık geliyor. Haftalık düşünürsen: 2 saat ders + 7 saat sınıf dışı = haftada yaklaşık 9 saat, üstüne teslimlerin ve sunumların hazırlığı.
Ö01–Ö04'ün program çıktılarına katkısı (1 çok düşük … 5 çok yüksek)
| P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | P11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Tüm | 4 | 5 | 5 | 5 | 4 | 5 | 5 | 3 | 4 | 5 | 3 |
| Ö01 | 4 | 3 | 2 | 3 | 2 | 1 | 2 | 4 | 2 | 2 | 2 |
| Ö02 | 3 | 5 | 4 | 3 | 3 | 3 | 3 | 3 | 3 | 5 | 3 |
| Ö03 | 3 | 4 | 5 | 5 | 3 | 3 | 4 | 2 | 2 | 3 | 2 |
| Ö04 | 2 | 3 | 3 | 3 | 3 | 5 | 5 | 3 | 4 | 5 | 3 |
- P01 Matematik, fen bilimleri ve Bilgisayar Mühendisliği bilgisini karmaşık problemlerin çözümünde kullanabilme.
- P02 Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme; uygun analiz ve modelleme yöntemlerini seçme.
- P03 Karmaşık bir sistemi gerçekçi kısıtlar altında gereksinimleri karşılayacak biçimde tasarlama; modern tasarım yöntemlerini uygulama.
- P04 Modern teknik ve araçları seçme ve kullanma; bilişim teknolojilerini etkin kullanma.
- P05 Deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama.
- P06 Disiplin içi ve çok disiplinli takımlarda etkin çalışma; bireysel çalışma.
- P07 Sözlü ve yazılı etkin iletişim; en az bir yabancı dil; rapor yazma, etkin sunum, açık talimat verme ve alma.
- P08 Yaşam boyu öğrenme; bilgiye erişme, gelişmeleri izleme.
- P09 Etik ilkeler, mesleki ve etik sorumluluk, mühendislik standartları.
- P10 Proje yönetimi, risk yönetimi, değişiklik yönetimi; girişimcilik, yenilikçilik; sürdürülebilir kalkınma.
- P11 Mühendislik uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri; hukuksal sonuçlar.
- Haftalık 7 saati dönemin sonuna yığmak. Commit geçmişi ve toplantı formları zamana yayılmış çalışmayı gösterir (Bölüm 6); son hafta yapılan iş bu kanıtı üretmez.
- Katalogdaki "Yarıyıl Sonu Sınavı" satırını yazılı sınav sanmak. Term syllabus'ta yazılı sınav yok; dönem sonu değerlendirmesi final report, sunum ve demo.
Resmi syllabus'a göre bu derste sınıf dışında toplam kaç saat çalışma bekleniyor ve bu haftada kaç saate denk geliyor?
Group, topic ve supervisor: resmi kayıt
Course assistant'ın tuttuğu listede her grubun üyeleri, proje konusu ve supervisor'ı yazılı. Bütün notlar bu listeye göre veriliyor. Listede yoksan, ne kadar çalışmış olursan ol, notlanacak bir kaydın yok.
- Projeler grupla yapılır. Her grubun bölümün öğretim üyeleri arasından bir project supervisor (advisor)'ı vardır.
- Group composition, project topic ve supervisor course assistant tarafından kaydedilir ve sonraki bütün değerlendirmenin temeli budur.
- Grubu, konuyu ya da supervisor'ı değiştirmek istiyorsan course assistant'a MS Teams üzerinden hemen yaz. Değişiklik, yazılı olarak onaylanıp resmi ders listesine kaydedilene kadar geçerli değildir.
- Projen, grubun ya da supervisor'ın yoksa yine hemen yaz. Durumun kendiliğinden çözülmesini ya da deadline'ın yaklaşmasını bekleme: kayıtlı group, topic ve supervisor'ı olmayan öğrenci bu derste değerlendirilemez.
- Bu tür istekler dönemin olabildiğince başında yapılmalı. Geç gelen istekler karşılanamayabilir, çünkü toplantı takvimini, proposal deadline'ını ve değerlendirme kayıtlarını etkiler.
Takvimde karşılığı: Week 1 milestone "Groups, topics and supervisors confirmed with the course assistant", Week 3 milestone "Project topic, title and supervisor recorded".
Üç kişilik bir grup Week 1'de oda rezervasyon uygulamasıyla kaydedildi. Week 2'de supervisor'la konuşup konuyu sensör verisi dashboard'una çevirmeye karar verdiler. Supervisor sözlü olarak "olur" dedi.
Bu noktada resmi kayıtta hâlâ eski konu yazıyor. Grup course assistant'a Teams'ten yazmadıkça ve yazılı onay gelmedikçe değişiklik geçerli değil. Week 3'te "topic, title and supervisor recorded" milestone'u eski konuyla kapanabilir.
- Supervisor'ın sözlü onayını yeterli saymak. Kaydı supervisor değil, course assistant tutuyor; onay yazılı olmalı.
- "Bir grup bulurum" diye beklemek. Grubu olmayan öğrencinin de hemen yazması gerekiyor; bekleyen değerlendirilemeyebilir.
- Değişikliği proposal'dan sonraya bırakmak. Proposal "the reference document" (Bölüm 7); konu değişirse referans belge de değişir.
"If you would like to change your project group, your project topic, or your project supervisor, you must contact Res. Asst. Berk Ercin immediately via MS Teams. No change is valid until it has been confirmed in writing and recorded in the official course list." (§1'in ilgili kısmı) · Week 1: "Groups, topics and supervisors confirmed with the course assistant" · Week 3: "Project topic, title and supervisor recorded"
Görev: Yukarıdaki uydurma grup için course assistant'a gidecek Teams mesajını yaz. Mesaj, kaydın tek seferde düzeltilebilmesi için gereken her bilgiyi içersin.
İpucu 1
Course assistant hangi listeyi güncelleyecek? O listenin sütunlarını düşün: grup üyeleri, konu, başlık, supervisor.
İpucu 2
"No change is valid until it has been confirmed in writing" cümlesi mesajın sonunda ne istemen gerektiğini söylüyor. Bir de supervisor'ın bu değişikliğe katıldığını belirt.
Çözümü göster
Mesaj grup adına, direct message olarak gider (grup konusu sınıfı ilgilendirmiyor). Ders İngilizce olduğu için İngilizce yazılabilir:
Hello, I am writing on behalf of our CSE 491 group.
Members: [Name Surname, student no.] x 3
Supervisor: [title, name] (unchanged)
Current topic on the list: Campus room-booking app
Requested new topic: Sensor-data dashboard for lab rooms
Working title: "[new title]"
Our supervisor agreed to this change in our meeting on [date].
Could you please confirm the change in writing and update
the official course list? Thank you.
Neden bu alanlar: üyeler ve supervisor kaydın anahtarı; eski ve yeni konu, course assistant'ın neyi değiştireceğini açıkça gösterir; başlık Week 3'te kaydedilecek bilgi; supervisor'ın onayı, toplantı takvimini etkileyen bir değişikliğin supervisor tarafından bilindiğini gösterir; son cümle §1'in istediği yazılı onayı ister.
Sonra: yazılı onay gelene kadar eski konu geçerli. Onay gelince ekran görüntüsünü ya da mesajı saklayın; proposal yeni konuyla yazılır.
Week 2'de supervisor sözlü olarak konu değişikliğine onay verdi. Değişiklik ne zaman geçerli olur?
Week 4'e geldin ve hâlâ bir grubun yok. Syllabus'a göre risk nedir?
Kime, hangi kanaldan yazılır?
Bir sorun çıktığında iki şeye bak: Bu konu kimin kararı? (kayıt ve kurallar course assistant'ın, projenin içeriği supervisor'ın, iş bölümü grubun). Cevabı kimin görmesi gerekir? (herkesi ilgilendiriyorsa Teams kanalı, sadece seni ya da grubunu ilgilendiriyorsa direct message).
| Course assistant | Fall 2026-27'de Res. Asst. Berk Ercin, Department of Computer Engineering |
|---|---|
| Preferred channel | MS Teams: genel sorular için course channel, grup ya da öğrenciye özel konular için direct message |
| Contact immediately about | Group change · topic change · supervisor change · not having a group, topic or supervisor · anything blocking your project |
| Response time | Olağan konularda iki iş günü içinde; acil kayıt (registration) sorunları daha hızlı ele alınır |
Dönemin herhangi bir anında dersle ilgili bir sorun, soru ya da istek varsa course assistant'la MS Teams üzerinden iletişim kurulur. Resmi istekler için gayriresmî kanallar (WhatsApp, kişisel e-posta, koridorda söylemek) kullanılmaz.
Supervisor'la ilişki §2'de: toplantıları grup, supervisor'la birlikte planlar ve randevuyu zamanında istemek grubun sorumluluğudur; gündemi (son toplantıdan beri yapılan iş, blocker'lar, sonraki iki haftanın planı) grup hazırlar. Proposal da supervisor'la birlikte hazırlanır (§3).
Önce tahmin et: Aşağıdaki 8 durumun kaçı course assistant'a direct message ile gider? Sayıyı aklında tut, sonra her satırda bir kanal seç ve kontrol et.
- Course assistant'a WhatsApp'tan "hocam grubu değiştirdik" yazmak. Resmi istek gayriresmî kanaldan gelirse kayda geçmeyebilir.
- Herkesi ilgilendiren bir soruyu (örneğin bir şablonun nerede olduğu) direct message ile sormak. Kanalda sorulursa cevabı bütün sınıf görür.
- Deadline'dan bir gün önce yazmak. Cevap süresi iki iş günü; hafta sonu ve tatil bu süreyi uzatır.
"Midterm report'un sayfa sınırı var mı?" sorusunu nereye sorarsın?
Not dağılımı: 20 / 20 / 20 / 40
Proposal, meeting records ve midterm birlikte toplam notun %60'ını oluşturur; meeting records bileşeni Week 13'e kadar tamamlanır. Kalan 40 tek bir bileşene bağlı: final report, sunum ve demo. Yani hem erken hem geç tembellik pahalı.
| Component | Weight | Week |
|---|---|---|
| Project proposal: written proposal prepared with the supervisor | 20% | Week 5 |
| Supervisor meeting records: 5 signed meeting forms, 4% each | 20% | Weeks 2–13 |
| Midterm report and presentation: problem, requirements, architectural design, technology selection and work plan | 20% | Week 8 |
| Final report, presentation and prototype demonstration | 40% | Week 15 / final exam period |
| Total | 100% |
İlk üç bileşen midterm grade olarak, sonuncusu final grade olarak girilir. Her bileşeni 100 üzerinden düşünürsek ($P$ proposal, $M$ midterm report, $F$ final, $k$ sayılan form sayısı):
$$\text{midterm} = 0.2P + 4k + 0.2M \;\;(\le 60)$$ $$\text{final} = 0.4F \;\;(\le 40)$$Not: Repodaki resmi syllabus (s.3) "Ödev / Seminer %40, Yarıyıl Sonu Sınavı %60" yazıyor; weeks/01 de bunu tekrarlıyor. Bu dönem uygulanan dağılım term syllabus'taki 20/20/20/40. Çelişki görürsen course assistant'a sor.
Önce tahmin et: Proposal 85, beş formdan dördü sayıldı, midterm report 70, final 80. Toplam kaç? Bir formun hiç sayılmaması 100 üzerinden kaç puan götürür? Tahmin ettikten sonra "Örneği yükle"ye bas.
$P = 85$, $k = 4$, $M = 70$, $F = 80$: midterm $= 17 + 16 + 14 = 47$ (60 üzerinden), final $= 32$ (40 üzerinden), toplam $79$.
Aynı grup beşinci formu da imzalatıp zamanında yükleseydi toplam $83$ olurdu. Bir form = 4 puan, yani bir harf notu farkı kadar olabilir.
- "Toplantıyı yaptık" demek yetmez. §2: "A meeting without a signed form does not count." İmzasız form $k$'ya girmez.
- Geç yüklenen formun ne kadar puan kaybettireceği repoda yazmıyor. Hesaplayıcı bu durumda bir aralık gösteriyor; tek bir sayı uydurmuyor.
- Burada çıkan sayı grup notu. Senin notun bireysel düzeltmeyle farklı olabilir (Bölüm 6).
- Finali "sadece %40" diye küçümsemek. En büyük tek kalem o; final bileşeni 0 olursa toplam 60'ı geçemez.
"Project proposal — written proposal prepared with the supervisor · 20% · Week 5" · "Supervisor meeting records — 5 signed meeting forms, 4% each · 20% · Weeks 2–13" · "Midterm report and presentation … · 20% · Week 8" · "Final report, presentation and prototype demonstration · 40% · Week 15 / final exam period" · "The first three components are entered as the midterm grade and the last one as the final grade."
Görev (uydurma grup): Bir grup beş toplantının beşini de yaptı ama Meeting 2'nin formu imzasız kaldı. Proposal 80, midterm report and presentation 75, final 70 aldı. (a) Midterm grade, final grade ve toplam grup notu kaç? (b) Toplamın 80 olması için final'den en az kaç gerekirdi? (c) Meeting 2'nin formu imzalı olsaydı (a) ve (b) nasıl değişirdi?
İpucu 1
Önce $k$'yı bul. §2: "A meeting without a signed form does not count." Yapılan toplantı sayısı değil, imzalı ve yüklenmiş form sayısı sayılır.
İpucu 2
Formüller: midterm $= 0.2P + 4k + 0.2M$, final $= 0.4F$. (b) için midterm kısmı sabit; $\text{midterm} + 0.4F \ge 80$ eşitsizliğini $F$ için çöz.
Çözümü göster
(a) İmzasız form sayılmaz, $k = 4$.
$$\text{midterm} = 0.2 \cdot 80 + 4 \cdot 4 + 0.2 \cdot 75 = 16 + 16 + 15 = 47 \;\;(60 \text{ üzerinden})$$
$$\text{final} = 0.4 \cdot 70 = 28 \;\;(40 \text{ üzerinden})$$
$$\text{toplam} = 47 + 28 = 75$$
(b) $47 + 0.4F \ge 80 \Rightarrow F \ge 33 / 0.4 = 82.5$. Final'den en az $82.5$ gerekirdi.
(c) $k = 5$ olunca midterm $= 16 + 20 + 15 = 51$, toplam $= 51 + 28 = 79$. 80 için $F \ge 29 / 0.4 = 72.5$ yeterdi. Tek bir imza final'de 10 puanlık yükün yerini tutuyor: $0.4 \cdot 10 = 4$ puan, yani bir form.
Bu sayılar grup notu. Her öğrencinin notu §4'e göre meeting attendance, commit history ve supervisor's assessment ile ayrıca ayarlanır (Bölüm 6); o ayarın formülü syllabus'ta yok.
Bir grup proposal'dan 90, midterm report'tan 80 aldı, beş formu da imzalı ve zamanında yükledi. Final report, presentation and demo bileşeninden 0 aldı. Grup notu 100 üzerinden kaç?
Term syllabus'a göre "midterm grade" hangi bileşenlerden oluşur?
Grup notundan senin notuna
Grup belgeleri bir grup notu alır. Sonra herkesin notu, ne kadar katkı yaptığını gösteren kanıta göre ayarlanır. Katkın gerçek olabilir ama kanıtı yoksa sayılmaz.
Group deliverables receive a group grade, which is then adjusted per student according to individual contribution as evidenced by:
- meeting attendance (toplantılara katılım),
- repository commit history (kod deposundaki commit geçmişi),
- the supervisor's assessment (supervisor'ın değerlendirmesi).
"A student whose individual contribution cannot be evidenced may receive a lower grade than the rest of the group."
- §2: Her toplantıya bütün grup üyelerinin katılması beklenir. Bir üyenin sürekli gelmemesi o üyenin bireysel notuna yansır.
- §6 Attendance: Ders oturumlarına, sunumlara ve supervisor toplantılarına katılım beklenir. Toplantı kaçırmak meeting-record bileşenini doğrudan düşürür.
- §6 Version control: Week 9'dan itibaren bütün kod tek bir grup repository'sinde. "Commit your own work under your own account, regularly, throughout the semester."
Üye A, B ve C bir dashboard yazıyor. C'nin bilgisayarı bozuk olduğu için C'nin yazdığı kodu A kendi hesabından push ediyor. Repository'de C'nin adına tek commit yok. Toplantı formlarının katılımcı satırında üçü de var.
Sonuç: C'nin üç kanıt kaynağından biri boş. C'nin katkısı gerçek ama commit geçmişi bunu göstermiyor; C grubun geri kalanından düşük not alabilir. Çözüm basit: C, A'nın bilgisayarında bile olsa kendi Git kimliğiyle commit eder ya da pair programming'de commit'e co-author satırı eklenir.
- Herkesin kodunu tek kişinin push etmesi. Commit geçmişi "kim ne yaptı" sorusuna cevap veriyor; bu cevabı bozma.
- Bütün işi son haftada tek bir büyük commit'le yüklemek. Syllabus "regularly, throughout the semester" diyor.
- Toplantıya sadece grup liderinin gitmesi. Katılım bireysel; form katılımcıları ayrı ayrı yazar.
- Kod dışı işi (rapor, tasarım, test) görünmez bırakmak. Rapor ve diyagram dosyaları da repository'de commit edilebilir.
"Group deliverables receive a group grade, which is then adjusted per student according to individual contribution as evidenced by meeting attendance, repository commit history and the supervisor's assessment. A student whose individual contribution cannot be evidenced may receive a lower grade than the rest of the group."
Görev: Üç kişilik uydurma bir grup (sensör verisi dashboard'u) için dönem başında bir "katkı kanıtı planı" yaz: her kanıt kaynağı için grup ne yapacak, kim kontrol edecek, ne zaman?
İpucu 1
Üç kaynağı ayrı satırlara koy. Her biri için "bu kaynak ne zaman boş kalır?" diye sor; plan o durumu önlemeli.
İpucu 2
Supervisor'ın değerlendirmesi toplantılarda oluşuyor. Toplantıda her üyenin kendi işini anlatması bu kaynağı doldurur.
Çözümü göster
| Kanıt kaynağı | Grup ne yapar | Kontrol |
|---|---|---|
| Meeting attendance | Toplantı saati üç kişinin derslerine göre seçilir; her formun katılımcı kısmına gelenler yazılır. Gelemeyen üye nedenini toplantıdan önce gruba yazar. | Her toplantıdan sonra form yüklenmeden önce, grup lideri |
| Repository commit history | Herkes kendi GitHub hesabı ve kendi Git kimliğiyle commit eder; her iş bir branch ve pull request'le gelir; haftada en az birkaç küçük commit hedeflenir. Rapor ve diyagramlar da repoda. | Her hafta sonu, sırayla bir üye git shortlog -sn ile bakar |
| Supervisor's assessment | Toplantı gündeminde "son toplantıdan beri yapılan iş" kısmını her üye kendi bölümü için anlatır; action item'lar kişi adına yazılır. | Toplantı sonunda, action item listesinde her satırın bir sahibi var mı |
Planın mantığı: notu ayarlayan üç kaynak belli. Her biri dönem boyunca düzenli dolarsa "katkısı kanıtlanamayan öğrenci" durumu oluşmaz.
Syllabus'a göre grup notunu bireye göre ayarlarken kullanılan üç kanıt hangileri?
Yedi evaluation criteria
Her teslim için ayrı bir rubric yok. Syllabus bütün teslimlerde kullanılan yedi ölçüt veriyor. Bir belge yazarken "bu bölüm hangi ölçüte cevap veriyor?" diye sormak, okuyanın neye baktığını tahmin etmenin en kısa yolu.
- Realism and engineering relevance of the problem; clarity of objectives, scope and success criteria.
- Quality of the requirements analysis and of the review of comparable systems.
- Soundness of the system architecture, data model and technology selection, and the justification given for them.
- Functionality, robustness and extensibility of the preliminary prototype.
- Quality of documentation: report structure, repository hygiene, README, code readability, references.
- Quality of the presentation and of the answers given during the defence.
- Regularity and quality of the supervisor meetings and responsiveness to supervisor feedback.
Not: Ayrı bir rubric belgesi repoda yok. Notlamayla ilgili yazılı metinler bu yedi ölçüt, Supervisor Meeting Form'daki supervisor değerlendirmesi ve proposal şablonundaki Supervisor Approval kutusu. Son ikisi Danışman toplantıları ve Project proposal derslerinde.
| Teslim | En çok ilgili ölçütler |
|---|---|
| Proposal (Week 5) | 1, 2, 3 (taslak), 5 (references) |
| Meeting forms (Weeks 2–13) | 7 |
| Midterm report and presentation (Week 8) | 1, 2, 3, 5, 6 |
| Final report, presentation, demo (Week 15) | 4, 5, 6 ve dönemin tamamı için 1–3 |
Syllabus §3, proposal'ı "the reference document against which the midterm and final deliverables are assessed" diye tanımlıyor. Yani 1. ölçütteki success criteria final demoda da karşına çıkar.
- 5. ölçütü sadece rapor sanmak. Repository hygiene, README ve code readability de aynı ölçütte.
- 6. ölçütü sadece slaytlar sanmak. Defence'ta sorulara verilen cevaplar da ölçülüyor.
- 7. ölçütte toplantı sayısı tek başına yetmez: "responsiveness to supervisor feedback", yani bir toplantıda istenenin bir sonrakinde yapılmış olması.
Repository'deki README eksik ve klasör yapısı dağınık. Bu en doğrudan hangi ölçütü etkiler?
15 haftalık plan ve takvim
Syllabus §5 her hafta için bir konu ve bir group milestone yazıyor. Milestone, o haftanın sonunda grubun göstermesi gereken somut şey. Tarih yazmıyor; tarihleri tek bir sabit noktadan çıkarmak gerekiyor: proposal Week 5'te ve 18 Ekim 2026'da teslim.
| Week | Topic | Group milestone |
|---|---|---|
| 1 | Course introduction, project expectations, assessment criteria and explanation of the project process | Groups, topics and supervisors confirmed with the course assistant |
| 2 | Discussion of project ideas and studies for identifying a realistic engineering problem | Supervisor Meeting 1 (week 2 or 3) |
| 3 | Finalization of the project topic; definition of objectives, scope, target users and success criteria | Project topic, title and supervisor recorded |
| 4 | Review of similar systems and related technical resources | Supervisor Meeting 2 (week 4 or 5) |
| 5 | Requirements analysis: definition of functional and non-functional requirements | Project proposal submitted (20%) |
| 6 | Design of system architecture, main components, data model and user interface approach | Supervisor Meeting 3 (week 6 or 7) |
| 7 | Selection of software technologies, tools, libraries and development environment | Technology stack and development environment agreed with the supervisor |
| 8 | Midterm report and presentation: problem, requirements, architectural design, technology selection and work plan | Midterm report + presentation (20%) |
| 9 | Creation of code repository, preparation of project skeleton and setup of development environment | Supervisor Meeting 4 (week 9 or 10) |
| 10 | Development of core data structures, database, API, services or main software components | Repository link submitted on MS Teams |
| 11 | Development of user interface, basic workflows and system components | Core components demonstrated to the supervisor |
| 12 | Integration of system components and preparation of the first working version | Supervisor Meeting 5 (week 12 or 13) |
| 13 | Testing of the preliminary prototype, bug fixing and basic improvements | All five signed meeting forms uploaded |
| 14 | Preparation of final report, GitHub repository, README file and technical documentation | Final report, repository and documentation completed |
| 15 | Preliminary prototype presentation, end-of-term project evaluation and development plan for Senior Design Project II | Final report, presentation and demo (40%) |
Hafta → tarih: 18 Ekim 2026 Pazar. Haftaları Pazartesi–Pazar sayarsak Week 5 = 12–18 Ekim, dolayısıyla Week 1 = 14–20 Eylül ve Week $n$ = 14 Eylül + $7(n-1)$ gün.
Not: Week ↔ tarih eşlemesi tahmini; resmi takvimde hafta başlangıcı ve tatiller yazılı değil. Kesin tarihler sadece şunlar: proposal 18 Ekim, form yükleme deadline'ları 16 Ekim, 30 Ekim, 13 Kasım ve 27 Kasım (Teams duyurusu, repo README'si). Midterm report ve presentation'ın günü, saati ve formatı Teams'te ayrıca duyuruluyor ve repoda yok. Final sunumunun tarihi de belli değil.
Önce tahmin et: Week 10 hangi tarihlere düşer? 27 Kasım'daki Meeting 5 form deadline'ı kaçıncı haftada, ve bu syllabus'un Meeting 5 için önerdiği "week 12 or 13" ile uyumlu mu? Sonra adım adım oynat.
- Toplantı haftası ile form deadline'ını karıştırmak. Meeting 4 için önerilen "week 9 or 10", ama Teams deadline'ı 13 Kasım (Week 9'un sonu). Toplantıyı Week 10'a bırakan grup deadline'ı kaçırır.
- Meeting 5'in Teams deadline'ı 27 Kasım, Week 11'in içinde. Syllabus'un önerdiği "week 12 or 13"ten önce. Hangisinin geçerli olduğunu course assistant'a sor; güvenli taraf erken olanı.
- Repository'yi Week 10'da açmak. Week 10'da link teslim ediliyor; §6'ya göre kod Week 9'dan itibaren tek grup repository'sinde.
Week 1 = 14–20 Eylül 2026 kabulüyle Week 8 (midterm report ve presentation) hangi tarihlere düşer?
"All five signed meeting forms uploaded" milestone'u hangi haftada?
Deadline kuralları ve teslim
Bütün teslimler MS Teams'ten. Deadline sabit; geç teslim ancak geçerli bir mazeret deadline'dan önce ve belgeyle bildirilmişse kabul ediliyor. Mazereti deadline geçtikten sonra anlatmak bu koşulu sağlamaz.
- §6: "Deliverables are submitted through MS Teams by the stated date. Late submissions are accepted only with a valid, documented excuse communicated in advance via MS Teams."
- §2: Her toplantı supervisor'ın imzaladığı bir Supervisor Meeting Form ile belgelenir ve grup bu formu toplantıdan sonraki bir hafta içinde Teams kanalına yükler. İmzasız formlu toplantı sayılmaz. Boş form Teams kanalında.
- Fall 2026-27 Teams deadline'ları (repo README'si): Meeting 2 → 16 Ekim, Meeting 3 → 30 Ekim, Meeting 4 → 13 Kasım, Meeting 5 → 27 Kasım. Meeting 1 için tarih repoda yok.
- README: Deadline'lar kesin. İlk form için birkaç günlük gecikme bir kereye mahsus tolere edildi; sonraki gecikmeler notu düşürür. Teslimi sadece grup liderinin yapması yeterli.
- Midterm report: assignment'ı ve detayları Teams'te ayrıca duyuruluyor.
Not: Midterm report'un formatı, sayfa sınırı, sunum süresi ve rubric'i repoda yok; Teams'teki duyuruya bak.
Grubun supervisor'ı Meeting 3'ten sonra yurt dışına gitti ve formu ancak dönüşte imzalayabilecek. Grup bunu deadline'dan önce course assistant'a Teams'ten yazıyor: toplantı tarihi, supervisor'ın dönüş tarihi, formun imzasız kopyası ve supervisor'ın e-postası ekte. Bu "valid, documented, in advance" koşullarının üçünü de karşılıyor. Aynı açıklama deadline'dan sonra yapılsaydı "in advance" koşulu tutmazdı.
- "İlk formda tolere edildi, yine edilir" diye düşünmek. README açık: sonraki gecikmeler notu düşürür.
- Her üyenin ayrı ayrı yüklemesi. Gerek yok; grup lideri yükler. Ama liderin yüklediğinden herkes emin olmalı.
- Toplantı haftasıyla yükleme süresini karıştırmak: süre toplantı tarihinden başlar (bir hafta), ama Teams'teki sabit deadline daha erken olabilir. İkisinden erken olanı say.
"Deliverables this week: - [ ] Read the syllabus end to end and write down every deadline"
Not: Bu madde repo yazarının haftalık planından, hocanın verdiği bir ödev değil. Yine de dersin ilk haftası için en faydalı iş bu.
İpucu 1
Dört kaynağı tara: §2 (toplantılar ve bir haftalık yükleme kuralı), §4 (notlu bileşenlerin haftaları), §5 (her haftanın milestone'u), §6 (Week 9 repository kuralı). Üstüne Teams'te duyurulan kesin tarihleri ekle.
İpucu 2
Her satıra şu üçünü yaz: ne, ne zaman (kesin mi tahmini mi), kime/nereye. Tahmini tarihi kesin tarihten ayırmak sonradan sürprizleri önler.
Çözümü göster
| Ne | Ne zaman | Nereye / kime |
|---|---|---|
| Groups, topics and supervisors confirmed | Week 1 (≈ 14–20 Eyl, tahmini) | Course assistant |
| Supervisor Meeting 1 + imzalı form | Week 2–3; form toplantıdan sonra 1 hafta içinde | Supervisor; Teams |
| Project topic, title and supervisor recorded | Week 3 (≈ 28 Eyl – 4 Eki) | Course assistant |
| Supervisor Meeting 2 formu | 16 Ekim (kesin) | Teams |
| Project proposal (20%) | 18 Ekim 2026, Week 5 (kesin) | Teams |
| Supervisor Meeting 3 formu | 30 Ekim (kesin) | Teams |
| Technology stack ve development environment supervisor'la kararlaştırılmış | Week 7 (≈ 26 Eki – 1 Kas) | Supervisor |
| Midterm report + presentation (20%) | Week 8 (≈ 2–8 Kas); gün Teams'te | Teams / sınıf |
| Tek grup repository'si | Week 9'dan itibaren | GitHub |
| Supervisor Meeting 4 formu | 13 Kasım (kesin) | Teams |
| Repository link | Week 10 (≈ 16–22 Kas) | Teams |
| Core components demonstrated | Week 11 (≈ 23–29 Kas) | Supervisor |
| Supervisor Meeting 5 formu | 27 Kasım (kesin) | Teams |
| All five signed forms uploaded | Week 13 (≈ 7–13 Ara) | Teams |
| Final report, repository, documentation completed | Week 14 (≈ 14–20 Ara) | GitHub / Teams |
| Final report, presentation, demo (40%) | Week 15 (≈ 21–27 Ara) ya da final sınav dönemi; tarih belli değil | Sınıf / jüri |
| TÜBİTAK 2209-A (notsuz, isteğe bağlı) | Çağrı açılırsa TÜBİTAK'ın yayımladığı tarihler bağlayıcı | TÜBİTAK sistemi (TYBS) |
Kontrol: notlu dört bileşenin hepsi listede (proposal, 5 form, midterm, final). Her form için iki koşul yazılı: imzalı olacak ve sabit deadline ile "bir hafta içinde" kuralından erken olanına yetişecek.
Proposal teslim gününde bir üye hastalandı ve grup ertesi gün durumu Teams'ten bildirdi. Syllabus'a göre bu geç teslim kabul edilir mi?
Meeting 3, 27 Ekim Salı günü yapıldı. Formun en geç ne zaman yüklenmesi gerekir?
Version control, academic integrity ve AI
Proje grubun kendi işi olmalı; dış katkıların kaynakları ve AI kullanımı açıklanmalı, authorship doğru gösterilmeli ve teslim edilen her satır açıklanabilmelidir. AI kullanmak serbest, gizlemek değil. Dışarıdan alınan her kod, kütüphane, veri, şekil ve metin kaynağıyla birlikte ve licence'ına uygun kullanılır.
- Version control. Week 9'dan itibaren bütün kod tek bir grup repository'sinde. Commit geçmişi bireysel katkının kanıtı: kendi işini kendi hesabınla, düzenli olarak, dönem boyunca commit et.
- Academic integrity. Proje grubun kendi işi olmalı. External code, libraries, datasets, figures and text cited ve licence-compatible olmalı.
- AI. AI assistant'lar destek için serbest, ama raporda beyan edilmeli. Öğrenciler teslim edilen işin her satırından tamamen sorumlu ve defence'ta her satırı açıklayabilmeli.
- Plagiarism ya da authorship'in yanlış gösterilmesi üniversitenin disiplin yönetmeliğine göre ele alınır.
- Continuity. CSE 491'de başlayan proje Senior Design Project II'de devam eder; final sunumu gelecek dönemin geliştirme planını içerir.
§3.1 TÜBİTAK 2209-A: Çağrı bu dönem açılırsa gruplardan proposal'ı 2209-A formatında hazırlayıp başvurmaları istenir; Teams'te duyurulur. Notun hiçbir kısmı buna bağlı değil. Ayrıntılar Project proposal dersinde.
Grup grafikler için Chart.js (MIT), backend için Flask (BSD-3-Clause) kullanıyor; bir fonksiyonu bir forum cevabından uyarlamış; test verisinin bir kısmını açık bir veri setinden almış; unit test taslaklarını bir AI coding assistant'a yazdırmış. Bunların hepsi raporda görünmeli: kütüphaneler licence'larıyla, uyarlanan kod kaynağıyla, veri seti atıf ve licence'ıyla, AI kullanımı ayrı bir beyanla.
- AI'ın yazdığı kodu anlamadan commit etmek. Defence'ta "bunu AI yazdı" cevabı sorumluluğu kaldırmaz: "students remain fully responsible".
- Forumdan kopyalanan kodu kaynaksız bırakmak. Kod kısa olsa bile external code.
- Bir veri setini licence'ına bakmadan kullanmak. "Licence-compatible" koşulu kodla birlikte veri ve şekiller için de geçerli.
- Grup arkadaşının commit'ini kendi adına göstermek. Authorship'in yanlış gösterilmesi de disiplin konusu.
"External code, libraries, datasets, figures and text must be cited and licence-compatible. The use of AI assistants is permitted for support, but it must be declared in the report, and students remain fully responsible for, and must be able to explain in the defence, every line of the submitted work." (§6'nın ilgili kısmı)
Görev: Yukarıdaki uydurma dashboard projesinin raporu için (a) bir "Third-party components" tablosu, (b) kısa bir AI declaration paragrafı yaz.
İpucu 1
Tabloda her satır bir dış kaynak: ne, nerede kullanıldı, licence, atıf. Sadece kütüphaneleri değil veri setini ve uyarlanan kodu da say.
İpucu 2
Beyan üç soruya cevap vermeli: hangi araç, ne için kullanıldı, çıktısı nasıl kontrol edildi. Son cümle sorumluluğu üstlenmeli.
Çözümü göster
(a) Third-party components
| Component | Used for | Licence | Citation |
|---|---|---|---|
| Flask | REST API backend | BSD-3-Clause | Proje sitesi ve sürüm numarası, References'ta |
| Chart.js | Dashboard charts | MIT | Proje sitesi ve sürüm numarası |
| [open sensor dataset] | Test data for the import pipeline | Veri setinin kendi licence'ı (örneğin CC BY 4.0 ise atıf zorunlu) | Yazar, başlık, URL, erişim tarihi |
| Moving-average function | Smoothing in stats.py, adapted | Kaynağın licence'ı | Kaynak URL'si hem raporda hem kod yorumunda |
(b) AI declaration (rapor İngilizce):
AI assistance. We used an AI coding assistant ([tool, version])
for two tasks: drafting unit tests for the data-import service and
checking the grammar of Sections 2 and 4. Every AI-generated test
was read, edited and run by the group member who committed it;
tests that did not match our requirements were rewritten. The
problem definition, requirements, architecture and evaluation are
the group's own work. We take full responsibility for every line of
the submitted code and text and can explain it in the defence.
Neden yeterli: §6'nın üç isteği karşılanıyor. Dış kaynaklar cited ve licence'ları yazılı; AI kullanımı raporda declared; son cümle sorumluluğu ve açıklanabilirliği üstleniyor. Hangi commit'lerin AI destekli olduğunu commit mesajında belirtmek syllabus'ta istenmiyor, ama defence'ta "bu satırı nasıl yazdın?" sorusuna hazırlık için işe yarar.
Syllabus'a göre AI assistant kullanımı için hangisi doğru?
Kod Week 9'dan itibaren nerede tutulur?
Son kontrol
Bu sorular bütün dersi karıştırıyor. Cevaplamadan önce hangi bölümün kuralı olduğunu düşün.
Önce tahmin et: Aşağıdaki dönem başı listesinin kaç maddesini şu an kanıtıyla (mesaj, kayıt, dosya) gösterebilirsin? Sonra işaretle; seçimlerin bu tarayıcıda saklanır.
Bir grup üyesi hiçbir supervisor toplantısına gelmedi ama kod yazdı ve kendi hesabıyla commit etti. Syllabus'a göre ne olabilir?
Beş toplantının hepsi yapıldı; dört form imzalı ve zamanında yüklendi, birinin imzası yok. Meeting records bileşeninden kaç puan (100 üzerinden) gelir?
Grup, supervisor'ı değiştirmek istiyor. İlk adım ne?
Final report'u değerlendirirken bakılan referans belge hangisi?