• Türkçe
  • English
Ders Kodu: 
ACM 331
Ders Dönemi: 
Güz
Ders Tipi: 
Alan Seçmeli
Teori Saati: 
3
Uygulama Saati: 
0
Kredi: 
3
AKTS: 
6
Dersin Dili: 
İngilizce
Dersin Amacı: 
Bu derste ögrencilere genis ve derinlemesine programlama dili kavram ve teorilerinin tartısma imkânı sağlanır. Program, öğrencilere programlama dillerinin teorisinin anlaşılmasında sağlam bir temel oluşturur. Bu ders yaygın olarak bilinen ve kullanılan programlama dillerini inceler ve de onları dönüşümlü olarak karşılaştırır.
Dersin İçeriği: 

Bu ders şu konuları içermektedir: Programlama dillerinin tasarımı ve gerçekleştirme ilkeleri. Dillerde anlamsal özellikler, Backus Naur Formunda söz dizim, ve ayırma, derleyiciler, yorumlayıcılar, veri ve denetim yapıları prosedürel, fonksiyonel programlama, mantıksal programlama, modüler programlama, nesne yönelimli programlamaya yönelik dillerden örnekler.

Dersin Öğretim Yöntemleri: 
1: Anlatım, 2: Soru-Cevap, 3: Tartışma 4: Uygulama
Dersin Ölçme Yöntemleri: 
A: Sınav B: Laboratuar C: Ödev D: Proje

Dikey Sekmeler

Dersin Öğrenme Çıktıları

Dersin Öğrenme Çıktıları

Program Öğrenme Çıktıları

Öğretim Yöntemleri

Ölçme Yöntemleri

Bilişim mezunu amirane, nesneye dayalı, fonksiyonel ve mantıksal programlama dilleri gibi farklı tipteki programları nasıl birbirinden ayırt edilmesi gerektiğini bilir.

6

1,4

A,B,C

Bilişim mezunu programlama dillerindeki anlamsal özellikleri, Backus Naur formunda söz dizimini ve ayırımını bilir.

6,9,8

1,2,3,4

A,B,C

Derleyicileri, yorumlayıcıları, veri ve denetim yapılarının nasıl kullanıldığını bilir.

6

1,2,3,4

A,B,C

Programlama dillerinin çeşitlerini ve onların zaman içerisindeki gelişim ve yapılarını bilir.

6

1

A

Nesneye dayalı programlama dillerinin kavramsal temellerini ve bu programlama diliyle yazılmış olan örnekleri açıklayabilir.

9,6,3

1,2,3,4

A,B,C,D

Programlama dilleri uygulamaları hakkındaki raporları yazabilir ve de derleme süreci esnasındaki sözcük ve sintaks analiz işlemlerini müzakere edebilir.

6

1,2,3,4

A,B,C

Farklı programlama dilleri kullanılarak yazılmış küçük programları geliştirebilir.

9,8

1,2,3,4

A,B,C

 

Dersin Akışı

Hafta

Konular

Ön Hazırlık

1

Programlama dillerine giriş. : Programlama dillerinin tasarımı ve gerçekleştirme ilkeleri.

  Chapter 1-2

2

Dillerde anlamsal özellikler, Backus Naur Formunda söz dizim, ve ayırma

  Chapter 3-4

3

Derleyiciler, yorumlayıcılar, tip kontrolü ve alan

Chapter 5

4

Veri tipleri ve denetim yapıları

Chapter 6

5

İfadeler ve atama ifadeleri

Chapter 7-8

6

ARA SINAV

 

7

Alt programlar ve alt programları gerçekleme

Chapter 9-10

8

Sembolik programlama

Chapter 10

9

Nesnel programlama dillerinin listelenmesi ve yapay zeka

 

10

Soyut veri yapıları, prosedürel ve mantıksal programlama

Chapter 11

11

Nesnel programlama örnekleri

Chapter 12

12

Eşzamanlılık, Modüler programlama

Chapter 13

13

İstisna yönetimi ve olay yönetimi

Chapter 14

14

Fonksiyon tabanlı programlama dilleri

Chapter 15

15

TEKRAR VE ARA SINAV

 

 

Kaynaklar

Ders Notu

Concepts of Programming Languages. International Edition 10th Edition by Roberto Sebesta (2008), ISBN: 9780321509680

Diğer Kaynaklar

Makaleler, slaytlar ve eğitmen notları

 

Materyal Paylaşımı

Dökümanlar

Sunumlar ve Laboratuvar Föyleri, REDUCE and LISP dökümanları

Ödevler

Ödev Föyleri

Sınavlar

Eski Sınav Soruları öğrencilere verilmektedir.

 

Değerlendirme Sistemi

YARIYIL İÇİ ÇALIŞMALARI

SIRA

KATKI YÜZDESİ

Ara Sınav

2

66

Kısa Sınav

4

16

Ödev

10

18

Toplam

 

100

Finalin Başarıya Oranı

 

40

Yıl içinin Başarıya Oranı

 

60

Toplam

 

100

 

 

 

DERS KATEGORİSİ

Uzmanlık / Alan Dersleri

 

Dersin Program Çıktılarına Katkısı

No

Program Öğrenme Çıktıları

Katkı Düzeyi

1

2

3

4

5

1

Bilişim sistemleri mezunu gelişen bilgisayar teknolojileriyle ortaya çıkan çoklu ortamlarda görsel ara yüzlerin tasarlanması ve geliştirilmesi için gerekli sistemlerin oluşturulması konusunda bilgi sahibidir. (ACM 112,262)

 

 

 

 

 

2

Bilişim sistemleri mezunu gelişen bilgisayar teknolojileriyle ortaya çıkan çoklu ortamlarda kullanıcılara amaçlarına uygun bilgisayar uygulamalarının tasarlanması, geliştirilmesi ve kullanılabilmesi için gerekli sistemlerin oluşturulması konusunda ileri bilgi sahibidir. (ACM365, 368,473)

 

 

 

 

 

3

Bilgisayar biliminin temel işleyişini ve problemlerini soyut matematik çerçevesi içinde çözebilmek için gerekli algoritma veri yapılarını tasarlayabilen, geliştirilebilen ve uygulayabilen bilgi ve beceriye sahiptir. (ACM 221,222)

 

 

 

X

 

4

Bilişim mezunu günümüze kadar geliştirilen yapısal yazılım geliştirme araçlarıyla amacına uygun yazılım mantığını tasarlayabilme, bu yazılımları geliştirebilme ve farklı donanım ortamlarında uç kullanıcıların kullanımına sunabilme bilgi ve becerilerine sahiptir.(ACM 311,322)

 

 

X

 

 

5

Bilişim mezunu günümüze kadar geliştirilen nesne yönelimli yazılım geliştirme araçlarıyla amacına uygun yazılım mantığını tasarlayabilme, bu yazılımları geliştirebilme ve farklı donanım ortamlarında uç kullanıcıların kullanımına sunabilme bilgi ve becerilerine sahiptir (ACM 321).

 

 

 

x

 

6

Bilişim mezunu bilgisayarların temel bileşeni işletim sistemlerinin işleyiş mantığını, sistemde işlerin ve kullanıcı yetkilerinin yönetimi için komutların geliştirilmesi ve  farklı donanımsal ortamlarda uygulanmasını bilir.(ACM 369,370)

 

 

 

 

X

7

Bilişim mezunu veri kavramı, yapıları, modelleri ile veritabanı uygulamalarını kullanma ve ilişkisel veritabanlarında veriyi erişim ve işleme araçlarını tasarlama, geliştirme ve uygulama hakkında bilgi ve becerilere sahiptir.(ACM 211, 364)

X

 

 

 

 

8

Bilişim mezunu ticari amaçlı yazılımların veri depolarının modellenmesi, yazılımdan bağlanarak(aracılığıyla) veriye erişim, verilerin işlenmesi konularında ilgili yazılım araçlarıyla geliştirme ve uygulayabilme bilgi ve becerilerine sahiptir.(ACM 221,364)

X

 

 

 

 

9

Bilişim mezunu bilgisayar ağlarının temellerini, ağ sistemin tasarlanması ve yapılandırılması, bakımı ve sorunlarını çözebilmek için gerekli ve yeterli bilgi birikimine sahip olmak. (ACM 361, 362, 363, 463, 464)

 

 

 

 

 

10

Bilişim mezunu günümüzün en büyük bilgisayar ağ olan internete özel olarak görsel ara yüzlerin ve çoklu katmanlı istemci/sunucu mimarisinde çalışabilecek yazılımların tasarlanması, geliştirilmesi ve uygulanabilmesi gerekli bilgi, beceri ve donanıma sahiptir. (ACM 365, 368, 412)

 

 

 

 

 

 

AKTS İş Yükü Tablosu

Etkinlik

SAYISI

Süresi
(Saat)

Toplam
İş Yükü
(Saat)

Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati)

16

3

48

Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme)

16

3

48

Ara Sınav

2

2

4

Kısa Sınav

4

1

4

Ödev

10

3

30

Final

2(Bütünleme Dahil)

2

4

Toplam İş Yükü

 

 

138

Toplam İş Yükü / 25 (s)

 

 

5.52

Dersin AKTS Kredisi

 

 

6

 
Hiçbiri