defter*
defter / katalog / CS 437
CS 437

Software Design Patterns

Introduction to software design patterns and principles. Fundamental principles and techniques for designing and developing scalable, maintainable, and flexible software systems. Object-oriented design principles and their application in software development. Refactoring techniques for improving software quality, reliability, and performance. Creational patterns for managing object creation, structural patterns for organizing system components, and behavioral patterns for modeling complex interactions. Case studies and research in design patterns. Mining design patterns from open-source software repositories. Design patterns in real-world scenarios.

Credit3
ECTS5
BölümComputer Engineering
FacultyFaculty of Engineering
PrereqCS 319

Hocalar 1 bu dönem · 0 geçmiş

Bu dönem (2025-2026 Spring) · 1 section
Anıl Koyuncu

→ STARS müfredatı / syllabus

Materyal — 0 dosya

Bu derste henüz materyal yok.

İlk dosyayı sen ekleyebilirsin — notlar, geçmiş finaller, çözümler, cheat-sheet, ne varsa. Drive linki / PDF / ZIP / fotoğraf, hepsi olur.

Şu an: mail at, ben düzenleyip yayına alayım. Form/upload UX yakında geliyor (Kimya tasarlıyor).

↑ konuya CS 437 yaz

Müfredat detayı STARS syllabus

📚 Önerilen kaynaklar

  • Önerilen Design Patterns: Elements of Reusable Object-Oriented Software Erich Gamma, Richard Helm · Ralph Johnson · John Vlissides
  • Önerilen Head First Design Patterns Eric Freeman, Elisabeth Robson · Bert Bates · Kathy Sierra
  • Önerilen Refactoring: Improving the Design of Existing Code Martin Fowler
  • Önerilen Clean Code: A Handbook of Agile Software Craftsmanship Robert C. Martin

⚠️ FZ engelleyen şartlar

There is no final exam for this course, however, any one of the following will directly result in an F grade: (1) not submitting a project or homework (including report), (2) being absent in the midterm, (3) being absent in the project presentation.

🤖 GenAI politikası

https://w3.bilkent.edu.tr/bilkent/generative-artificial-intelligence-genai-guideline/

📅 Haftalık müfredat

Introduction to Software Design Patterns Object Oriented Design Principles Object Oriented Design Principles Refactoring Refactoring Creational Design Patterns Structural Design Patterns Structural Design Patterns Behavioral Design Patterns Behavioral Design Patterns Mining Design Patterns Midterm Case Studies and Research in Design Patterns Final Project Presentations ECTS - Workload Table: Activities Number Hours Workload Preparation for Midterm exam 1 20 20 Presentation (including preparation) 2 4 8 Report (including preparation and presentation if applicable) 1 30 30 Homework 4 5 20 Course hours 14 3 42 Project (including preparation and presentation if applicable) 1 30 30 Midterm exam 1 2,5 2.5 Total Workload: 152.5 Total Workload / 30: 152.5 / 30 5.08 ECTS Credits of the Course: 5 Type of Course: Lecture - Project Course Material: LMS (Moodle, etc) Teaching Methods: Lecturing - Assignment - Independent study - Presentations