SİNEMA VE TELEVİZYON
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Tanıtım Bilgileri

Ders Kodu Ders Adı Yarıyıl Teorik Pratik Kredi AKTS
CMP1001 Programlamaya Giriş (C++) Bahar 2 2 3 6
Bu katalog bilgi amaçlıdır, dersin açılma durumu, ilgili bölüm tarafından yarıyıl başında belirlenir.

Temel Bilgiler

Öğretim Dili: İngilizce
Dersin Türü: Non-Departmental Elective
Dersin Seviyesi: LİSANS
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üyesi ECE GELAL SOYAK
Dersi Veren(ler): Doç. Dr. CEMAL OKAN ŞAKAR
Dr. Öğr. Üyesi UTKU GÜLEN
Arş.Gör. ÇİĞDEM ERİŞ
Dr. Öğr. Üyesi TARKAN AYDIN
Dr. Öğr. Üyesi ERKUT ARICAN
Dr. Öğr. Üyesi ÖVGÜ ÖZTÜRK ERGÜN
Dr. Öğr. Üyesi ÖZGÜR ERKUT ŞAHİN
Dr. Öğr. Üyesi ECE GELAL SOYAK
Opsiyonel Program Bileşenleri: Yok.......
Dersin Amacı: Bu dersin amacı, programlama kavramları, bilgisayar program tasarımı ve C++ dili ile programlamaya genel bir bakış sağlamaktır. C++ dili ile çalışan programlar yazılması dersin amaçlarının başında gelmektedir. Ders, yazılım geliştirme aşamaları olan program analizi, tasarlanması, gerçeklemesi ve sınama kavramlarına temel oluşturacaktır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
I. Problem tanımı ve analizi, algoritma geliştirme.
II. C++ ile, çeşitli seçim yapılarını kullanan bilgisayar programlarını geliştirme.
III. C++ ile, tekrarlama yapılarını kullanan bilgisayar programlarını geliştirme.
IV. C++ ile, diziler ve çok boyutlu diziler gibi basit veri yapılarını kullanan bilgisayar programlarını geliştirme.
V. Bir C++ programında fonksiyonları tanımlama ve doğru şekilde çağırma.
VI. C++ ile, işaretçileri ve referansları doğru şekilde kullanan bilgisayar programları geliştirme.

Dersin İçeriği

Kodlamaya giriş (Programlama dilleri, derleyiciler)
Problem çözme, Algoritma Tasarımı ve Gösterimi (sözde kod, akış şeması)
Basit veri tipleri, Sabitler, Değişkenler, Tanımlayıcılar, İsimlendirilmiş sabitler, Aritmetik operatörler
İlişkisel ve mantıksal operatörler, Şartsal ifadeler
Döngüler (While, Do While)
Döngüler (For) ve döngü anahtar sözcükleri
Fonksiyonlar, Fonksiyon aşırı yüklemesi
Diziler, Çok boyutlu diziler, dizilerde arama
Karakter dizileri, karakter dizi fonksiyonları
İşaretçiler
Referansla geçirme, değerle geçirme

Dersin öğretim yöntemleri şu şekildedir:
- Anlatım
- Bireysel Çalışma
- Teknoloji Destekli Öğrenme
- Problem Çözme
- Uygulama

Haftalık Ayrıntılı Ders İçeriği

