CMP1001 Introduction to Programming (C++)Bahçeşehir ÜniversitesiAkademik Programlar TIPÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal YeterliliklerBologna Komisyonu
TIP
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ü: MEHMET ŞÜKRÜ KURAN
Dersi Veren(ler): Dr. Öğr. Üyesi CEMAL OKAN ŞAKAR
Dr. 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. Bir bilgisayar sisteminin bileşenlerini tanımak
II. Problem tanımı ve analizi, algoritma geliştirilmesi
III. Temel programlama kavramları hakkında bilgi sahibi olmak
IV. C++ ile program geliştirilmesi
V. Yapısal programlamanın temellerini kavramak
VI. Nesne yönelimli düşünme için pratik kazanmak
VII. Başlıca veri yapıları ve algoritmalar hakkında bilgi sahibi olmak
VIII. C++ dilinin ileri programlama kavramları ile ilgili bilgi sahibi olmak

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

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

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/

Değerlendirme Sistemi

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

AKTS / İş Yükü Tablosu

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

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) Temel ve klinik tıp bilimlerinden, davranış bilimlerinden ve sosyal bilimlerden edindiği bilgi, beceri ve tutumları bütünleştirerek sağlık hizmeti sunumunda kullanır.
2) Hasta yönetiminde, dil, din, ırk ve cins ayrımı gözetmeden bireyin sosyodemografik ve sosyokültürel geçmişini de dikkate alan biyopsikososyal bir yaklaşım gösterir.
3) Sağlık hizmeti sunumunda, bireylerin ve toplumun sağlığını koruma ve geliştirmeyi önceler.
4) Sağlığı etkileyen bireysel, toplumsal, sosyal ve çevresel faktörleri dikkate alarak; sağlıklılık durumunun sürdürülmesi ve geliştirilmesi yönünde gerekli çalışmaları yapar.
5) Hedef kitlenin özelliklerini, ihtiyaçlarını ve beklentilerini tanıyarak, sağlıklı/hasta bireylere ve yakınlarına ve diğer sağlık çalışanlarına sağlık eğitimi verir.
6) Sağlık hizmet sunumunda, koruma, tanı, tedavi, takip ve rehabilitasyon süreçlerinde güvenli, akılcı ve etkin yaklaşım gösterir.
7) Tanı, tedavi, takip ve rehabilitasyon süreçlerinde, girişimsel ve/veya girişimsel olmayan uygulamaları hasta için güvenli ve etkin bir biçimde gerçekleştirir.
8) Hasta ve çalışan sağlığını ve güvenliğini göz önünde bulundurarak sağlık hizmeti sunar.
9) Sağlık hizmet sunumunda, sağlığa etki eden gerek bölgesel ve küresel ölçekteki fiziksel ve sosyoekonomik çevreye ilişkin değişiklikleri, gerekse de kendisine başvuran kişilerin bireysel özellik ve davranışlarındaki değişimleri göz önünde bulundurur.
10) Mesleğini yürütürken iyi hekimlik uygulamalarını dikkate alır.
11) Mesleğinin gerektirdiği etik ilkeler ile hak ve yasal sorumluluklar çerçevesinde görev ve yükümlülükleri yerine getirir.
12) Hastanın bütünlüğünü dikkate alarak, yüksek nitelikli sağlık bakımı sunma konusunda kararlı davranışlar gösterir.
13) Mesleki uygulamalarındaki performansını, duygularını ve bilişsel özelliklerini de göz önünde bulundurarak değerlendirir.
14) Toplum sağlığının korunması ve geliştirilmesi için, sosyal güvenirlik ve sosyal yükümlülük kavramlarını göz önünde bulundurarak, sağlık hizmet sunumunu geliştirmeyi savunur.
15) Sağlığın korunması ve geliştirilmesi için birey ve toplum sağlığı ile ilgili hizmet sunumu, eğitim ve danışmanlık süreçlerini tüm bileşenler ile işbirliği içinde planlayabilir ve yürütebilir.
16) Sağlık politikalarının ve uygulamalarının birey ve toplum sağlık göstergelerine etkisini değerlendirir ve sağlık hizmetleri kalitesinin artırılmasını savunur.
17) Hekim kendi fiziksel, ruhsal ve sosyal yönden sağlığını korumaya geliştirilmesine önem verir, bunun için gerekenleri yapar.
18) Hizmet sunumu sırasında sağlık ekibi içinde örnek davranışlar gösterir, liderlik yapar.
19) Yöneticisi olduğu sağlık kuruluşunda, sağlık hizmetlerini planlama, uygulama, değerlendirme süreçlerinde kaynakları maliyet-etkin, toplum yararına ve mevzuata uygun kullanır.
20) Birlikte hizmet sunduğu sağlık ekibi içinde, olumlu iletişim kurar ve gerektiğinde farklı ekip rollerini üstlenir.
21) Sağlık ekibi içindeki sağlık çalışanlarının görev ve yükümlülüklerinin farkındadır ve buna uygun davranışlar gösterir.
22) Mesleki uygulamalarında meslektaşları ve diğer meslek grupları ile uyumlu ve etkin çalışır.
23) Hasta,hasta yakınları,sağlık çalışanları diğer meslek grupları, kurum ve kuruluşlarla etkili iletişim kurar.
24) Özel yaklaşım gerektiren ve farklı sosyo kültürel özelliklere sahip birey ve gruplar ile etkili iletişim kurar.
25) Tanı, tedavi, takip ve rehabilitasyon süreçlerinde, hastayı karar verme mekanizmalarına ortak eden, hasta merkezli bir yaklaşım gösterir.
26) Hizmet sunduğu nüfusa yönelik, gerekli durumlarda bilimsel araştırma planlar, uygular ve elde ettiği sonuçları ve/veya başka araştırmaların sonuçlarını toplumun yararına kullanır.
27) Mesleği ile ilgili güncel literatür bilgisine ulaşır ve eleştirel değerlendirir.
28) Klinik karar verme sürecinde, kanıta dayalı tıp ilkelerini uygular.
29) Sağlık hizmeti, araştırması ve eğitimine yönelik çalışmalarının etkinliğini artırmak için bilişim teknolojilerini kullanır.
30) Bireysel çalışma süreçleri ve kariyer gelişimini etkili olarak yönetir.
31) Yeni bilgileri edinme, değerlendirme, mevcut bilgileri ile entegre etme, mesleki durumlara uygulama ve meslek yaşamı boyunca değişen koşullara uyum sağlama becerilerini gösterir.
32) Sunduğu sağlık hizmetinin niteliğini geliştirmek için doğru öğrenme kaynaklarını seçer, kendi öğrenme sürecini düzenler