SEN4531 Unix ProgrammingBahçeşehir ÜniversitesiAkademik Programlar BİLGİSAYAR PROGRAMCILIĞI (TÜRKÇE)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal YeterliliklerBologna Komisyonu
BİLGİSAYAR PROGRAMCILIĞI (TÜRKÇE)
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Tanıtım Bilgileri

Ders Kodu Ders Adı Yarıyıl Teorik Pratik Kredi AKTS
SEN4531 Unix Programlama Bahar
Güz
3 0 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: ÖNLİSANS
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Prof. Dr. MEHMET ALPER TUNGA
Opsiyonel Program Bileşenleri: Yok.
Dersin Amacı: Öğrenciler, grep, awk ve sed gibi çeşitli araçlar yardımı ile UNIX ve UNIX tabanlı işletim sistemlerinde sistem programlama için BASH scriptleri geliştirme yeteneğine sahip olacak. Ders aynı zamanda öğrencilere soket programlama, manuel yazımı ve paket oluşturma gibi diğer UNIX programlama bilgilerini sağlar.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1. İşletim sistemleri ve UNIX'in temel kavram ve kategorilerini tanımlar
2. Unix'in temel komutlarını kullanır
3. Grep, awk ve sed kavramlarını açıklar
4. Unix ve kabuk çevrenin ve Unix'te kabuk programlamanın temellerini tanımlar
5. Döngüler, Bash'in kontrol yapıları ve Bash sayesinde programlama scriptleri ile sistem geliştirme gibi temel yapıları tanımlar
6. Unix ortamında Makefile hazırlar
7. Gnome programlama temellerini tanımlar
8. RPM paketlerini oluşturur
9. Manuel sayfalarını hazırlar
10. Soket programlama esaslarını belirler

Dersin İçeriği

Dersin içeriği unix komutları, grep ailesi, awk tanıtımı, sed tanıtımı, çevre ve kabuk değişkenleri, kabuk (bash) programlama, makefile yazımı, gnome programlama, rpm paketleri oluşturma, yardım sayfası yazımı, soketler konularından oluşmaktadır.

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

Hafta Konu Ön Hazırlık
1) Giriş
2) Unix Komutları
3) Grep Ailesi
4) Awk Tanıtımı
5) Sed Tanıtımı
6) Çevre ve Shell Değişkenleri
7) Shell (BASH) Programlama
8) Shell (BASH) Programlama
9) Shell (BASH) Programlama
10) Makefile Yazımı
11) Gnome Programlama
12) RPM Paketleri oluşturma
13) Manuel Sayfa Yazımı
14) Soketler

Kaynaklar

Ders Notları / Kitaplar: Neil Matthew and Richard Stones, Beginning Linux Programming, Wiley, 2008, ISBN 13: 978-0-470-14762-7

David Tansley, Linux & Unix Shell Programming, Addison-Wesley, 2000, ISBN 10: 0-201-67472-6
Diğer Kaynaklar: Yok - None.

Değerlendirme Sistemi

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 5 % 20
Ödev 2 % 10
Ara Sınavlar 1 % 30
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ı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Sınıf Dışı Ders Çalışması 3 5 15
Ödevler 1 8 8
Küçük Sınavlar 5 3 15
Ara Sınavlar 1 17 17
Final 1 18 18
Toplam İş Yükü 115

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 matematiksel ve fiziksel konularda bilgi sahibi olmak,
2) Ofis ortamında gerekli yazılım ve donanım bilgisine sahip olmak
3) Yazılım ile ilgili temel kavramları, ilke ve esasları açıklayabilmek ve geliştirmek
4) Bilgisayar alanındaki alet, makine ve araç gereci tanıma ve kullanabilme bilgi ve becerisine sahip olarak gerekli durumlarda sistem kurulum ve bakımını yapabilmek
5) Türk dilini iyi kullanarak etkili iletişim kurabilmek ve meslektaşları ve müşterileriyle iletişim kurabilecek düzeyde yabancı dil bilmek,
6) Yazılımda gerekli veritabanı kurulum, bakım, kontrollerini yapabilmek,
7) Masaüstü ve internet programcılığında grafiksel ve animasyon tasarımlar gerçekleştirme bilgi ve becerisine sahip olmak,
8) Internet projeleri geliştirme, sürdürme ve kontrol bilgisine sahip olmak
9) Proje geliştirme, ekip çalışması, yazılım ve donanım geliştirme bilgi ve becerisine sahip olmak
10) İşletim ve ağ sistemleri hakkında temel bilgi ve beceriye sahip olmak, kurulum, bakım ve onarım yapabilmek