PROGRAMMİNG LANGUAGES
- Ders
- ITEC501 - PROGRAMMİNG LANGUAGES
- Bölüm
- Bilişim Teknolojileri - İngilizce - Yüksek Lisans
- Ders Tipi
- Ders
- Durum
- Zorunlu
- Dil
- İngilizce
- Kredi
- 3
- AKTS
- 8
- T+P+L
- 3 + 0 + 0
- Ders Koordinatörleri
- -
- Ön Koşul
- -
- Anahtar Sözcükler
Ders Açıklaması
Bu ders, öğrencileri gelişmiş programlama becerileri ve Nesne Yönelimli Metodoloji konusunda derinlemesine bilgiyle donatmayı amaçlamaktadır. Öğrenciler, Java programlama dili ve Eclipse IDE gibi geliştirme araçlarını kullanarak iş parçacıkları, soketler, XML ayrıştırıcıları, koleksiyonlar ve veritabanı işlemleri gibi konularda uzmanlık kazanacaklardır. Dersin temel konuları arasında Nesne Yönelimli Programlama (OOP) ileri kavramları, Swing ile grafiksel kullanıcı arayüzü (GUI) geliştirme, çoklu iş parçacığı (multithreading), senkronizasyon mekanizmaları (iş parçacıkları, semaforlar ve mutex), dosya işlemleri (metin, ikili ve rastgele erişim dosyaları) ve sınıf serileştirme bulunmaktadır. Ayrıca, tasarım desenleri, hata ayıklama teknikleri ve soket programlama gibi konular da ele alınarak, öğrenciler gerçek dünya uygulama geliştirme projelerine hazırlanacaktır. Dersin sonunda öğrenciler, gelişmiş programlama kavramlarını ve araçlarını kullanarak sağlam ve ölçeklenebilir Java uygulamaları geliştirme becerisine sahip olacaklardır
PROGRAMMİNG LANGUAGES
Değerlendirme Araçları (Aktif Dönem)
Değerlendirme öğesi tanımlanmamış.
Ders çıktıları
- 01 Design and develop software using object oriented design and programming methods
- 02 Practice UML Class diagrams to effectively create object oriented design models
- 03 Using persistency and database features alongside with programming
- 04 Using advanced features such as XML Parsing and Text file processes with programming langauges
- 05 Practice Parallel programming features such as threats and objects
- 06 Practice the fundamentals of Network and Socket Programming
Ders Müfredatı
| Hafta | Konu |
|---|---|
| Hafta 1 | An Introduction to the Course content, Outline and an IceBreaker |
| Hafta 2 | Recap of programming Knowledge: Swing Library, Decision Making, Loops, Arrays |
| Hafta 3 | Recap of programming Knowledge: GUI Components |
| Hafta 4 | Recap of programming Knowledge: Advanced GUI Components |
| Hafta 5 | Recap of programming Knowledge: Object and Classes, UML Class Diagrams, Object Orıented design and development. |
| Hafta 6 | Recap of programming Knowledge: Inheritance, Abstract Classes, Interfaces and Polymorphism |
| Hafta 7 | Collections in Advanced Programming: Sets, Lists and Queue |
| Hafta 8 | Midterm Exam |
| Hafta 9 | Database Connections (Apache Derby - JDBC): Select, Insert, Delete, Update operations. |
| Hafta 10 | Database Connections : JTable and constructing object oriented 3-tier Architecture model |
| Hafta 11 | Files in Advanced Programming |
| Hafta 12 | XML Files, XML Parsing |
| Hafta 13 | Multi-threading |
| Hafta 14 | Revision |
| Hafta 15 | Final Exam |
Referans Kitaplar & Ders Materyalleri
- 01 Java: The Complete Reference, Ninth Edition, 2016
- 02 Java: A Beginner's Guide, Sixth Edition, 2014
Ders Çıktıları
- L01
- L02
- L03
- L04
- L05
- L06
Program Çıktıları
- Veri bilimi alanındaki güncel durumu değerlendirmek ve anlamak amacıyla teoriler, çerçeveler ve modeller hakkında derinlemesine bilgi sahibi olmak.
- Literatürü incelemek ve veri bilimi teorileri ile metodolojilerini yeni araştırmalarda ve deneylerde uygulamak.
- Denetimli ve denetimsiz makine öğrenimi tekniklerini kullanarak veri setlerini analiz etmek.
- Veri yönetimi, analiz ve problem çözümü için istatistiksel ve bilişim yazılım sistemleri tasarlamak, geliştirmek ve test etmek.
- Farklı veri türleri ve analitik görevler için etkili görselleştirmeler tasarlamak ve geliştirmek, ayrıca görselleştirme ve görsel analiz konularında teorik ve uygulamalı konular üzerine bağımsız araştırmalar yürütmek
- İletişim, problem çözme, araştırma veya proje faaliyetlerinde yüksek düzeyde yetkinlik kazanmak ve çok disiplinli bir ekipte ortak bir hedefe ulaşmak için bir ekip üyesi ya da lider olarak etkin biçimde çalışmak.
- Büyük veri kümelerinin yönetimiyle ilgili zorlukların üstesinden gelmek için paralel yöntemler, bulut bilişim ve ilişkisel olmayan (NoSQL) veri depolama ve erişim çözümleri geliştirmek ve uygulamak.
- Veri, bilgi ve iletişimin disiplinlerarası doğasını anlamak ve veri toplama ile analizine yönelik önde gelen araştırma yöntemlerini değerlendirme yeteneği kazanmak.
- Verinin kullanımıyla ilgili etik sorunları derinlemesine anlamak ve gerçek dünya veri uygulamalarında etik kararlar alabilmek.
- Geniş bir alan yelpazesinden bilgiyi analiz etme, sentezleme ve değerlendirme yeteneğini göstermek ve yaşam boyu kendi kendine öğrenme yetisine sahip olmak.
Pç-Dç Matrisi
| ÖÇ | Ortalama | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - |