CMP1001 Introduction to Programming (C++)Bahçeşehir ÜniversitesiAkademik Programlar OPTİSYENLİK (TÜRKÇE)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal YeterliliklerBologna Komisyonu
OPTİSYENLİK (TÜRKÇE)
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CMP1001
Ders İsmi: Programlamaya Giriş (C++)
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 2 3 6
Öğretim Dili: İngilizce
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Non-Departmental Elective
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: MEHMET ŞÜKRÜ KURAN
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

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.
Dersin İçeriği: Önemli bilgisayar sistemi kavramlarına giriş (Bilgisayar bileşenleri, yazılım, işletim sistemi, dosya sistemi, programlama dilleri, derleyiciler)
Problem çözme (Algoritmalar, sözde kod, akış şeması), Algoritma tasarımı
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, Özyinelemeli fonksiyonlar, Fonksiyon aşırı yüklemesi
Karakter dizileri, karakter dizi fonksiyonları
Diziler
Çok boyutlu diziler
Dizi sıralama, dizilerde arama
İşaretçiler
Referansla geçirme, değerle geçirme
Fonksiyon işaretçileri

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Önemli bilgisayar sistemi kavramlarına giriş (Bilgisayar bileşenleri, yazılım, işletim sistemi, dosya sistemi, programlama dilleri, derleyiciler) Önemli bilgisayar sistemi kavramları hakkında ders kitabından bilgi edinmek
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/

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları
Program Kazanımları
1) Alanı ile ilgili temel düzeyde kuramsal ve uygulamalı bilgilere sahiptir.
2) Alanıyla ilgili etik ilke ve kurallara ilişkin bilgiye sahiptir.
3) Alanı ile ilgili temel düzeydeki kuramsal ve uygulamalı bilgileri, temel bilgisayar programlarını ve ilgili teknolojileri kullanır.
4) Alanı ile ilgili sahip olduğu temel bilgi birikimini kullanarak verilen bir görevi bağımsız olarak yürütür.
5) Alanında edindiği temel düzeydeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirir; öğrenme gereksinimlerini belirler ve öğrenmesini yönlendirir.
6) Alanının gerektirdiği en az Avrupa Bilgisayar Kullanma Lisansı temel düzeyinde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini kullanır.
7) Kalite yönetimi ve süreçlerine uygun davranır ve katılır.
8) Birey ve halk sağlığı, çevre koruma ve iş güvenliği konularında yeterli bilince sahiptir.
9) Birey olarak görev, hak ve sorumlulukları ile ilgili yasa, yönetmelik, mevzuat ve mesleki etik kurallarına uygun davranır.

Ders - Öğrenme Kazanımı İ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) Alanı ile ilgili temel düzeyde kuramsal ve uygulamalı bilgilere sahiptir.
2) Alanıyla ilgili etik ilke ve kurallara ilişkin bilgiye sahiptir.
3) Alanı ile ilgili temel düzeydeki kuramsal ve uygulamalı bilgileri, temel bilgisayar programlarını ve ilgili teknolojileri kullanır.
4) Alanı ile ilgili sahip olduğu temel bilgi birikimini kullanarak verilen bir görevi bağımsız olarak yürütür.
5) Alanında edindiği temel düzeydeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirir; öğrenme gereksinimlerini belirler ve öğrenmesini yönlendirir.
6) Alanının gerektirdiği en az Avrupa Bilgisayar Kullanma Lisansı temel düzeyinde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini kullanır.
7) Kalite yönetimi ve süreçlerine uygun davranır ve katılır.
8) Birey ve halk sağlığı, çevre koruma ve iş güvenliği konularında yeterli bilince sahiptir.
9) Birey olarak görev, hak ve sorumlulukları ile ilgili yasa, yönetmelik, mevzuat ve mesleki etik kurallarına uygun davranır.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 4 % 25
Ara Sınavlar 1 % 35
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Saati 14 28
Laboratuvar 14 28
Küçük Sınavlar 6 12
Ara Sınavlar 6 22
Final 6 26
Toplam İş Yükü 116