Dersin Adı
|
Programlama Paradigmaları
|
Kodu
|
Yarıyıl
|
Teori
(saat/hafta)
|
Uygulama/Lab
(saat/hafta)
|
Yerel Kredi
|
AKTS
|
CE 316
|
Bahar
|
2
|
2
|
3
|
5
|
Ön-Koşul(lar)
|
|
SE 116 Başarılı olmak (En az DD notu almış olmak) |
|
Dersin Dili
|
İngilizce
|
Dersin Türü
|
Zorunlu
|
Dersin Düzeyi
|
Lisans
|
Dersin Veriliş Şekli
|
- |
Dersin Öğretim Yöntem ve Teknikleri
|
Grup çalışması Deney / Laboratuvar / Atölye uygulama Anlatım / Sunum
|
Ulusal Meslek Sınıflandırma Kodu
|
-
|
Dersin Koordinatörü
|
|
Öğretim Eleman(lar)ı
|
|
Yardımcı(ları)
|
|
Dersin Amacı
|
Dersin amacı, öğrencilere farklı programlama paradigmaları ve programlama dillerini tanıtmaktır. Öğrenciler, programlamayla ilgili değişik yaklaşımlarla karşı karşıya gelecek, böylece alanla ilgili bilgi dağarcıklarını genişletecek ve problem çözme konusunda deneyim kazanacaktır. |
Öğrenme Çıktıları
|
#
|
İçerik
|
PÇ Sub
|
* Katkı Düzeyi
|
1
|
2
|
3
|
4
|
5
|
1 | İmperatif programlar yazabilecektir, | | | | | | | 2 | Nesne yönelimli programlama dillerinde tasarım sorunlarını açıklayabilecektir, | | | | | | | 3 | İş parçacıkları kullanarak ortak kaynaklar kullanan eş zamanlı programlar yaratabilecektir, | | | | | | | 4 | Betik dilleri kullanarak hesaplama problemleri çözebilecektir, | | | | | | | 5 | Fonksiyonel programlama dillerini açıklayabilecektir, | | | | | | | 6 | Mantıksal programlama dillerini tanımlayabilecektir, | | | | | | | 7 | Proje geliştirmek amacıyla bir takım elemanı olarak çalışabilecektir. | | | | | | |
|
Ders Tanımı
|
Farklı programlama paradigmalarını tanıtan ve bu programlama dillerinde pratik beceriler içeren bu derste Zorunlu Programlama, C Programlama Dili, Bellek Yönetimi, Eş zamanlı Programlama, İş Parçacıkları, Kaynak Paylaşımı, Betik Programlama, Python, Fonksiyonel Programlama Dilleri, Mantıksal Programlama Dilleri konuları işlenecektir. |
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları
|
|
|
Temel Ders |
|
Uzmanlık/Alan Dersleri |
X
|
Destek Dersleri |
|
İletişim ve Yönetim Becerileri Dersleri |
|
Aktarılabilir Beceri Dersleri |
|
HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI
Hafta |
Konular |
Ön Hazırlık |
Öğrenme Çıktısı
|
1 |
Programlama Paradigmalarına ve Dillerine Giriş |
Concepts of Programming Languages, 2. Bölüm |
2 |
Zorunlu Programlama: C Programlama Diline Giriş |
C Programming Language, 1-4. Bölümler |
3 |
Zorunlu Programlama: İşaretçiler ve Bellek Yönetimi |
C Programming Language, 5. Bölüm |
4 |
Zorunlu Programlama: Yapılar, Dosya Giriş-Çıkış |
C Programming Language, 6. ve 7. Bölümler |
5 |
Nesne Yönelimli Programlama: Nesnelerle Düşünme |
Concepts of Programming Languages, 12. Bölüm |
6 |
Eş Zamanlı Programlama: İş Parçacıkları |
Concepts of Programming Languages, 13. Bölüm |
7 |
Eş Zamanlı Programlama: Semaforlar ve Monitörler |
Concepts of Programming Languages, 13. Bölüm |
8 |
Ara Sınav |
|
9 |
Betik Programlama: Python |
Python for Everybody: Exploring Data Using Python 3, 1-8. Bölümler, https://www.py4e.com/book |
10 |
Fonksiyonel Programlama Dilleri: LISP |
Concepts of Programming Languages, 15. Bölüm |
11 |
Fonksiyonel Programlama Dilleri: Haskell |
Concepts of Programming Languages, 15. Bölüm |
12 |
Mantıksal Programlama Dilleri: Prolog |
Concepts of Programming Languages, 16. Bölüm |
13 |
Mantıksal Programlama Dilleri: Prolog |
Concepts of Programming Languages, 16. Bölüm |
14 |
Proje Sunumları ve Proje Materyallerinin Teslimi |
|
15 |
Dersin gözden geçirilmesi |
|
16 |
Final Sınavı |
|
Ders Kitabı
|
Concepts of Programming Languages, Eleventh Edition, Robert W. Sebesta. Pearson, 2016, 978-1-292-10055-5.
|
Önerilen Okumalar/Materyaller
|
The C Programming Language, 2nd Edition, Brian W. Kernighan and Dennis M. Ritchie. Prentice Hall, 1988, 0131103628
Introducing Python, Bill Lubanovic. O’Reilly, 2015, 978-1449359362.
Python for Everybody: Exploring Data Using Python 3, Dr. Charles R. Severance, https://www.py4e.com/book
|
DEĞERLENDİRME ÖLÇÜTLERİ
Yarıyıl Aktiviteleri
|
Sayı |
Katkı Payı % |
LO 1 | LO 2 | LO 3 | LO 4 | LO 5 | LO 6 | LO 7 |
Katılım |
-
|
-
|
Laboratuvar / Uygulama |
1
|
5
|
Arazi Çalışması |
-
|
-
|
Küçük Sınav / Stüdyo Kritiği |
2
|
15
|
Portfolyo |
-
|
-
|
Ödev |
1
|
5
|
Sunum / Jüri Önünde Sunum |
-
|
-
|
Proje |
1
|
25
|
Seminer/Çalıştay |
-
|
-
|
Sözlü Sınav |
-
|
-
|
Ara Sınav |
1
|
25
|
Final Sınavı |
1
|
25
|
Toplam |
7
|
100
|
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı |
6
|
75
|
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı |
1
|
25
|
Toplam |
7 |
100 |
AKTS / İŞ YÜKÜ TABLOSU
Yarıyıl Aktiviteleri
|
Sayı |
Süre (Saat) |
İş Yükü |
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) |
16
|
2
|
32
|
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) |
16
|
2
|
32
|
Sınıf Dışı Ders Çalışması |
14
|
2
|
28
|
Arazi Çalışması |
-
|
-
|
-
|
Küçük Sınav / Stüdyo Kritiği |
2
|
4
|
8
|
Portfolyo |
-
|
-
|
-
|
Ödev |
1
|
4
|
4
|
Sunum / Jüri Önünde Sunum |
-
|
-
|
-
|
Proje |
1
|
30
|
30
|
Seminer/Çalıştay |
-
|
-
|
-
|
Sözlü Sınav |
-
|
-
|
-
|
Ara Sınavlar |
1
|
8
|
8
|
Final Sınavı |
1
|
8
|
8
|
|
|
Toplam |
150
|
DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ
#
|
PÇ Sub |
Program Yeterlilikleri / Çıktıları
|
* Katkı Düzeyi
|
1
|
2
|
3
|
4
|
5
|
1 |
Matematik, Fen Bilimleri ve Bilgisayar Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanır.
|
X
|
-
|
-
|
-
|
-
|
2 |
Karmaşık Bilgisayar Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular.
|
-
|
-
|
-
|
-
|
X
|
3 |
Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar; bu amaçla modern tasarım yöntemlerini uygular.
|
-
|
X
|
-
|
-
|
-
|
4 |
Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır.
|
-
|
-
|
X
|
-
|
-
|
5 |
Karmaşık Bilgisayar Mühendisliği problemlerinin veya araştırma konularının incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar.
|
-
|
-
|
-
|
-
|
-
|
6 |
Bilgisayar Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler.
|
-
|
X
|
-
|
-
|
-
|
7 |
Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır.
|
-
|
-
|
-
|
-
|
-
|
8 |
Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik çözümlerinin hukuksal sonuçlarının farkındadır.
|
-
|
-
|
-
|
-
|
-
|
9 |
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir.
|
-
|
-
|
-
|
-
|
-
|
10 |
Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir.
|
-
|
-
|
-
|
-
|
-
|
11 |
Bir yabancı dili kullanarak Bilgisayar Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1)
|
-
|
-
|
-
|
-
|
-
|
12 |
İkinci yabancı dili orta düzeyde kullanır.
|
-
|
-
|
-
|
-
|
-
|
13 |
Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Bilgisayar Mühendisliği alanıyla ilişkilendirir.
|
-
|
-
|
-
|
-
|
-
|
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest