IT501, "Java ile Programlamaya Giriş" dersinin hemen başlangıcında yapılacak seviye belirleme sınavında başarılı olan öğrenciler, bu dersten muaf kabul edilecek ve kendi istekleriyle derse katılmadıkları sürece bir yükümlülükleri bulunmayacaktır. Bu dersin amacı, öncesinde sınırlı programlama deneyimi olan öğrencilere algoritmik düşünme ve temel programlama becerisi kazandırmaktır. Programda geçmiş dönemlerde açılmış olan dersler "Diğer Dersler" bölümünde listelenmiştir.
2022-2023 Güz dönemi derslerinin başlangıç tarihi: Ekim 2022
I. Dönem: Güz
Kodu | Adı | Kredisi |
---|---|---|
IT 501 |
Bilgisayar Programlamaya Giriş
Bu ders, programlama dersleri serisi içinde öğrencileri Java ile bilgisayar programlamanın temelleri ile tanıştırmak amacıyla tasarlanmış olan ilk derstir. Bu ders kapsamında öğrencilerin veri tipleri, control yapıları ve döngüler, nesneler, diziler ve fonksiyonlar gibi temel konular üzerinde bilgi sahibi olmaları ve algoritmik düşünme yetisini kazanmış olmaları hedeflenmektedir. |
3 |
IT 511 |
Veri İletişimi ve TCP/IP Ağları
Dersin birinci bölümünde amaç öğrencilere veri iletişimi ve ağ uygulamaları konusunda bilgi birikimi kazandırmaktır. Öğrencileri iletişim kavramıyla tanıştırmak üzere veri taşınması ve veri iletişimi konusundaki temel kavramlar anlatılmaktadır. Dersin ikinci bölümünde TCP/IP Protokol Grubu içinde farklı protokollerin görev ve çalışma esasları ile Linux ve Windows ortamlarında düzenleşim teknikleri derinlemesine incelenmektedir. İşlenecek konular: Ağ uygulamaları; Veri İletişim Teknikleri; Anahtarlama Kavramları; OSI Referans Modeli ve Katmanları; TCP/IP Protokol Grubu ve Servisler; TCP/IP Ağ İletişimi; IP Yönlendirme; TCP/IP Ağ Düzenlemesi ve Problem Giderme; SMTP, FTP, HTTP, DNS, DHCP ve WINS Ağ Uygulamaları. |
3 |
IT 524 |
Java ile Programlama
Bu ders, Java Geliştirme Kitini (JDK) kullanarak Java programlama dilini inceleyen ve gerçek problemlerin çözümünde Java ile nesne tabanlı yaklaşımı benimseyerek uygulama geliştirme konusunda öğrenciyi eğiten bir yapıda tasarlanmıştır. Ders, nesne tabanlı programlama kavramları yanında Java Temel Sınıfları (JFC), RMI ile dağıtık programlama, CORBA, Java güvenliği, Java'ya C gibi başka dillerde geliştirilmiş uygulamalara arayüz yazmak amacıyla kullanılan JNI gibi ileri düzeyde kavramlara da yer vermektedir. İşlenecek konular: Java ve Nesne Tabanlı Programlama; Temel Dil Öğeleri; Java Sınıf ve Objeleri; Java Deyimleri; Kuraldışı Durumlar; Swing Programlama; Java Paketleri; Java Dosya I/O; Dağıtık Uygulamalar; Veritabanı Bağlantısı (JDBC); JNI; Java Güvenlik Modeli. |
3 |
IT 553 |
Veritabanı Tasarım ve Yönetimi
Bu dersin amacı öğrencilere temel kavram ve tekniklerin yanında veritabanı tasarım ve yönetimi konusunda pratik bilgiler vermektir. Ders kapsamındakiler arasında ilişkisel veritabanı teorisi, dosya yapısı, indeksleme ve hesaba dayalı adresleme, sorgu işleme, çöküş onarımı, koşut zamanlılığı, kontrol/hareket işlem güvenliği ve bütünlük sayılabilir. Tablo, index ve sinonim yaratılması detaylı olarak incelenmektedir. SQL sözdizim ve kullanımı örneklerle incelenmekte ve pratik uygulamaları gerçekleştirilmektedir. İşlenecek konular: RDMS'e Giriş; Veritabanı Yaratılması ve Değiştirilmesi; SQL; Olay Programlama; Çoklu Modül Uygulamaları; Veritabanı Mimarisi; Donanım Yapılandırması; Veritabanı Yönetimi; Veritabanı Ayarı; Veritabanı Güvenliği ve Denetimi; Yedekleme ve Toparlanma Yordamı. |
3 |
II. Dönem: Bahar
Kodu | Adı | Kredisi |
---|---|---|
IT 526 |
Kurumsal Java Framework'leri ve Tasarım Kalıpları (seçmeli)
Bu ders, pratik uygulamalı ağırlıklı bir içerik ve format takip edilerek hazırlanmış iki ana bölümden oluşmaktadır. Dersin birinci bölümünde modern Java uygulamalarında en yaygın kullanılan kurumsal Java Framework'leri öğretilmektedir. MVC Framework grubunda Java Server Faces (JSF), SpringMVC ve Struts, ORM Framework'leri arasında ise JPA ve Hibernate ele alınmaktadır. Dersin ikinci bölümünde ise yazılım tasarımı ve geliştirme aşamasında gereksinim duyulacak olan tasarım kalıpları öğretilmektedir. Ders kapsamında işlenecek olan tasarım kalıpları Yaratılışsal Tasarım Kalıpları, Yapısal Tasarım Kalıpları ve Davranışsal Tasarım Kalıpları olarak üç ana başlık altında incelenmektedir. |
3 |
IT 535 |
Mobil Programlama (seçmeli)
Bu ders, kablosuz ağlar üzerinde çalışan mobil cihazlarda kullanılan uygulamaların programlamasına giriş teşkil etmek üzere tasarlanmıştır. Ders, kablosuz teknolojilerin evrimi ve mobil iletişimde kullanılan temel kavramların özeti ile başlamaktadır. Öğrenciler mobil cihazlar için simülasyon platformu yaratan yazılımlar ile WML (Wireless Markup Language), WMLScript ve Java 2 Micro Edition (J2ME) dillerinde mobil web uygulamaları tasarlayacak ve geliştirecektir. |
3 |
IT 541 |
Makine Öğrenmesine Giriş (seçmeli)
Veri Bilimi veriden bilgi üreten çalışma alanıdır. Endüstrinin problemlerine çözüm için veri işleme ve veri analitiği alanlarında istatistikten makine öğrenmesine kadar geniş bir yelpazede birikim gerekir. Bu ders, veri analitiği alanında yaygın karşılaşılan türde problemlerin çözümünde kullanılan temel kavramları, teknikleri ve araçları öğrenciyle tanıştırmayı amaçlamaktadır. Çıkarımsal istatistik ve keşifsel veri analizi konuları kısaca ele alındıktan sonra sınıflandırma ve kümeleme algoritmaları detaylı olarak incelenecektir. Ders kapsamındaki konuların derinlikten öte geniş bir yelpazede farklı problemlere uyarlanacak pratik örneklerle desteklenmesi hedeflenmiştir. |
3 |
IT 543 |
Python ile Uygulamalı Programlama (seçmeli)
Bu ders, Python programlama dili üzerine giriş seviyesinde, uygulamalı bir derstir. Ders içeriğinde Python dilinin, değişkenler, veri yapıları, döngüler, koşullu yapılar, fonksiyonlar ve dosya işlemleri gibi temel yapı taşları bulunmaktadır. Bu ders, Numpy, Scipy, Pandas, Matplotlib ve Seaborn gibi yaygın kullanılan kütüphaneler üzernden verinin ön işlemesinden verinin görselleştirilmesi ve istatistiki analizine kadar uzanan geniş bir yelpazede veriyle çalışabilme yetisi kazandırmak üzere tasarlanmıştır. Ders kapsamında ele alınan kavramları öğretmek üzere seçilen uygulama ve alıştırmaların aynı zamanda Veri Bilimine giriş konusunda da bir referans sağlaması hedeflenmektedir. |
3 |
IT 563 |
Çevik Proje Yönetim Metodolojisi (seçmeli)
Çevik proje yönetimi, bu yönteme ilişkin yaklaşım ve metotların da farklı olması nedeniyle geleneksel proje yönetim yöntemlerinden birçok yönüyle belirgin biçimde farklılıklar göstermektedir. Çevik proje yöneticisi planlama yapma, görev dağıtma ve yönetmekten daha çok yardımcı olarak ve eğiterek görev yapar. Scrum-Çevik pratiğinde bu kişiye ScrumMaster (çevik proje yöneticisi) adı verilir. Bu kursta katılımcılar çevik proje yönetiminin ne olduğunu, yeni yaklaşımların ve birlikte çalışma prensiplerinin benimsenmesi ve kurumsal engellerin ortadan kaldırılmasıyla proje risk ve sorunlarının nasıl yönetileceğini ve yazılım geliştirmeden sorumlu ekip ve organizasyona çevik pratikler doğrultusunda nasıl rehberlik edileceğini anlayacak ve öğreneceklerdir. Katılımcıların deneyim kazanmasını, bilgi ve becerilerini artırmasını sağlamak üzere kurs boyunca pratik uygulamalar, vaka analizleri ve örnek çalışmalar yapılacaktır. |
3 |
IT 542 |
Hadoop ile Büyük Veri İşlenmesi (seçmeli)
Bu dersin amacı öğrencilere Hadoop Distributed File System (HDFS) üzerinde çalışacak programlar yazmak için gerekli temel bilgileri vermektir. Derste geleneksel programlama yöntemlerinin sorunları ve Hadoop’un bu sorunları nasıl çözdüğü gösterilecektir. Hadoop Cluster ve Ekosisteminin temellerini öğrendikten sonra öğrenciler Apache Spark framework’ünü kullanarak programlar geliştirip, bu programları Hadoop cluster üzerinde nasıl çalıştıracaklarını öğrenecekler. |
3 |
IT 537 |
Etkileşimli Ön yüz Programlama (seçmeli)
Dersin amacı öğrencilere web ve mobil uygulamalar için etkileşimli ve duyarlı arayüz geliştirme perspektif ve yeteneklerini kazandırmaktır. Öğrenciler, mobil ve web dünyasının üç temel dili olan HTML, CSS ve Javascript’i uygulamalı olarak kullanarak, kullanıcıların ihtiyaçlarını en etkin ve optimize şekilde nasıl karşılayacakları üzerine bilgi ve tecrübeler edineceklerdir. |
3 |
IT 538 |
Yazılım Sınama ve Doğrulama (yeni seçmeli)
Yazılım Testi kısaca bir yazılımın içerebileceği hataları bulabilmek için çalıştırılması işlemidir. Bu amaçla belirli sayıda “test case” (belirli input bilgileri, çalıştırma önşartları , beklenen çıktıları olan özelleştirilmiş durum) koşturularak yazılımın davranışı tespit edilir. Projenin başarısı için test işlemi proje dahilindeki analist, yazılımcı ve tester ile birilikte tüm partiler tarafından dikkate alınmalı ve yazılım geliştirme yaşam döngüsü içinde tüm aşamalarda çalıştırılmalıdır. Projenin son kullanıcılar ve müşteriler için yapıldığı gözönüne alınarak, müşterinin fonksiyonalite, kullanılabilirlik ve performans gibi alanlarda tüm ihtiyaçlarını karşılamalıdır. Bu ders kapsamında yazılım geliştirme döngüsünde değişik aşamada yapılan , unit test, fonksiyonel ve entegrasyon testleri , performans testleri , kullanıcı kabul testi, adhoc testler gibi testler, beyaz kutu ve siyah kutu formatları işlenecektir. Ayrıca testlerin yönetiminin nasıl yapılacağı, raporlama şekli işlenecektir. Otomasyon testi ve şartları incelenecektir ve belli konularda otomasyon yazılması beklenecektir. Dersler pratik örnek ve uygulamalarla desteklenecektir |
3 |
IT 513 |
Sistem ve Ağ Güvenliği (seçmeli)
Bu ders genel olarak ağ yapılarının içerisinde ve ağlar arasında var olan güvenlik unsurlarından meydana gelebilecek tehlikeleri ve bu tehlikelerden korunma yöntemlerini içermektedir. Ders süresince güvenlik problemlerinin giderilmesinde hali hazırda var olan şifre kullanımı, güvenli programlama, TCP/IP servislerini güvenli kullanma,yedekleme, proxy programları, firewall, vpn kullanımı ve proaktif güvenlik stratejileri gibi teknikler irdelenecek, kullanılan ağ teknolojilerine göre oluşabilecek farklı gereksinimler üzerinde analizler yapılacaktır. |
3 |
IT 566 |
BT Yönetişimi
Bu kurs öğrencilere bir CIO veya BT yöneticisinin BT organizasyonuna bakışı kapsamında geniş bir yönetici perspektifi kazandırmayı amaçlamaktadır. Kurs, bir organizasyondan beklenen tüm isterlere; önce organizasyonun kendisine, daha sonra kaynaklarına ve iş süreçlerine kalite tabanlı bir yaklaşımı benimsetmek, organisazyonel yapıya BT süreçlerini yerleştirmeyi ve BT organizasyonuna bir bütün olarak bakmayı öğretmek üzere tasarlanmıştır. Bu kurs aynı zamanda öğrencilerine en iyi BT pratikleri, BT yönetişim, kontrol ve güvenlik standartları ve profesyonel bilgi birikimi ve deneyim konusunda da donanım kazandırmayı herdeflemektedir. Ayrıca öğrenciler iş süreçleri ve BT arasındaki uyumun yaratılması, teknik grubun iş sorunları ile başa çıkabilme yetilerinin artırılması, ve bir organizasyonda BT yatırımlarının kontrolü konusunda da deneyim kazanacaklardır. Kurs bitiminde öğrencilerin kontrol tabanlı bir teknoloji-iş ortaklığı konusunu derinlemesine anlamış olmaları beklenmektedir. |
3 |
IT 592 |
Proje Dersi
Tezsiz yüksek lisans programını takip eden tüm öğrenciler bir proje hazırlamakla yükümlüdürler. Projenin konusu ve içeriği öğrencinin ilgi ve birikimine göre belirlenir ve Proje Yöneticisi öğretim üyesi tarafından onaylanır.Projenin bitiminde öğrenci Proje Yöneticisi tarafından onaylanan bir sonuç raporu yazmak ve sunmakla yükümlüdür. |
0 |
Önceki Dönemlerde Açılmış Olan Dersler
Kodu | Adı | Kredisi |
---|---|---|
IT 512 |
Sistem Analizi ve Entegrasyonu
Bu ders, ağ bileşenleri, ağ tasarımı, kapasite planlama ağ yönetimi, sistem integrasyonu, Internet/ Extranet/Intranet servisleri, sistem ve ağlarda sorun giderme konularında önemli noktaları inceleyen, pratik uygulamalara dayalı bir program olarak tasarlanmıştır. İşlenecek konular: Ağ Topolojileri ve Standartları; İletim Ortamları ve Yapısal Kablolama; Ağ İşletim Sistemleri; Ağ Tasarım ve Uygulamaları; Ağ Yönetimi ve Sorun Giderme Teknikleri; Yerel Alan Ağları; Geniş Alan Ağları; Geniş Alan Ağı Uygulama ve Teknolojileri; Geniş Alan Ağı Teçhizatı; Internet/Intranet Servisleri. |
1,5 |
IT 519 |
C# ile Programlamaya Giriş
Bu kursun amacı, bir nesne-tabanlı programlama dili olarak Microsoft .NET platformunun resmi dili olan C# kullanarak katılımcıları programlama ve problem çözme ile tanıştırmaktır. Kurs, C# programlama dilinin tüm özelliklerini öğretmenin yanında programlama dilinden bağımsız olarak katılımcılarına algoritmik düşünme ve algoritma geliştirme becerisini de kazandırmayı hedeflemektedir. |
3 |
IT 520 |
Linux Programlama Ortamı
Uygulamalı dersin birinci bölümü öğrenciye Linux işletim sistemi kullanımını tanıtma amacını taşımaktadır. Ders kapsamında ileri düzeyde Linux uygulamaları, çeşitli programlama görevleri ve sistem uygulamalarını otomatik hale getirmek üzere Bourne kabuk programlama ve awk filtrelerinin nasıl kullanıldıkları da işlenmektedir. Dersin ikinci bölümünde yazılım mühendisliğinin prensipleri ve modüler C programları yazmak üzere uygulamalar anlatılmaktadır. İşlenecek konular: Linux İşletim Sistemine Giriş; Linux Dosya Sistemi; Metin Editörleri; Linux Grafik Arayüzleri; Kabuk Kavramı; Bourne Kabuk Programlama; Awk; C Programlamaya Giriş; Değişkenler ve Sabitler; Veri Yapıları; Sayısal Veri Tipleri; Ayrı Derleme ve Bağlama; Dinamik Bellek Ayırtma; Disk Dosyaları ve diğer I/O. |
3 |
IT 521 |
C++ ile Nesne Tabanlı Programlama
Bu ders, dilin temel temel kavramlarına öğrenmeyi kolaylaştırıcı bir formatla yaklaşmaktadır. Bu ders öğrencilere büyük ölçekli projelerde modüler C++ programları yazarak yazılım mühendisliğinin temel prensiplerini anlamalarına yardımcı olmayı hedeflemektedir. Ders ayrıca öğrencilere anahtar programlama teknikleri ve C kodunun C++ koduna dönüştürülmesi gibi konularda da bilgi vermektedir. İşlenecek konular: Nesne Tabanlı Analiz; C++ Sınıfları; Bellek Ayırtma; Kalıtım; Şablonlar; Ayrı Derleme ve Bağlama. |
3 |
IT 522 |
Visual C++ ile İleri Düzeyde Programlama
Bu ders öğrencileri WindowsNT/2000 ortamında Visual C++ ve MFC kütüphanesini kullanarak Grafik Kullanıcı Arayüzü (GUI) programlama konusunda eğitmek amacıyla tasarlanmıştır. Aynı zamanda yazılım geliştiriciler için Windows programlarında profil ve sorun giderme konularında da anahtar noktaları incelemektedir. Program Windows NT/2000 grafik bileşenleri ve Visual C++'taki en son yenilikleri de takip etmektedir. ActiveX teknolojisi, ODBC ve DAO kullanarak veritabanı erişim ve kullanımı gibi yeni teknolojiler de ders kapsamında incelenmektedir. İşlenecek konular: VC++ Yazılım Geliştirme Ortamı; C++ ve Nesne Tabanlı Programlama; MFC Programlama; Uygulamalar için Windows Yardım Sistemi Oluşturma; OLE and COM Prensipleri; OLE Sunucuların Yaratılması ve Özelleştirilmesi; ActiveX Kavramları; ActiveX Şablon Kütüphanesi; MFC Kontrol Sihirbazı; Veritabanı Erişimi. |
3 |
IT 525 |
İleri Java Programlama
Bu dersin amacı programcılara Java programa dili ile ileri düzeyde uygulama becerileri kazandırmaktır. Ders kapsamında incelenecek konular arasında dosya uygulamaları, sıralama ve arama, ağ uygulamaları ve ağ programlama yöntemleri, soket sınıfları, RMI giriş (uzaktan uygulamalar) Java veritabanı ile uygulamalar, Java-veritabanı bağlantısı (JDBC), JavaBeans konusuna giriş, Servlet ve JSP, Java ile program geliştirme pratikleri ve dil güvenliği bulunmaktadır |
3 | IT 528 |
C# ile .NET Uygulamaları Geliştirme
C# programlama dili - .NET Framework ile nesne tabanlı analiz ve dizayn - C# programlama dili kullanarak ASP.NET ve XML Web servis uygulamaları geliştirmek. |
3 |
IT 529 |
UML ile Nesne-tabanlı Analiz ve Tasarım
Bu dersin amacı öğrencilere nesne-tabanlı bir yazılım projesinin temelleri ile birlikte UML ile nesne-tabanlı analiz ve tasarım tekniklerini aktarmaktır. Ders içeriği: Temel yazılım tasarımı ve UML (Bütünleşik Modelleme Dili), Gereksinim analizleri, UML gösterimleri, "Use case" diyagramları, Sınıf diyagramları ve Vaka analizleri. |
1,5 |
IT 530 |
İleri Web Programlama
Bu ders, Web uygulama geliştirme ve web tabanlı teknolojilere giriş niteliği taşımaktadır. Ders içeriği aynı zamanda kullanıcı web arayüzlerini desteklemek üzere istemci ve sunucu tarafındaki teknolojilerin de bir özetini vermektedir. Bu ders kısaca, farklı veritabanları ile çalışabilecek profesyonel web uygulamaları geliştirmek için öğrencilere gereken bilgi birikimini sağlamak üzere tasarlanmıştır. Web sayfalarının CGI ve ODBC üzerinden veritabanı ile etkileşiminde kullanılan programlama dili olarak derlenmesi gerekmeyen dillerden biri (Perl, PHP, Python, vd.) kullanılmaktadır. Bu ders kapsamında veritabanlarına bağlanmada kullanılan Active Server Pages (ASP) ve Java Server Pages teknolojileri de özetlenmektedir. Ders kapsamı dağıtık hesaplamada kullanılan COM/DCOM ve Standart CORBA gibi rekabet içinde olan teknolojileri de inceleyerek kurulan iş modeline uygun çözüm ve platformun seçimini kolaylaştıracak bir analizle tamamlanmaktadır. |
3 |
IT 531 |
ASP.NET ve AJAX Kütüphaneleri ile Web Uygulamaları Geliştirme
Bu derste öğrenciler .NET platformundaki ASP.NET, AJAX kütüphaneleri ve AJAX kontrol takımını kullanarak web uygulamaları geliştirmeyi öğrenecekler. Öğrenciler, JavaScript ve CSS gibi diğer bilinen web teknolojilerinin de ASP.NET uygulamalarında nasıl kullanılacağını öğrenmekle birlikte IIS(Internet Bilgi Servisleri) sunucusunun nasıl kurulacağını ve kullanılacağını da görmüş olacaklar, ayrıca .NET platformunda C# programlama dili kullanılarak web servislerinin geliştirilmesi de ayrıntılı olarak ele alınacaktır. |
3 |
IT 532 |
Uygulama Geliştiriciler için Web Teknolojileri
Bu kurs öğrencilere web uygulama geliştirme deneyimi kazandırmak ve web uygulamaları geliştirirken kullanılacak olan güncel teknolojiler hakkında bilgi vermek için tasarlanmıştır. Bu kursu tamamlayan öğrencilerin temel web kavramları HTML, CSS ve Javascript in yanı sıra XML , XML işleme, XML dönüşümleri için XSLT, DOM (Document Object Model), AJAX ,AJAX frameworkleri, Web servisleri , RSS ve mashup konuları hakkında da bilgi sahibi olmaları ve web uygulamalarında bu teknolojileri kullanabilmeleri beklenmektedir. |
1,5 |
IT 533 |
ASP.NET ile Web Programlama
Bu kursun amacı, Microsoft ASP.NET teknolojisi kullanarak katılımcıları web programlama ile tanıştırmaktır. Katılımcılar Microsoft .NET platformu üzerinde web projeleri geliştirmeyi ve bu web projelerini Microsoft IIS (Internet Information Server) üzerine yerleştirmeyi öğrenecekler. Programlama dili olarak C# kullanılacağından katılımcıların IT519 dersini almış olmaları gerekmektedir. |
1,5 |
IT 534 |
Gerçek Zamanlı Sistemler
Gerçek zamanlı sistem geliştirme, kritik zamanlama gereksinmeleri dolayısıyla, özel tasarım, yazılım dili ve işletim sistemi temel öğeleri gerektirmektedir. Bu ders, öncelikle MASCOT ve Petri ağları gibi, paralel ancak kesişmesiz çalışan işleri sıraya koyup, planlamaya yönelik tasarım modelleri kavramları içerecektir. Sıra dışı oluşlar, paralel işleyiş ve aygıt uygulamaları gibi yazılım konuları, ve programların birbirleri ile birlikte çalısması ve iletişimi için geliştirilmiş işletim sistemi özellikleri, pratik örneklerle sunulacaktır. İşlenecek konular: Gerçek Zamanlı Sistemler; Gerçek Zamanlı Sistemlerin Tasarımı; Geliştirme Yaklaşımları; Tasarım Değerlendirmeleri; Yazılım Dili ve İşletim Sistemi Desteği. |
3 |
IT 536 |
.NET Framework üzerinde Mobil Uygulamalar
Bu dersin amacı öğrencilere Microsoft Visual Studio .NET ve Microsoft .NET Compact Framework üzerinde Smart Device Extension kullanarak mobil kurumsal çözüm geliştirmek için gereken altyapıyı sağlamaktır. Ders, kurum bünyesinde yazılım geliştirmeden sorumlu ekipte çalışacak deneyimli yazılım mühendisleri için tasarlanmıştır. Öğrencilerin çoğunun Microsoft Visual Basic .NET, Microsoft Visual C#, veya Java konusunda yeterli bilgi birikimine sahip oldukları varsayılmaktadır. Dersin içerdiği modüller: Visual C#'a Giriş; Mobil Araç Uygulamalarına Giriş; Kullanıcı Ara Yüzleri; Mobil Uygulamalarda Yerel Veri; Uzak Veriye Ulaşım; Veriyi SQL Server CE ile Senkron Hale Getirme; Mobil Uygulamaların Kurulum ve Çalıştırılması. |
3 |
IT 539 |
Güvenli Kod Üretimi
Bu dersin amacı yazılım geliştiren profesyonellere saldırganları durdurabilmek ve güvenli kod yazabilmek için gerekli olan prensip ve pratiklerin öğretilmesidir. Dersin içeriği etkinliği kanıtlanmış olan prensip, strateji ve tekniklerin katılımcılara aktarılmasına olanak sağlayacak biçimde tasarlanmıştır. Çeşitli dillerde örnek kodlarla endüstride en zor kabulen problemlere çözüm bulmaya yönelik çalışmalar örneklerle aktarılmaktadır. Bu ders aynı zamanda saldırı modelleme, güvenlik işleminin tasarlanması, dosya sistemleriyle ilgili potansiyel tehlikeler, uygulamalara güvenlik ekleme, kod üzerinde güvenlik analizi gibi hususları da içermektedir. Ders; buffer taşması, Microsoft .NET güvenliği ve Microsoft ActiveX geliştirme gibi konularda da bilgi vermekte ve program yöneticilerine, kod geliştiren ve deneyen kişilere de kod güvenliği için bir kontrol listesi önermektedir. Ders kapsamında ele alınan konular: Güvenli Sistemlere Gereksinim; Önleyici Güvenlik Geliştirme İşlemi; Uyulması Gereken Güvenlik Prensipleri; Saldırı Modelleme; Buffer Ttaşması; Uygun Erişim Haklarınn Düzenlenmesi ve Denetlenmesi; Minimum Hak Prensibi ile Çalışma; Gizli Verinin Korunması; Veritabanına Güvenli Veri Girişi; Web İlintili Veri Giriş Problemleri; Servis Durdurma Saldırılarına Karşı Sistemi Koruma; Güvenli .NET Kod Üretimi; Kod Güvenlik Analizi; Genel Programlama Pratikleri. |
3 |
IT 540 |
Sosyal Ağ Analizi (seçmeli)
Farklı türdeki sosyal ağlar ve bireyler arasındaki bağlantılar, son zamanlarda ortaya çıkan yeni nesil uygulamaların altındaki modeli anlamamız konusunda hayati bir önem taşımaktadır. Bu bağlantılar, gerek bireysel gerekse ticari ağlar ve toplulukların etkileşiminde görülen aktörleri, yani bireyleri, yerleri, etkinlikleri, iş alanlarını, ürünleri, sosyal ve bütünleşik iş akışlarını içine almaktadır. Bu derste Facebook, Twitter, Linkedin ve Foursquare gibi farklı uygulamalar incelenecek ve farklı bağlantılarla oluşturulan ağ türleri de araştırılacaktır. Bu ağların nasıl çalıştıklarına ışık tutacak teknik araçlar incelenecek ve sosyal ağ analizi ve modellemesi için gerekli olan graf teoriye de giriş yapılacaktır. Kurs kapsamında oyun teori ile etkileşim dinamiği de inceleme altına alınacaktır. Derste öğretilecek olan kavramlar: 1. Farklı sosyal ağların çalışma mekanizmalarını incelenmesi ve modellenmesi, 2. Graf teorinin temelleri, 3. Temel sosyal ağ analizi, 4. Oyun teorisinin temelleri, 5. Bu kavramların yeni web ve sosyal ağ uygulamalarına uyarlanması, 6. Makine Öğrenmesi temel kavramlarının anlaşılması, 7. Büyük veri çalışmalarında bulut servislerinin ve açık kaynak kodlu makine öğrenmesi paketlerinin kullanılması |
3 |
IT 560 |
Yazılım Mühendisliği
Bu dersin amacı, katılımcılara BT Proje yonetimi ve Yazılım Kalite Kontrolu kavramlarında bilgi birikimi kazandırmaktır. Ders BT proje evrimleri ve aşamaları konuları ile başlayıp, örneklerle proje başlangıcı, tahmin, ölçüm ve kalite değerlendirme ile ilgili konuları içermektedir. Yazılım desteği ile bu kavramlar gercekçi bir BT projesi etrafında uygulanarak hayata geçirilecektir. Bunun yanında, yazılım tahmin ve kalite değerlendirme kavramları, BT projelerinin yazılım ve teslim dönemlerinde, kalite standartlarının yakalanması açısından vurgulanacaktır. İşlenecek konular: Proje Evrimleri ve Aşamaları; Proje Yapılabilirliği; Şelale Yaklaşımı; Proje Baslangıcı; Tahmin ve Ölçüm; Proje Yönetimi Araçları; Yazılım Kalitesi; Kalite Kontrol Planı; Yazılım Kalite Faktörleri; Program Karmaşıklık Ölçümleri ve Test Yaklaşımları. |
3 |
IT 561 |
Yazılım Geliştirmede Yetenek ve Olgunluk Modeli
Bu ders yazılım geliştirme sürecinde ve yazılımın daha etkili bir şekilde kullanılmasında kullanılan teknikleri içermektedir. Dersin ilk kısmında yazılım geliştirme sürecinde ve yazılım geliştirmeyle ilgili geleneksel ve yeni gelişen enstrümanlar anlatılacak. İkinci kısımda da geliştirilmiş bir yazılımın daha optimum kullanımı için gerekli olan temel CMMI ve XP extreme programming kavramları uygulamalı olarak işlenecektir. |
3 |
IT 562 |
Hizmet Tabanlı Mimari (SOA) Kavramlarına ve Teknolojisine Giriş
Bu kurs, geleneksel nesne-tabanlı yaklaşımla modern servis-tabanlı mimariye dayalı yazılım geliştirme konusunda gerekli altyapıyı veren ileri bir analiz ve tasarım kursudur. Dersin sonunda öğrenciler temel kavramları anlamış ve yaklaşımları kıyaslayabilecek birikimi edinmiş olacaklardır. Dersin birinci kısmı nesne-tabanlı kavram, analiz ve tasarımı işleyecektir. İkinci kısım SOA (servis tabanlı mimari) kavramlarını, üçüncü kısım ise SOA uygulamalarını örneklerle işleyecektir. 1. Kısım : UML ile nesne-tabanlı analiz ve tasarım Bu kısmın amacı UML kullanarak nesne-tabanlı analiz ve tasarım ile nesne-tabanlı yazılım mühendisliğinin temel kavramlarını öğretmektir. İşlenecek konular: Yazılım tasarım ve UML'in temel kavramları, ister analizi, UML notasyonları, "Use case" ve sınıf diyagramları, örnek çalışmalar. 2. Kısım : SOA Prensipleri Bu kısmın amacı SOA ile ilgili anahtar kavramlara ve konulara giriş sağlamak ve servis tabanlı mimariye dayalı yazılım ömrü, yazılım geliştirme ve teknolojileri konusunda öğrenciye altyapı kazandırmaktır. Öğrenciler servis tabanlı mimari kavramları ve temel elemanları, servis ve bileşen geliştirme ve iş süreç yönetimi gibi kavramları öğrenmiş olacaklardır. SOA servis altyapısı ve servisleri ile ilgili anahtar hususlar SOA kavramları, analiz ve tasarım SOA-uyumlu yazılım geliştirme süreci SOA yönetişimi ve yazılım geliştirme Yazılım geliştime süreci evrelerine SOA etkisi 3. Kısım : Java tabanlı SOA uygulamaları geliştirme Bu kısım öğrencilerin SOA tabanlı uygulamalar için yazılım geliştirme teknolojilerini anlamalarına ve kullanmalarına yardımcı olacaktır. Web servislerinin ve bu servislerin kullanımının anlaşılması JEE bileşenleri EJB3 / JAX-WS İş süreç yönetimi (BPM) Enterprice Service Bus |
3 |
IT 564 |
Proje Yöneticileri için İteratif Yazılım Geliştirme
Bu ders iteratif yazılım geliştirme süreç modelleri çerçevesinde proje/ürün ve değişiklik yönetimi konularında yetkinlik geliştirmeyi hedeflemektedir. Yaklaşım ve yöntemleri aktarılacak süreç modelleri Unified Process, Scrum, CMMI, Goal Directed Process ve Toyota Production System olarak sıralanabilir. Eğitim, katılımcılara kalite odaklı yazılım geliştirme ilkeleri, projelere yönetebilirlik kazandırma ve proje/ürün yönetimi teknikleri hakkında bilgi vermeyi hedeflemektedir. Yazılım mühendisliği tekniklerine ek olarak, ofis içi stratejiler, gerçek proje deneyimleri, organizasyon yapısı ve insan kaynakları politikaları katılımcılarla paylaşılacaktır. |
3 |
IT 567 |
ITIL ve BT Yönetimi (seçmeli)
Bilgi teknolojileri altyapı kütüphanesi ITIL, tüm dünyada IT servis yönetiminde en yaygın kullanılan yaklaşım olarak kabul edilmiştir. 1980 yılından beri BT yönetimi, BT servis yönetimi, BT altyapı yönetimi alanlarında ?de facto? standart olarak kabul edilmiş ve kullanılmaktadır. Sadece yönetim süreçlerini değil pratik uygulamaları ve yazılımları da içeren bu rehber kaynak 5 kitaptan oluşmakta ve her kitap servis yönetimi yaşam döngüsünün önemli bir kısmını oluşturmaktadır. Ders kapsamında işlenecek 5 kitap toplam 26 süreç ve 4 fonksiyonu içermektedir. Bu kitaplar Servis stratejisi, Servis tasarımı, Servis dönüşüm, Servi operasyon ve Sürekli servis iyileştirme süreçlerini kapsamaktadır. Dersler bu kitaplarda adı geçen süreçlerin ve pratiklerin, yazılımlar ve gerçek hayatta uygulamaları ile örneklendirilerek anlatılmaktadır. Her katılımcının BT yönetim yazılımlarına aşina olması için her hafta farklı bir yazılım ve uygulama örneği üzerinde sunumlar yapılacaktır. Bu şekilde 5 temel kitapta öğrenilen 26 sürecin uygulamada nasıl devreye alınacağı da pekiştirilmiş olacaktır. Manage Engine ve BMC ürün ailelerinden konuyla ilgili seçme 14 tane yazılım üzerinde durulacaktır. Katılımcılar uluslararası ITIL Temelleri eğitimi müfredatına uygun olarak bu temel kitaplardan seçilmiş temel kavramları öğrenecektir. Bu sayede kurs katılımcıları kursun sonunda dilerlerse ITIL Foundation sertifikası için de hazır olacaklardır. |
3 |
IT 571 |
Linux Sistem Yönetimi (seçmeli)
Dersin birinci bölümü çeşitli Linux sistemlerinin kurulumu, periyodik/günlük bakımı ve sistem yönetimi için gereken, sistem kurulumu, sistemin açılması ve kapanması, disk ve dosya sistem yönetimi, çekirdek(kernel) derlenmesi ve konfigürasyonu, sisteme donanım birimlerinin eklenmesi gibi temel ve pratik bilgilerin yanında Linux sistem rekonfigürasyonu, uygulama/sistem dosyalarının kurulumu ve güncellenmesi, linux'ta sorun giderme; kullanıcı hesaplarının açılması ve yönetimi; Dizin paylaşımlarının NFT ve Samba servisleri ile yönetimi, FTP ve HTTP servis konfigürasyonu; SeLinux imlementasyonları ile güvenlik ve performans gözetimi gibi konularda işlenmektedir. |
3 |