Yazılım Mühendisliği | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | YAZ106 | ||||
Ders İsmi: | Unix Programlama | ||||
Ders Yarıyılı: | Bahar | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Araş. Gör. ZEHRA TÜFEKÇİ | ||||
Dersi Veren(ler): | Buse Yılmaz | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Son yıllarda, UNIX işletim sistemi popülaritesinde, Linux'un da ortaya çıkmasıyla büyük bir artış görüldü. UNIX'in en güçlü yönlerinden biri, geniş bir standart program koleksiyonuyla gelmesidir. UNIX'te bulunan en güçlü standart programlardan biri de kabuktur. Kabuğun temel sorumluluğu, yazılan komutları okumak, UNIX çekirdeğinden bu komutları gerçekleştirmesini istemektir. Bu derste daha ziyade Bourne ve Bash kabukları üzerinde yoğunlaşacağız. Kabuk, komut dosyaları (SCRIPT) oluşturacağız. Bunların nasıl hızlı bir şekilde ve kolayca kurulacağını, uygulanacağını, değiştirileceğini ve hata ayıklanacağını (debugging) öğreneceğiz. |
Dersin İçeriği: | Yapıyı 3 bölümde inceleyeceğiz: Bölüm I UNIX'e, kabuğa ve bazı genel araçlara giriş niteliğindedir. 1. "Kabuk Temelleri", kabukla ilgili birkaç önemli kavramı tartışır ve kabuğun farklı sürümlerini açıklar. 2. "Komut Dosyası Temelleri", bir kabuk komut dosyası oluşturma ve çalıştırma işlemini açıklar. Ayrıca oturum açma işlemini ve kabuğun çalıştığı farklı modları da kapsar. 3. "Dosyalarla Çalışma" ve "Dizinlerle Çalışma", dosyalar ve dizinlerle çalışırken kullanılan komutlara genel bir bakış sunar. Bu bölümler, bir dizinin içeriğini nasıl listeleyeceğinizi, bir dosyanın içeriğini nasıl görüntüleyebileceğinizi ve dosyaları ve dizinleri nasıl değiştireceğinizi gösterir. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) UNIX tabanlı işletim sistemlerinin bileşenlerine hakim olmaları, 2) Uçbirimde UNIX komutlarını rahatlıkla kullanabilmeleri 3) Kabuk komut dosyası yazarak küçük ve hızlı programlar oluşturabilmeleri 4) Metin üzerinde UNIX metin işleme programlarını efektif bir şekilde kullanabilmeleri 5) Metin tabanlı editörlerde farklı programlama dilleriyle kod yazabilmeleri beklenmektedir |
Hafta | Konu | Ön Hazırlık |
1) | Kabuk Temelleri | |
2) | Komut Dosyası temelleri | |
3) | Dosya ve Dizinlerle Çalışma | |
4) | Dosyaları yönetmek | |
5) | Süreçler | |
6) | Değişkenler | |
7) | İkame-Yerine koyma ve Ayrımlama | |
8) | Akış Kontrolü- ve Döngüler | |
9) | Giriş / Çıkış | |
10) | İşlevler | |
11) | Metin Filtreleri | |
12) | Diğer yardımcı araçlar | |
13) | Sinyallerle Başa Çıkma | |
14) | Taşınabilirlik | |
15) | Hata Ayıklama |
Ders Notları / Kitaplar: | Piazza.com’da paylaşılan öğrenci notları |
Diğer Kaynaklar: | http://www.belgeler.org/: linux TR Komutlar: https://www.computerhope.com/unix/uln.htm Linux Journal: https://www.linuxjournal.com/article/2156 linux komutlar: https://bash.cyberciti.biz/guide/ bash tutorial: https://bash.cyberciti.biz/guide/Main_Page scrpting quide: http://tldp.org/LDP/abs/html/index.html |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||||
1) Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimine; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinde kullanabilme becerisine sahiptir. | |||||||||||||||
2) Bir sistemi, süreci veya ürünü ekonomik, çevre, sosyo-politik, etik, sağlık, güvenlik, üretilebilirlik ve sürdürülebilirlik ile ilişkili gerçekçi koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisine sahiptir. | |||||||||||||||
3) Mühendislik problemlerini tanımlama, formüle etme ve çözme; çözüm için gerekli yöntemi seçme ve uygulama becerisine sahiptir. | |||||||||||||||
4) Mühendislik uygulamalarında karşılaşılan problemlerin analizi ve çözümü için gerekli olan modern teknikleri geliştirme, seçme ve kullanma; bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahiptir. | |||||||||||||||
5) Mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisine sahiptir. | |||||||||||||||
6) Çok disiplinli takımlarda etkin biçimde çalışabilme becerisine sahiptir. | |||||||||||||||
7) Sözlü ve yazılı etkin iletişim kurma becerisi ile etkin rapor yazma ve yazılı raporları anlama, etkin sunum yapabilme becerisine sahiptir. | |||||||||||||||
8) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgiye sahiptir. | |||||||||||||||
9) Bir yabancı dili Avrupa Dil Portföyü kriteri açısından en az B1 düzeyinde kullanabilme becerisine sahiptir. | |||||||||||||||
10) Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisine sahiptir. | |||||||||||||||
11) Bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini Avrupa Bilgisayar Kullanma Lisansı İleri düzeyinde kullanabilme becerisine sahiptir. | |||||||||||||||
12) Proje yönetimi ve risk yönetimi uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgiye sahiptir. | |||||||||||||||
13) Mühendislik uygulamalarının evrensel ölçekte çevre, sağlık ve güvenlik üzerindeki etkileri ve hukuksal sonuçları hakkında bilgi ve farkındalığa sahiptir. | |||||||||||||||
14) Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisine sahiptir. | |||||||||||||||
15) Türevsel denklemler, integral hesapları, doğrusal cebir, mantık ve ayrık matematik içerecek şekilde ileri matematik eğitimi ile birlikte yazılım mühendisliğinde veri yapıları ve algoritmalar, programlama dilleri, işletim sistemleri, bilgisayar güvenliği, bilgisayar teorisi, ağ programlama ve makine öğrenmesi alanlarını kapsayan mühendislik eğitimine sahiptir. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimine; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinde kullanabilme becerisine sahiptir. | 2 |
2) | Bir sistemi, süreci veya ürünü ekonomik, çevre, sosyo-politik, etik, sağlık, güvenlik, üretilebilirlik ve sürdürülebilirlik ile ilişkili gerçekçi koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisine sahiptir. | |
3) | Mühendislik problemlerini tanımlama, formüle etme ve çözme; çözüm için gerekli yöntemi seçme ve uygulama becerisine sahiptir. | 2 |
4) | Mühendislik uygulamalarında karşılaşılan problemlerin analizi ve çözümü için gerekli olan modern teknikleri geliştirme, seçme ve kullanma; bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahiptir. | 3 |
5) | Mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisine sahiptir. | 2 |
6) | Çok disiplinli takımlarda etkin biçimde çalışabilme becerisine sahiptir. | 2 |
7) | Sözlü ve yazılı etkin iletişim kurma becerisi ile etkin rapor yazma ve yazılı raporları anlama, etkin sunum yapabilme becerisine sahiptir. | |
8) | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgiye sahiptir. | |
9) | Bir yabancı dili Avrupa Dil Portföyü kriteri açısından en az B1 düzeyinde kullanabilme becerisine sahiptir. | |
10) | Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisine sahiptir. | |
11) | Bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini Avrupa Bilgisayar Kullanma Lisansı İleri düzeyinde kullanabilme becerisine sahiptir. | 3 |
12) | Proje yönetimi ve risk yönetimi uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgiye sahiptir. | 1 |
13) | Mühendislik uygulamalarının evrensel ölçekte çevre, sağlık ve güvenlik üzerindeki etkileri ve hukuksal sonuçları hakkında bilgi ve farkındalığa sahiptir. | 2 |
14) | Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisine sahiptir. | 2 |
15) | Türevsel denklemler, integral hesapları, doğrusal cebir, mantık ve ayrık matematik içerecek şekilde ileri matematik eğitimi ile birlikte yazılım mühendisliğinde veri yapıları ve algoritmalar, programlama dilleri, işletim sistemleri, bilgisayar güvenliği, bilgisayar teorisi, ağ programlama ve makine öğrenmesi alanlarını kapsayan mühendislik eğitimine sahiptir. | 2 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ödev | 5 | % 20 |
Ara Sınavlar | 1 | % 40 |
Final | 1 | % 40 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | İş Yükü |
Ders Saati | 16 | 48 |
Laboratuvar | 16 | 16 |
Sınıf Dışı Ders Çalışması | 16 | 73 |
Ödevler | 3 | 6 |
Ara Sınavlar | 1 | 2 |
Final | 2 | 4 |
Toplam İş Yükü | 149 |