Hafta Konu Ön Hazırlık
1) Bilgisayar sistemlerine giriş. Bilgisayar bileşenlerinin (donanım) ve farklı yazılım dillerinin tanıtılması. C++ dilinin yapısının, özelliklerinin, derleyicilerin tanıtılması. Kitap ve internetten bilgisayar bileşenlerine ve C++ programlama diline ilişkin ön araştırma yapılması.
2) Problem çözme (Algoritmalar, sözde kod, akış şeması), Algoritma tasarımı Algoritma tasarım yöntemleri hakkında ders kitabı ve diğer kaynaklardan bilgi edinmek
3) Basit veri tipleri, Sabitler, Değişkenler, Tanımlayıcılar, İsimlendirilmiş sabitler, Aritmetik operatörler Algoritma tasarımı tekniklerinden sözde kod ve akış şeması teknikleriyle örnek programlar tasarlanması Ders kitabının basit veri tipleri, sabitler, değişkenler, isimlendirilmiş sabitler, aritmetik operatörler hakkındaki kısımlarını okumak
4) Quiz, İlişkisel ve mantıksal operatörler, Şartsal ifadeler Basit C++ programları yazmak
5) Döngüler (Do/While) İlişkisel ve mantıksal operatörler içeren örnek programlar geliştirmek Ders kitabı ve referans kaynakların döngüler hakkındaki kısımlarını okumak
6) Döngüler ('For'), 'break' ve 'continue' anahtar sözcükleri Döngülerle ilgili örnek programların sözde kodlarını yazmak, akış şemalarını çizmek ve C++ kodlarını yazmak
7) Quiz, Fonksiyonlar, Özyinelemeli fonksiyonlar, Fonksiyon aşırı yüklemesi Moduler programlamayla ilgili ders kitabından ve referans kaynaklardan bilgi edinilmesi
8) Diziler Fonksiyon içeren örnek C++ programları geliştirilmesi
9) Karakter dizileri, karakter dizi fonksiyonları Ders kitabının ve referens kaynaklarının, karakter dizileri ve hazir karakter dizi fonksiyonları hakkındaki ilgili bölümlerini okumak
11) Çok boyutlu diziler Dizilerle ilgili örnek C++ programları geliştirmek
12) Quiz, Dizi sıralama, dizilerde arama yapmak Karakter dizileri hakkında programlar geliştirmek, hazır karakter dizi fonksiyonlarını kullanmak
13) İşaretçiler Dizi sıralama ve dizilerde arama yapma algoritmalarının örnek C++ programlarında Ders kitabının ve referans kaynakların işaretçiler ile ilgili kısımlarının okunması
14) Fonksiyonlara işaretçileri kullanarak referansla geçirme, Fonksiyon işaretçileri İşaretçilerle ilgili örnek C++ programları geliştirilmesi

Kaynaklar

Ders Notları / Kitaplar: Paul J. Deitel, Harvey M. Deitel, C++ How to Program, 7th Ed., Pearson

Bjarne Stroustrup, The C++ Programming Language, 3rd Ed., Addison-Wesley.

Bjarne Stroustrup, Programming Principles and Practice Using C++, 1st Ed., Addison-Wesley.

Walter Savitch, Problem Solving with C++, 7th Ed., Addison-Wesley

Andrei Alexandrescu, Herb Sutter, C++ Design and Coding Standards: Rules and Guidelines for Writing Programs, 1st Ed., Addison-Wesley.
Diğer Kaynaklar: http://www.cplusplus.com/doc/tutorial/

http://www.cprogramming.com/

Değerlendirme Sistemi

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Laboratuar 14 % 0
Küçük Sınavlar 2 % 10
Ödev 1 % 5
Ara Sınavlar 1 % 40
Final 1 % 45
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 55
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 45
Toplam % 100

AKTS / İş Yükü Tablosu

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Laboratuvar 14 2 28
Ödevler 1 10 10
Küçük Sınavlar 3 12 36
Ara Sınavlar 1 24 24
Final 1 35 35
Toplam İş Yükü 161

Program ve Öğrenme Kazanımları İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Dünyayı ve toplumu anlamaya yönelik sosyal bilimlerin ve güzel sanatların kuramsal ve analitik temel kavramlarına ve yöntemlerine aşina olmak 4
2) Farklı medyalara ve sanat dallarına ilişkin temel bilgilere hâkim 3
3) Sesli-hareketli görüntü mecralarında dünyada ve Türkiye’deki tarihsel birikime ve yeni gelişmelere hâkim 1
4) Dünyada ve Türkiye’deki sesli-hareketli görüntü diline ve estetiğine hâkim 1
5) Kurmaca olan ve olmayan bir sesli hareketli görüntü ürününde kullanılabilecek bir anlatı oluşturabilen 2
6) Çekime hazır bir senaryo yazabilen 2
7) Mevcut bir senaryoyu photoboardlaştırıp, kamera, ışık ve diğer gerekli teçhizatı kullanarak çekimini gerçekleştirebilen 2
8) Çekilmiş görüntüleri dijital ortama aktararak kurgulayabilen ve diğer post-prodüksiyon işlemlerini yapabilen 2
9) Belgesel nitelikli bir sesli-hareketli görüntü ürününü ön hazırlık, çekim, kurgu ve post-prodüksiyon aşamalarıyla birlikte hazırlayabilen 2
10) Televizyon ve radyo mecralarına özgü sesli-hareketli görüntü ürünlerini ön hazırlık, çekim, kurgu ve post-prodüksiyon aşamalarıyla birlikte hazırlayabilen 2
11) Bir sesli-hareketli görüntü ürününü görsel-işitsel dili ve anlatısı açısından anlamlandırabilecek, eleştirel yaklaşabilecek ve bu yaklaşımlarını yazılı olarak ifade edebilecek kültürel ve kuramsal analitik donanıma sahip 3
12) Etik ve toplumsal sorumluluk duygusuna sahip 5