BİLGİSAYAR PROGRAMCILIĞI
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 2000002017
Ders İsmi: Unix/Linux Sistem Programcılığı
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 3
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm Seçmeli
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ü: Öğr.Gör. Esma TAYRAN
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders Bilgisayar Biliminde lisans dersi olarak UNIX/Linux kabuk programlama araçları hakkında verilmektedir. Ders UNIX işletim sistemine genel bir bakış verir, kullanıcılara ve programcılara sağlanan araçları tanıtır.
Dersin İçeriği: Bu ders, UNIX/Linux işletim sistemi üzerine Bilgisayar Biliminde lisans dersidir. Ders, işletim sisteminin geniş bir görünüşünü sunarken, dersin odaklandığı ana konular Bash programlama ve sistem yönetimidir. Öğrenciler, işletim sisteminde komut ve betik programlamayı ve kullanmayı pratik olarak öğrenecek ve UNIX ortamını tanıyacaktır. Ders, modern işletim sistemleri bilgisini ve programlamanın temelleri hakkında pratik beceriyi önkoşul olarak ihtiyaç kılmaktadır. Öğrencilerden, dönem projesi kapsamında uygun teknik kod yazma becerilerini geliştirmeye yönelik bir betik programlama projesi istenecektir.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Linux içeriğindekileri ve hizmetlerini tanımlayabilecektir.
2) “bash” kabuğunu ve bu kabuktaki temel komutları kullanabilecektir.
3) “bash” betikleri yazabilecektir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
1) açık kaynak yazılım geliştirme kavramını açıklayabilecektir.
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği
1) Linux sistemlerindeki yönetici görevlerini ve sorumluluklarını listeleyebilecektir.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) UNIX/Linux Tarihi ve Komut Satırı Arayüzüne Giriş The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
2) Dosya Sistemi ve Komutları The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
3) Bash Kabuğu The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
4) Betik Programlama The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
5) Düzenli İfadeler The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
6) Akan Düzenleyici: sed The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
7) Awk Programlama Dili The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
8) Ara Sınav The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
9) Metin İşleme The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
10) Sistem Yönetimi The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
11) İleri Betik Programlama The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
12) Komutlar ve Betikler The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
13) Python Programlama Dili, Kısım I The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
14) Python Programlama Dili, Kısım II The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7
15) Final Sınavı The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7

Kaynaklar

Ders Notları / Kitaplar: Bash betik programlama üzerine çevrimiçi kaynak kitap: http://tldp.org/LDP/abs/html
Diğer Kaynaklar: The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir)
Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/)
Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7
UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X

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

Ders Öğrenme Kazanımları

1

2

3

4

5

Program Kazanımları
1) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak.
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak.
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak.
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak.
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak.
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak.
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak.

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) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak. 1
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak. 3
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak. 2
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak. 4
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak. 4
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak. 4
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak. 2

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

Alan Çalışması
Akran Değerlendirmesi
Anlatım
Beyin fırtınası /Altı şapka
Bireysel çalışma ve ödevi
Ders
Problem Çözme
Soru cevap/ Tartışma
Örnek olay çalışması
Web Tabanlı Öğrenme
Staj/Yerinde Uygulama

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

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Sözlü sınav
Ödev
Uygulama
Sunum
Bilgisayar Destekli Sunum

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ara Sınavlar 1 % 40
Yarıyıl/Yıl Sonu Sınavı 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 4 56
Sınıf Dışı Ders Çalışması 14 2 28
Ara Sınavlar 1 10 10
Final 1 10 10
Toplam İş Yükü 104