Paralel Programlama Sistemlerinde Kullanılabilirlik
|
|
|
- Iskander Kızılırmak
- 9 yıl önce
- İzleme sayısı:
Transkript
1 Paralel Programlama Sistemlerinde Kullanılabilirlik Ahmet Savaş, Yrd.Doç.Dr. Mehmet Göktürk Gebze Yüksek Teknoloji Enstitüsü, Bilgisayar Mühendisliği Bölümü Özet: Değişim, insanlık tarihinin ayrılmaz bir parçasıdır. Bundan dolayı ihtiyaçlarımız da sürekli değişmekte ve gelişmektedir. Çeşitlenen ve çoğalan gereksinimlerimizi daha kısa sürede karşılamak için kullanmakta olduğumuz cihazlarda sürekli geliştirilmektedir. Bu cihazların en başında bilgisayarlar gelmektedir. Artan hesaplama ihtiyacını karşılamak için bilgisayar donanımları da sürekli gelişme göstermektedir. Daha önceleri sadece çok özel işler için kullanılabilen çok işlemcili/çok çekirdekli bilgisayarlar evlerimizde kullanılabilir hale gelmiştir. Ancak bu donanımları tam anlamıyla kullanabilmek için yazılımlar ne yazık ki aynı hızla kendilerini geliştirememişlerdir. Bu nedenle paralel programlama günümüzün önemli bir handikap/fırsatlarından bir tanesidir. Paralel programlamayı yaygın ve daha efektif bir şekilde kullanmak bize elimizde var olan ve sürekli geliştirilmekte olan donanımları tam anlamıyla kullanabilme imkanı sağlayacaktır. Bunun yolu ise paralel programlama sistemlerinin kullanılabilirliğini artırmaktan geçmektedir. Çalışmamız, paralel programlama sistemlerinin kullanılabilirlik değerlendirmesinde kullanılabilecek ölçütleri belirlemeye yönelik bir çalışmadır. Anahtar Kelimeler: Paralel programlama, yazılım mühendisliği, kullanılabilirlik 1. Giriş Daha önceden çok işlemcili sistemler sadece özel ihtiyaçlar (genelde akademik hesaplamalar, uzay hesaplamaları vb. ) için ve yüksek maliyetlerle kullanılmakta idi. Aynı zamanda her bir sistemin sadece kendine ait bir takım özellikleri bulunmakta idi. Bu sistemleri de yine ilgili sistemlerin eğitimlerini almış çok az sayıda uzman personel kullanabilmekteydi. Ancak bu durum, çok çekirdekli sistemlerin ortaya çıkmasıyla değişmeye başlamıştır. Artık evlerimizde 2, 4, 8 ve giderek artan sayıdaki çekirdek sayısına sahip işlemcilerin olduğu bilgisayarlar bulunmaktadır. Ne yazık ki donanım dünyasında yaşanan bu ilerlemeye rağmen yazılım dünyasında aynı ilerleme kaydedilememiştir. Birçok paralel programlama sistemi ortaya çıkmış, mevcut diller (C, C++, Java vb.) için de paralel programlamaya destek vermek için gelişmeler yapılmıştır. Ancak, bunlar arasında bir değerlendirme yapmak ve artan ihtiyacı karşılamak için kullanılabilirlik değerlendirmelerinde bulunmak kaçınılmazdır. 343 Çalışmamızın amacı paralel programlama sistemlerinde kullanılabilirlik çalışmalarına temel olacak kriterleri belirlemeye çalışmaktır. 2. Problem Kalite kavramı günümüz dünyasında hayatımızı etkileyen önemli kavramlardan bir tanesidir. Kalite aslında insanın içinde var olan mükemmele ulaşma arzusunun bir uzantısıdır. Kalite, değişik şekillerde tanımlanabilir; Kalite; belirlenen şartlar altında ve belirlenen bir zaman süresi içinde istenilen fonksiyonları yerine getirebilme kabiliyetidir. Kalite, bir ürünün kullanım uygunluğunu belirleyen özelliklerinin tümüdür. Kalite, herhangi bir ürün sınıfının özelliklerinin insanların istek potansiyelini karşılayabilme derecesidir. Kalite, önceden tespit edilmiş olan özelliklere ya da standartlara göre üretim yapma olgusudur.
2 Paralel Programlama Sistemlerinde Kullanılabilirlik Ahmet Savaş, Mehmet Göktürk Her ne kadar tanımı üzerinde ortak bir görüş birliği sağlanamasa da genel anlamıyla üretilen ürün ve hizmetlerin belli standartlarda olmasını ve talep edilen koşullara uygunluğunu ifade etmektedir. Kalite değerlendirmelerinde iki önemli faktör vardır. Bunlardan bir tanesi nesnel özellikler, diğeri ise öznel özelliklerdir. Kalite değerlendirme yöntemlerinde en önemli amaçlardan biri de öznel özellikleri mümkün olduğu kadar nesnel (ölçülebilir, sayılarla ifade edilebilir) hale getirmektedir. Yazılım kalitesi ve yazılım kalitesinin ölçülmesi ise yazılım mühendisliğinin en önemli problemlerinden birisidir. Ancak yazılımların kendine has özellikleri, özellikle soyut bir kavram olması ve insan faktörü ile çok fazla iç içe olmasından dolayı yazılım kalitesinin ölçütleri ve ölçüm metotları üzerinde bir görüş birliği henüz sağlanamamıştır. Belki de tek bir metot kullanmak, bu kadar geniş bir yelpazede varlık gösteren yazılımlar için uygun olmayacaktır. Çünkü örneğin uzay sanayinde kullanılan yazılımlar ile ticari bir muhasebe yazılımda kalite metrikleri ve beklentiler farklı olacaktır. Yazılım kalitesindeki önemli konuların başında kullanılabilirliktir (usability) gelmektedir. Kullanılabilirlik, yazılım kalitesinin daha çok insan faktörünü ilgilendiren yönüdür. ISO ya göre kullanılabilirlik uygulamanın kolay öğrenilebilmesi, anlaşılabilmesi ve kullanılabilme kabiliyetidir. ISO ve ANSI2001 e göre ise kullanılabilirlik; bir ürünün belli bir kullanım bağlamında etkinlik, verimlilik ve memnuniyet ile belirlenen ölçülerde, hedeflere ulaşmak için belirli kullanıcılar tarafından kullanılabilme kapsamıdır. ISO9241 ve ANSI2001 göre kullanılabilirlik aşağıdaki bileşenlerden oluşmaktadır. Etkinlik: Kullanıcılar görevleri tamamlıyor mu, ilgili ürünle amaçlara ulaşabiliyorlar mı, yapmak istedikleri şeyi yapabiliyorlar mı? Verimlilik: Kullanıcılar istedikleri işi yapmak için ne kadar çaba sarf ediyorlar? (Genellikle zamanla ölçülür) 344 Memnuniyet: Kullanıcılar, ürünün kolay kullanımı ile ilgili ne düşünüyorlar? (Genellikle anket yapılır) Yazılım da kalite çalışmaları daha çok ürüne yönelik olarak yapılmıştır. Ancak o ürünü oluşturan programlama sistemleri ve programcılar genelde değerlendirme dışı bırakılmışlardır. Ölçümler yapılırken kod satır sayısı ve buna bağlı olarak çıkan hatalar değerlendirilmektedir. Ancak kullanılan programlama sisteminin üretilen kod satır sayısına etkisi ve programcıları hata yapmasındaki etkileri göz ardı edilmektedir. Henüz bu alanda çalışmalar daha yeni yeni yapılmaya başlanmışken son yıllarda çok hızlı bir şekilde gelişen donanım teknolojileri karşısında yeni ihtiyaçlar ortaya çıkmıştır. Eskiden sadece özel bilgisayarlarda ve sunucularda kullanılan çok işlemcili/çok çekirdekli sistemler artık evlerimize ve işyerlerimizdeki bilgisayarlara kadar girmiştir. İşlemci dünyasındaki bu gelişmeye karşın yazılım sistemleri daha yavaş ilerlemektedir. Tek başına donanım bir şey ifade etmemektedir. Şu şekilde bir benzetme yapmak uygun olacaktır; donanım bir insanın cesedi ise yazılım o cesede hayat veren ve onu yaşatan ruhtur. Dolayısı ile eğer sizin elinizdeki donanımların kapasitelerini tam anlamıyla kullanacak yazılımlarınız yoksa o donanımın size bir faydası olmayacaktır. Aksine elinizde atıl bir kapasite olacaktır. Çok çekirdekli sistemlerin ve birden fazla bilgisayarın kullanımıyla uzun sürecek ve karmaşık olan problemlerin çözümü kolaylaşacaktır. Bu durumda bu kapasiteyi nasıl kullanabileceğimiz sorusu karşımıza çıkmaktadır. Cevap ise paralelizmdir. Zaten karmaşık ve zor olan programlama süreci paralelizm ile daha da karmaşık ve anlaşılması zor bir hale gelmektedir. Çünkü paralelizm, kendine has problemleri de beraber getirir. Bunlar arasında senkronizasyon, deadlock, semafor kullanımı, yarış durumu denetimi vb. gelmektedir.
3 Bunun için paralel programlama sistemlerinin kullanılabilirliğinin değerlendirilmesi ve kullanılabilirliğin artırılmasına yönelik çalışmalar paralel programlama sistemlerinden daha fazla faydalanılmasına ve mevcut donanımların daha verimli şekilde kullanılmasına yol açacaktır. 3. Amaç Bu çalışma ile paralel programlama sistemlerinin kullanılabilirliğini objektif kriterlere bağlı olarak ölçmek, bu ölçümü yapabilmek için paralel programlama sistemlerine özgü metrikleri belirlemek ve kullanılabilirliği artırıcı etkenleri ortaya çıkarmaktır. Çünkü; paralel programlama sistemlerinin kullanılabilirliğinin artması sonuçta ortaya çıkacak olan ürünün kalitesini de artıracaktır. 4. Mevcut Çalışmalar Bu konuda yapılan araştırmaların en önemlilerinden bir tanesi Duane SZAFRON ve Jonathan SCHAEFFER [1] tarafından yapılan deneysel çalışmadır. Çalışmada Enterprise ve NMP aşağıdaki kriterler açısından karşılaştırmaya tabi tutulmuştur. Çalışmada kriterlerle ilgili sayısal değerlere ulaşılmaya çalışılmıştır. Değerlendirme kriterleri şunlardır; Öğrenme Eğrisi Programlama Hataları Deterministik Performans Mevcut Yazılımlarla Uyum Diğer Araçlarla Entegrasyon [2] de paralel programlama sistemlerinin kullanılabilirlik karşılaştırmasında kullanılmak üzere bir problem seti oluşturulmuştur. Bu problem seti Cowichan Problemleri olarak adlandırılmıştır. Problemlerin çözümümün aşağıdaki kriterler açısından incelenmesi istenmektedir; Cowichan problemler şunlardır; 1. mandel : Mandelbrot Set Generation 2. randmat : Random Number Generation 3. half : Two-Dimensional Shuffle 4. invperc : Invasion Percolation 5. thresh : Histogram Thresholding 6. life : Game of Life 7. winnow : Weighted Point Selection 8. norm : Point Location Normalization 9. elastic : Elastic Net Simulation 10. outer : Outer Product 11. gauss : Gaussian Elimination 12. sor : Successive Over-Relaxation 13. product : Matrix-Vector Product [3] de paralel programlama modelleri kullanılabilirlik açısından karşılaştırılmıştır. Paralel programlama modelleri olarak MPI (Message Passing Interface) ve XMTC kullanılmıştır. Kullanılabilirlik kriteri olarak şunlar kullanılmıştır; Geliştirme zamanı Program doğruluğu [4] de iki nesne yönelimli paralel programlama dili kullanılabilirlik açısından karşılaştırılmıştır. Bu diller Java ve SCOOP dur. Karşılaştırmada şu kriterler kullanılmıştır; Program anlama Program debug etme Program doğruluğu [5] de ise sadece ORCA incelenmiştir. Öğrencilerle ORCA sistemi üzerinde Cowichan Problem seti ile deneyler yapılmıştır. Deneyler sonucunda sayısal sonuçlar vermek yerine bütün öğrencilerin Orca yı kullanmak ve öğrenmek çok kolay gibi sözel değerlendirmelere yer verilmiştir. Metrikler belirleyip bunları sayısal ölçümlere yer verip kullanılabilirliğin sayısal bir ölçümü üzerinde hiç durulmamıştır. 5. Olması Gereken Kullanılabilirlik Kriterleri Geliştirme zamanı Kod büyüklüğü ve açıklığı Çalışma zamanı verimliliği 345 Yukarıda sözü edilen çalışmalarda ve diğer çalışmalarda paralel programlama sistemlerinin kullanılabilirlik kriterleri verilmeye çalışılmış-
4 Paralel Programlama Sistemlerinde Kullanılabilirlik Ahmet Savaş, Mehmet Göktürk tır. Bizce bu kriterler, bir paralel programlama sisteminin kullanılabilirliğini ifade etmek için yeterli değildir. Amacımız paralel programlama sistemlerinin kullanılabilirliğinin ifade edilmesi için daha kuşatıcı bir kriter listesi sunarak kullanılabilirlik değerlendirmesinde kullanılmak üzere yeni bir model sunmaktadır. Bu modelin en belirgin özelliklerinden birisi her bir kriter için sayısal olarak ölçülebilir tanım ortaya koyabilmektedir. Bu şekilde belirlenen bu model ile aynı paralel programlama sisteminin farklı versiyonları arasında veya farklı paralel programlama sistemleri arasında kullanılabilirlik açısından sayısal olarak bir karşılaştırma yapmak mümkün olacaktır. nin çekirdek/işlemci sayısından bağımsız olması Paralelizm modellerini destekleme (tasklevel paralelizm, word-level paralelizm, bit-level paralelizm) Geniş veri yapısını destekleme HCI prensiplerine uyum Programlama metaforları, görüntüleme teknikleri, doğruluğu anlama, sosyal destek ve geliştirilmiş maliyet modelleri Memnuniyet Anketleri Çalışmamızda kriterler belirlenmiş olup her bir kriter için sayısal ölçüm tanımları belirlenme aşamasındadır. Paralel programlama sistemleri için kullanılabilirlik değerlendirmesinde kullanılacak kriterler şunlardır; Öğrenme eğrisi Hatalar a.programlama hataları b.hata sayısı Görev tamamlama Geliştirme zamanı Determinizm sağlama Çalışma zamanı verimliliği Kod uzunluğu ve anlaşılabilirliği Mevcut yazılımlarla uyum Diğer araçlarla entegrasyon Soyutlama Tasarım şablonlarını (patern) kullanabilme Framework kullanımı Mimari-bağımsız programlama IDE özellikleri Dokümantasyon API kullanımı XP, Agile vb. uygulama geliştirme modellerinin uygulanabilirliği Debug araçları Mevcut programlama tecrübelerinin ne kadar kullanılabildiği Mevcut programları paralelize edebilme yeteneği Güvenlik Race Condition dan koruma Ölçeklenebilirlik : Programlama modeli- 346 Önerilen modelde bu kriterler kullanılabilirliğin ISO 9241 standardında tanımlanan etkinlik, verimlilik ve memnuniyet ana başlıklarında altında gruplanacaktır. 5.1 Bazı Kriter Değerlendirmeleri Öğrenme Eğrisi: Öğrenme eğrisi, bir işin öğrenilme sürecini gösteren en önemli göstergelerden bir tanesidir. Paralel programlamanın kullanılabilirliğinin artırılmasında öğrenilme ve öğretilme aşamaları gelmektedir. Öğrenme eğrisinin kısa sürede platolaşması, kullanılabilirliğinin daha yüksek olduğu anlamına gelir. Öğrenme eğrisi kısa olan sistemlerdeki hata sayısı daha azdır, kod geliştirme zamanı daha kısadır ve tamamlanan görev sayısı daha fazladır. Öğrenme eğrisinin ölçümü için verilen problemlerin çözülme oranları ile ilgili noktalar belirlenmelidir. Bu belirlenen kriterlere ulaşılıp ulaşılmadığı denetlenerek öğrenme eğrisi oluşturulmalıdır. Bu kriterlerde de problemlerde aranan paralelizmi sağlayıp sağlamadığı gözetilmelidir. Ayrıca elde edilmesi istenen performansta bir ilerleme noktası olarak mutlaka belirlenmelidir. Geliştirme Zamanı: Geliştirme zamanı, kullanılabilirlik kriterlerinin en başında gelir. Üst seviye dillerde geliştirme zamanı kısa olurken, alt seviye dillerde geliştirme zamanı daha uzun olmaktadır. Ancak, elde edilen performans ise
5 ters orantılıdır. Çünkü soyutlama yükseldikçe donanım hakimiyeti kaybolmaktadır. Framework, API ya da şablon (patern) kullanımı geliştirme zamanını kısaltır. Geliştirme zamanını iki sınıfta değerlendirmek gerekir. Bunlar, ilk çalıştırmaya kadar geçen zaman ve performans ayarlama zamanı. Çünkü istenen performans artışı sağlanıncaya kadar programın geliştirme zamanı devam etmektedir. Performans ayarlaması için harcanan süre arttıkça, programın performansı da artmaktadır. Ayrıca, problemin kodlamaya başlanmasından önce iyi bir analiz yapılarak, paralelleştirilecek bölümlerin önceden belirlenmesi geliştirme zamanını kısaltır. İstenen performansa daha kısa sürede ulaşılmasını sağlar. Soyutlama: Soyutlama, bilgiyi ifade etme araçlarından bir tanesidir. Verilen bilginin daha iyi öğrenilmesine yardımcı olmaktadır. Programlama dillerinde soyutlama daha alt düzeyde yapılan bir takım işlemleri ifade etmek için kullanılmaktadır. Örneğin, dağıtık bir mimaride mesajlaşma işlemleri belli fonksiyonlar aracılığıyla yerine getirilir. Burada hazır kütüphaneler ve API ler kullanılabilir. Programcı sadece mesaj gönderme ve alma fonksiyonunu kullanmaktadır. Bu ise daha alt düzeyde mesajın gönderiliş teknik detaylarıyla uğraşmak yerine programın asıl amacına odaklanmayı sağlar. Soyutlama düzeyleri belirlenmelidir. Soyutlamanın ölçümü ile birlikte performans da mutlaka değerlendirilmelidir. Soyutlamayı düşük, orta ve yüksek olarak 3 düzeyde belirlemek gereklidir. Ayrıca, aynı programın bu 3 düzeydeki soyutlamaları kullanarak performansının da değerlendirilmesi gereklidir. Mimari Bağımsız Programlama: Günümüzde paralel programlamanın önünde duran engellerden bir tanesi de mimariye bağımlı olarak yapılan programlardır. Dolayısı bu tür paralel programlarda taşınabilirlik sorunu ortaya çıkmaktadır. Günümüzde, çok işlemcili/çok çekirdekli sistemlerin her tarafa yayıldığını kabul etmekteyiz. Dolayısı ile herkese hitap edecek şekilde programlarımızı yazmamız gerekmektedir. Bu nedenle mimari-bağımsız paralel yazılımlar üretmek zorunludur. Mimari bağımsızlığı ölçmek için, yazılmış olan programı farklı platformlara taşımak için gerekli kod satır sayısı, geliştirme zamanı, buna imkan verip vermediği gibi metrikler kullanılmalıdır. Çok işlemcili bilgisayarlar için yazılımlarını port etmeyi düşünen kullanıcılar ve yazılım üreticileri için paylaşımlı bellek (sharedmemory) çok işlemcili bilgisayarlar için genel bir standardın olmayışı büyük bir eksiklikti. OpenMP, bu eksikliği kapatan üretici bağımsız ticari bir ürün olarak ilk olarak sunulmuştur. Üst seviye dillerde soyutlama doğal olarak daha fazladır. Ancak, soyutlama arttıkça performans negatif yönde etkilenecektir. Soyutlama arttıkça, geliştirme zamanı düşecektir. Programcı verimi göreceli olarak artacaktır. Ancak, bu durumda performans ayarları için daha fazla çaba gerekecektir. Ayrıca, soyutlama arttıkça yukarda değindiğimiz gibi performans kötü etkilenecektir. Soyutlama arttıkça hata sayısı azalacaktır. 347 Diğer bir uygulama ise Java sanal makinesidir. Java programları için donanım ile arasında bir katman oluşturarak programların standart şekilde çalışmasını sağlamaktadır. Programlama ve derleyici alanındaki geliştirmelerde, mevcut eğilim makine bağımsız paralel programlamanın desteklenmesidir. Makine bağımsız paralel programlama demek, verilen bir algoritma için aynı algoritmanın elle yazılmış en iyi şeklinin çalıştığı gibi yazılan kodun bütün hedef makinede çalışabilmesidir. Diğer bir deyişle, algoritma, en kötü uyum sağladığı mimaride, en iyi uyum sağladığı mimarideki kadar iyi performans sergilemelidir.
6 Paralel Programlama Sistemlerinde Kullanılabilirlik Ahmet Savaş, Mehmet Göktürk Paralel programlama ile birlikte bulut hesaplama (cloud computing) da artan bir öneme sahiptir. Bulut hesaplama ile karşımıza heterojen bir yapı çıkması muhtemeldir. Çünkü bulut hesaplamanın gücünden tam anlamı ile faydalanabilmek için farklı mimarilerden oluşmuş donanımları bir arada bulundurmak gereklidir. Bu ise her ortamda çalışabilen, farklı bellek tipleri ve işlemci tipleri arasında iletişim ve senkronizasyonun mükemmel bir şekilde işlemesini gerektirmektedir. Bu ise makine bağımsız bir paralel programlama ile mümkündür. Güvenlik: Kullanılabilirlik kriteri olarak güvenlik 4 açıdan değerlendirilmektedir; Erişimin izlenmesi Erişimin kontrol edilmesi Veri kaybının engellenmesi Veri şifreleme sonsuz döngü vb. nedenlerle programın işlevini yerine getirememesi durumudur. Bu nedenle birinci aşamada paralel programlama sistemlerinin bu tarz hatalara neden olacak kodları önceden tespit edip paralel programların sorunsuz bir şekilde üretilmesini sağlamaktır. Bu ideal olanıdır. Bu tür hatalardan korunma her zaman mümkün olmayabilir. Bu durumda ise çıkan hataları çalışma anında tespit edip, bu hatalardan programı kurtarma mekanizmaları sağlanmalıdır. Özellikle kritik yazılımlarda (uzay çalışmaları, sağlık alanındaki programlar, nükleer enerji vb.) belirli bir süre programın çalışmasının devam etmemesini algılayacak mekanizmalar olmalıdır. Bu şekilde hayat kaybı, bir uydunun yörüngeden çıkması, nükleer enerji reaktörünün patlaması vb. telafisi imkansız işlemlerin geri dönüşü mümkün olacaktır. Buna sigorta sistemi de denilebilir Paralel programlama sistemleri genelde yüksek hesaplama gerektiren işlerde daha yoğun olarak kullanılmaktadır. Bunların başında uzay çalışmaları, genetik çalışmalar, görüntüleme sistemleri vb. çalışmalar gelmektedir. Bu çalışmalar ise hem insan sağlığına direk etki etmesi açısından hem de ekonomik boyutları itibariyle önemlidirler. Yapılacak hataların telafisi kimi zaman imkansız hale gelmektedir. Bu nedenle diğer yazılımlarda olduğu gibi paralel yazılımlarda da güvenlik en üst düzeyde olmalıdır. Paralel programlardaki güvenliğin sağlanması ise bu programları üreten sistemlerin güvenliği maksimize edecek şekilde imkan vermesinden geçmektedir. Paralel programlama sistemleri için yukarıdaki kriterlere ek olarak veri bütünlüğü nün eklenmesi gereklidir. Çünkü paralel programlarda aynı anda farklı işlemler tarafından aynı kaynağa erişilip bilginin değiştirilmesi söz konusudur. Bu nedenle verinin doğru zamanda doğru işlem tarafından güncellendiğinin ve bütünlüğünün korunduğundan emin olunması gereklidir. Paralel programlardaki en büyük tehlikelerden bir tanesi çalışma anında kaynak çakışması, 348 Dağıtık bir mimaride geliştirilen paralel programlar için network güvenliği de önem taşımaktadır. Çünkü kapalı olmayan bir ağ vasıtasıyla birbirine bağlı olan bir ağ içindeki dağıtık hesaplamada mesajların iletilmesinde güvenlik öne çıkacaktır. Dağıtık mimaride paralel programlama için mesajlaşma bir gereksinimdir. Dolayısı ile bu mesajlaşma esnasında iletişimde olan verinin yetkisiz kişi ve sistemler tarafından erişilemez olması gerekmektedir. Dağıtık mimaride paralel programlama sistemleri mesajların gönderilmesinde veri şifrelemeyi desteklemelidir. Mesajlaşma ile iletilen verilerin hem değişmesi engellenmelidir hem de yetkisiz kişi ve sistemler tarafından okunması engellenmelidir. 6. Sonuç Günümüzde kullandığımız çoğu hesaplama cihazı (bilgisayar, cep telefonu, tablet vb.) paralel işlem yapabilecek kapasitedir. Dolayısı ile paralel programlama artık programlama dünyasının önemli bir parçasını oluşturmaktadır. Yaygın hale gelmiş/gelmekte olan paralel programlamayı daha kolay, daha hızlı ve daha etkin bir şekilde kullanmak çeşitli çalışmalar
7 yapılmaktadır. Bizde daha geniş bir perspektiften bakarak paralel programlama sistemlerinin kullanılabilirlik değerlendirmesinde kullanılmak üzere bir model sunuyoruz. Bu model ile paralel programlama yapmak için önümüzde duran alternatifleri sayısal olarak değerlendirme imkanımız olacaktır. Model için kriterler belirlenerek kriterlerin bazıları için sayısal ölçüm tanımları yapılmıştır. 7. Kaynaklar [1]. Szafron, D., Schaeffer, J., An experiment to measure the usability of parallel programming systems. Concurrency: Practice and Experience 8 (2), [2]. G. Wilson and R. Irvin, Assessing and comparing the usability of parallel programming system, University of Toronto / CSRG, Tech. Rep., 1995, (CSRI-321). [3]. L. Hochstein, V. R. Basili, et al. A pilot study to compare programming e_ort for two paralel programming models. Journal of Systems and Software, 81(11): , [4]. S. Nanz, F. Torshizi, M. Pedroni, and B. Meyer, A comparative study of the usability of two object-oriented concurrent programming languages, [5]. Using the Cowichan Problems to Assess the Usability of Orca, Gregory V. Wilson, Henri E. Bal, IEEE Paralelle & Distrubuted Technology, 1996 [6]. [7]
PARALEL PROGRAMLAMA SİSTEMLERİNDE KULLANILABİLİRLİK. Gebze Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği Bölümü
PARALEL PROGRAMLAMA SİSTEMLERİNDE KULLANILABİLİRLİK Ahmet SAVAŞ 1, Yrd.Doç.Dr. Mehmet GÖKTÜRK 2 1 [email protected], 2 [email protected] Gebze Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği Bölümü
Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan
BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını
5. PROGRAMLA DİLLERİ. 5.1 Giriş
5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması
Yazılım Mühendisliği 1
Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar
BMH-405 YAZILIM MÜHENDİSLİĞİ
BMH-405 YAZILIM MÜHENDİSLİĞİ Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Yunus Emre SELÇUK, Dr. Sadık EŞMELİOĞLU, Dr. Erhan SARIDOĞAN Yazılım Tanımı Herhangi
EKLER EK 12UY0106-5/A4-1:
Yayın Tarihi: 26/12/2012 Rev. :01 EKLER EK 12UY0106-5/A4-1: nin Kazandırılması için Tavsiye Edilen Eğitime İlişkin Bilgiler Bu birimin kazandırılması için aşağıda tanımlanan içeriğe sahip bir eğitim programının
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine
PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği
İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol
BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER
BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER Dr. Hayrettin Bahşi [email protected] 11 Mart 2010 Gündem Bulut Hesaplama Sistemleri ve Bilgi Güvenliği Güvenli Yazılım Geliştirme Hayat Döngüsü
İŞLETİM SİSTEMLERİ. (Operating Systems)
İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri
PROGRAMLAMA TEMELLERİ
PROGRAMLAMA TEMELLERİ 2.HAFTA Yazılım Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar
Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların
Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin
Bilgisayarda Programlama. Temel Kavramlar
Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu
Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara
Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme
YZM 2108 Yazılım Mimarisi ve Tasarımı
YZM 2108 Yazılım Mimarisi ve Tasarımı Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 Yazılım Tasarımına Giriş Bu bölümde;
İşletim Sistemlerine Giriş 2. Kaynakların Paylaşımı. Öğr.Gör. Dr. Şirin KARADENİZ
İşletim Sistemlerine Giriş 2 Kaynakların Paylaşımı Öğr.Gör. Dr. Şirin KARADENİZ Kaynakların Paylaşımı Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde
3.DERS YAZILIMDA KALİTENİN ANLAMI
3.DERS YAZILIMDA KALİTENİN ANLAMI 1 1. KALİTE NEDİR? Kalite kavramı insanların ve sistemlerin "hata yapması" ve "mükemmele ulaşma isteği" gerçeğinden ortaya çıkmıştır. Alıcı tarafından aranılan belirli
Bilgisayar Programlama Dilleri
Bilgisayar Programlama Dilleri Ömer YÜCEL 13253072 1/32 Sunum İçeriği 1. Program ve Programlama Dili Nedir? 2. Programlama Dillerinin Tarihçesi 3. Programlama Dillerinin Sınıflandırılması 4. Programlama
Java Temel Özellikleri
Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle
Bilgisayar Mimarisi Nedir?
BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayarlara ve Programlamaya Giriş COMPE 101 Güz 2 2
Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU
Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,
MONTE CARLO BENZETİMİ
MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle
Elbistan Meslek Yüksek Okulu Güz Yarıyılı
HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,
İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği
İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol
ALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 2. BÖLÜM 2 PROGRAMLAMAYA GİRİŞ Programlama Terimleri ve Programlama Ortamı 3 Program Programlama IDE
Bulut Bilişim. Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri
Bulut Bilişim Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri Ediz TÜRKOĞLU 05-07-8509 Özlem GÜRSES 05-07-8496 Savaş YILDIZ 05-07-8569 Umut BENZER 05-06-7670 İ çerik İçerik...2 Bulut Bilişim Nedir?...3
Sanallaştırma Nedir? Bahadır Demircioğlu. Şubat, 2013
Sanallaştırma Nedir? Bahadır Demircioğlu Şubat, 2013 İçindekiler 1 Giriş.................................................... 2 2 Peki bu sanallaştırma bize ne gibi yararlar sağlayacak?..........................
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayarlara ve Programlamaya Giriş COMPE 101 Güz 2 2
25.10.2011. Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI 2008639402
Arayüz Tasarımı ve Programlama Neleri Konuşacağız Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları Ömer Faruk MIZIKACI 2008639402 Arayüz Nedir? Bilgisayar ve uygulamalarının
08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba
08225 AĞ TEMELLERĠ Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı 20 EKi. 2014 Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi
Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi
Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi Özet Dr. Sevgi Özkan ve Prof. Dr Semih Bilgen Enformatik Enstitüsü, Orta Doğu Teknik Üniversitesi, Ankara Tel: (312) 210 3796 e-posta:
Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1
Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden
VIERO ARAÇ SAYIM SİSTEMİ
VIERO ARAÇ SAYIM SİSTEMİ VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. Viero Araç Sayım Sistemi Viero Araç Sayım Sistemi, görüntü tabanlı
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS BİLGİSAYAR MİMARİSİ BG-312 3/1 3+0+0 3+0 5 Dersin Dili : TÜRKÇE Dersin Seviyesi
Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği
Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği Gürol Erdoğan 1, Mustafa Yıldız 1, Mehmet Erdem Türsem 2, Selahattin Kuru 1 1 Enformatik Uygulama ve Araştırma Merkezi, Işık Üniversitesi, İstanbul
TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
BARTIN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI 3. Hafta BİLGİSAYAR YAZILIMI Dr. Öğr. Üyesi Nesibe YALÇIN nesibeyalcin.wordpress.com BİLGİSAYAR
Android e Giriş. Öğr.Gör. Utku SOBUTAY
Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,
Yazılım Mühendisliği Bölüm - 3 Planlama
1 Yazılım Mühendisliği Bölüm - 3 Planlama 2 3 4 Planlama 5 Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında
SOFTWARE ENGINEERING PRACTICE Ders İzlence Formu. Kodu: CSE401 Dersin Adı: SOFTWARE ENGINEERING PRACTICE Toplam Saat
Diploma Programı Bilgisayar Mühendisliği Bölümü Yarıyıl Teorik Uygulama SOFTWARE ENGINEERING PRACTICE Ders İzlence Formu Laboratuar Kodu: CSE401 Dersin Adı: SOFTWARE ENGINEERING PRACTICE Toplam Saat AKTS
4. Bölüm Programlamaya Giriş
4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları
BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama
BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı
KONUMSAL VERİNİN ELDE EDİLMESİNDE MOBİL CBS OLANAKLARI: GELENEKSEL YÖNTEMLERLE KARŞILAŞTIRMA. Fatih DÖNER
KONUMSAL VERİNİN ELDE EDİLMESİNDE MOBİL CBS OLANAKLARI: GELENEKSEL YÖNTEMLERLE KARŞILAŞTIRMA Fatih DÖNER TMMOB Harita ve Kadastro Mühendisleri Odası Ulusal Coğrafi Bilgi Sistemleri CBS'2007 Kongresi, 30
28 Aralık 2013. Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü
28 Aralık 13 Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü 12-13 Eğitim Yılında (Ocak-Kasım 13 tarihleri arasında) doldurulmuş olan Bölümü Değerlendirme Anket Formları Raporu Öğrencilerin staj
Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları
Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları Yrd. Doç. Dr. Erdal DİKMEN Süleyman Demirel Üniversitesi Fizik Bölümü Araştırma Grubu: Sündüz Korkmaz (Doktora) Oğuz Öztürk (Yüksek Lisans) Hilal
Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.
Okut. Yüksel YURTAY İletişim : Sayısal Analiz [email protected] www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak
Yazılım İnşası ve Evrimi (SE 556) Ders Detayları
Yazılım İnşası ve Evrimi (SE 556) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Yazılım İnşası ve Evrimi SE 556 Bahar 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin
BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER
BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER EĞİTİM PROGRAMLARI MATLAB İLE MÜHENDİSLİK ÇÖZÜMLERİ Amaç: Sistem tasarım ve analizinin MATLAB dilinde kolay programlama yoluyla tekrarlanabilir yapılara oturtulması
Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ
Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Bilgisayar Programlama BİM-213 2/I 2+0+2 3 4 Dersin Dili Dersin
Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi. Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA
Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA İÇERİK Yazılımda Kalite Kavramları Yazılımın İç Özellikleri Metrik Kümeleri Düşük Kalite Göstergeleri Tasarım
KURUMSAL RİSK YÖNETİMİ (KRY) EĞİTİMİ KURUMSAL RİSK YÖNETİMİ: KAVRAMSAL VE TEORİK ÇERÇEVE
KURUMSAL RİSK YÖNETİMİ (KRY) EĞİTİMİ KURUMSAL RİSK YÖNETİMİ: KAVRAMSAL VE TEORİK ÇERÇEVE SUNUM PLANI 1. RİSK VE RİSK YÖNETİMİ: TANIMLAR 2. KURUMSAL RİSK YÖNETİMİ 3. KURUMSAL RİSK YÖNETİMİ DÖNÜŞÜM SÜRECİ
İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine
İŞLETİM SİSTEMLERİNE GİRİŞ - 2 Kaynakların Paylaşımı (Resource Sharing) Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde paylaşılan kaynaklar
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS İşletim Sistemleri BİM-313 3/I 3+0+0 3 5 Dersin Dili Dersin Seviyesi
Nesne Tabanlı Programlama (COMPE 225) Ders Detayları
Nesne Tabanlı Programlama (COMPE 225) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Nesne Tabanlı Programlama COMPE 225 Güz 3 2 0 4 5.5 Ön Koşul Ders(ler)i
Bilgi ve İletişim Teknolojileri Sektörü 2017 Pazar Verileri Mayıs 2018
Bilgi ve İletişim Teknolojileri Sektörü 2017 Pazar Verileri Mayıs 2018 İçindekiler 1 ÇALIŞMANIN PAYDAŞLARI Alt sektör kategorileri için faydalanılan veri kaynakları ve işbirliği yapılan paydaşlar 2 3 4
Bilgi Teknolojisinin Temel Kavramları
Bilgi Teknolojisinin Temel Kavramları 1. Günlük yaşantıda bilgisayar hangi alanlarda kullanılmaktadır? 2. Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir? Donanım Yazılım Bilişim
MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR
YAZILIM: SOFTWARE Yazılım (Software): Yazılım sadece bir bilgisayar programı değildir. Basılı veya elektronik ortamdaki her tür dokümanı da içeren ürün. Dokümanlar yazılım mühendislerine ve son kullanıcıya
TS EN ISO 9001:2008 Kalite Yönetim Sistemi Kurum İçi Bilgilendirme Eğitimi ISO 9001 NEDİR?
ISO 9001 NEDİR? ISO 9001, tüm imalat ve hizmet şirketleri için hazırlanmış olan ve Kalite Yönetim Sistemi nin gereklerini belirleyen uluslararası bir standarttır. Kurumun mal veya hizmet üretimindeki tüm
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Dağıtık Sistemler BİM-434 4/II 2+2+0 3 4,5 Dersin Dili Dersin Seviyesi
Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; Performans:
VERİ YAPILARI VE PROGRAMLAMA (BTP104)
VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Programlama Dillerinin Prensipleri BİM-323 3/II 3+0+0 3 4 Dersin
Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım
Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.
LOGO İş Zekası çözümü ile kurumsal raporlama ve analizler. Cem Yılmaz Genel Müdür LOGOBI Yazılım
LOGO İş Zekası çözümü ile kurumsal raporlama ve analizler Cem Yılmaz Genel Müdür LOGOBI Yazılım Hakkımızda LOGOBI Yazılım A.Ş. iş zekası alanında faaliyet gösteren, Türkiye de sahip olduğu yüzlerce müşterinin
ODTÜ Kampüs Izgara Hesaplama Uygulaması
ODTÜ Kampüs Izgara Hesaplama Uygulaması Mete Özay, Tuğba Taşkaya Temizel Enformatik Enstitüsü ODTÜ Taslak Kampüs Izgara Hesaplama Mevcut Uygulamalar ODTÜ Kampüs Izgara Hesaplama Sistem Testleri ODTÜ Kampüs
Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım
Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım İbrahim Onuralp Yiğit 1, Nafiye Kübra Turhan 2, Ahmet Erdinç Yılmaz 3, Bülent Durak 4 1,2,3,4 ASELSAN A.Ş.
YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007
YAZILIM KAVRAMINA BİR BAKIŞ Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM ve DONANIM Bilgisayar kavramı, donanım ve yazılım olmak üzere iki ana bileşenden oluşuyor. Elektronik, mekanik
Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015
Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari
UHeM ve Bulut Bilişim
UHeM ve Bulut Bilişim Özden AKINCI Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) Bilim ve Mühendislik Uygulamalar Müdürü 11.07.2012 UHeM hakkında Vizyon: Yüksek başarımlı hesaplama, bilgi teknolojileri
MERHABA. Techlife size teknolojiyi kullanırken hayatınızda sevdiklerinizle daha fazla vakit geçirme fırsatını yakalamakta katkıda bulunmak istiyor.
İÇİNDEKİLER MERHABA ŞİRKET TANIMI BİLGİSAYAR DONANIM YAZILIM İNTERNET HİZMETLERİ BİLİŞİM TEKNOLOJİLERİ DANIŞMANLIK TEKNİK SERVİS SINAV DEĞERLENDİRMELERİ ÇÖZÜM ORTAKLARI REFERANSLAR MERHABA Eğitim sektörüne
Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği
Programlama Dilleri II Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Ders Hakkında.NET, Ye n i Je n era syo n Inter n et in geliştirilmesi için gerekli ürün ve teknoloji platformudur. Bugün sayısal
MÜFREDAT DERS LİSTESİ
MÜFREDAT DERS LİSTESİ MÜHENDİSLİK FAK. / BİLGİSAYAR MÜHENDİSL / 2010 BİLGİSAYAR MÜHENDİSLİĞİ Müfredatı 0504101 Matematik I Calculus I 1 GÜZ 4 5 Z 0504102 Genel Fizik I General Physics I 1 GÜZ 4 4 Z 0504103
BİT in Temel Bileşenleri (Yazılım-1)
Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu
VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi
ARAÇ SAYIM SİSTEMİ VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi VIERO Araç Sayım Sistemi, görüntü tabanlı olarak,
Bitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER
Bitirme Ödevi Sunumu BERKELEY RISC I işlemcisi İÇİN PLATFORM BAĞIMSIZ BENZETİM PROGRAMI Danışman : Yrd.Doç.Dr. D Feza BUZLUCA 0495 0639 Sunum Planı Ödev konusu hakkında Berkeley RISC I işlemcisi hakkında
PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN
PARALEL HESAPLAMA ÇAĞRI GİDER 13011016 ENES BİLGİN - 13011004 Paralel Hesaplama Nedir? Paralel Hesaplamanın Avantajları Paralel Hesaplamanın Kullanım Alanları Paralel Hesaplama Yöntemleri, Donanım ve Yazılım
Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması
Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması Emre Can YILMAZ 1, Recai OKTAŞ 2 1 Ondokuz Mayıs Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı, Samsun
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA DİLLERİ BG-324 3/2 3+0+0 3+0 4 Dersin Dili : TÜRKÇE Dersin Seviyesi
Yaz.Müh.Ders Notları #6 1
YAZILIM MÜHENDİSLİĞİ Prof.Dr. Oya Kalıpsız BÖLÜM 2. YAZILIM PROJE YÖNETİMİ 1 2.1.0. GENEL BİLGİLER 2.1. YAZILIM PROJE YÖNETİMİ BİLEŞENLERİ Yazılım proje yönetimi; yazılım mühendisliği teknikleri, genel
O P C S T A N D A R D I
O P C S T A N D A R D I ASP OTOMASYON LTD. Sadık ŞENOL İsmail YAKIN 12/08/2008 OPC Standardı İnsan gücüne dayalı üretimden otomasyona dayalı, daha kontrollü bir üretime geçiş endüstride üretim hızını ve
T. C. TÜRK STANDARDLARI ENSTİTÜSÜ
T. C. TÜRK STANDARDLARI ENSTİTÜSÜ TS ISO/IEC 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ, TS ISO/IEC 20000-1 BT HİZMET YÖNETİM SİSTEMİ Sunucu: Gürol GÖKÇİMEN 25.10.2014 Türk Standardları Enstitüsü 1 Güvenlik;
T.C. GEBZE BELEDİYESİ BİLGİ İŞLEM MÜDÜRLÜĞÜ GÖREV TANIMLARI. Karar Tarihi: 07 / 03 / 2008 Karar No: 84 Sayfa No: 1/6 BİRİNCİ BÖLÜM AMAÇ:
GÖREV TANIMLARI Karar Tarihi: 07 / 03 / 2008 Karar No: 84 Sayfa No: 1/6 AMAÇ: BİRİNCİ BÖLÜM Madde 1) Bu yönetmeliğin amacı 5393 Sayılı Belediye Kanunu nun 48 nci maddesi, ISO 9001-2000 kapsamında, Görev,
1.Yazılım Geliştirme Metotları 1
1.Yazılım Geliştirme Metotları 1 1.1 Klasik Çevrim(Waterfall) 1.2 V Modeli 1.3 Prototipleme/Örnekleme 1.4 Spiral Model 1.5 Evrimsel Geliştirme 1.6 Evrimsel Prototipleme 1.7 Artımlı Geliştirme 1.8 Araştırmaya
Model Tabanlı Geliştirmede Çevik Süreç Uygulanması
Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirme Model nedir? Object Management Group Model Tabanlı Mimari «Herşey modeldir» Model Kaynak kod MDD Avantajları Daha hızlı yazılım
SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta
SAYISAL ÇÖZÜMLEME Yrd.Doç.Dr.Esra Tunç Görmüş 1.Hafta Sayısal çözümleme nümerik analiz nümerik çözümleme, approximate computation mühendislikte sayısal yöntemler Computational mathematics Numerical analysis
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayarlara ve Programlamaya Giriş COMPE 101 Güz 2 2
Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ
Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ Bilgisayar, kendine önceden yüklenmiş program gereğince
KURUM / KURULUŞ BİT KAPASİTESİ ŞABLONU REHBERİ
KURUM / KURULUŞ BİT KAPASİTESİ ŞABLONU REHBERİ Temmuz 2017 İÇİNDEKİLER 1 GİRİŞ... 3 1.1 REHBERİN AMACI VE KAPSAMI... 3 2 KURUM/KURULUŞ BİT KAPASİTESİ... 4 2.1 KURUM/KURULUŞ BİLGİLERİ... 4 2.2 KURUMSAL
S.O.S Günışığı Lojistik Saha Operasyon Sistemi
S.O.S Günışığı Lojistik Saha Operasyon Sistemi 2013 Sayın Yetkili; Sunduğumuz danışmanlık hizmeti ve geliştirmiş olduğumuz yazılım çözümleriyle müşterilerimizin Bilgi Teknolojileri alanında sektörel rekabet
Neden Linux ve Java Birlikte İyi Gidiyor? Bora Güngören Portakal Teknoloji Akademik Bilişim 07, Kütahya
Neden Linux ve Java Birlikte İyi Gidiyor? 2007 Bora Güngören Portakal Teknoloji [email protected] Akademik Bilişim 07, Kütahya 31.01.2007 Sunum Planı 2006 sunumunu hatırlayalım. Java GPL oldu.
ÖZGÜR YAZILIMLAR İLE J2EE
ÖZGÜR YAZILIMLAR İLE J2EE Buğra Çakır [email protected] Seminer İçeriği 1. İki ve üç katmanlı yazılım mimarileri 2. Java ve J2EE platformu 3. Özgür yazılımlar ile J2EE 4. Eclipse, Lomboz ve JBoss
Paralel Programlama Ortamları
Paralel Programlama Ortamları Elis Soylu ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ [email protected] Paralel Programlama Ortamları Paralel Programlama Tanımı İş Parçacığı Tabanlı Yöntemler Java Thread ile Paralel
Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2
Paralel Programlama Ortamları Elis Soylu 1, M. Akçay 2 1 Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2 Dumlupınar Üniversitesi, Mühendislik Fakültesi,
Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.
Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz
Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması. Sinan Doğan, Esra Beyoğlu
Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması Sinan Doğan, Esra Beyoğlu ASELSAN A.Ş., REHİS Grubu, Ankara 16 Nisan 2009 1 1 İçerik Sinyal İşleme Yazılımları Çok İşlemci
Üst Düzey Programlama
Üst Düzey Programlama Yazılımda Günlükleme (Logging) Üst Düzey Programlama-ders07/ 1 Günlükleme -Logging Tüm büyük çaplı uygulamalarda günlükleme(logging) ihtiyaçları bulunmaktadır. Bir uygulamanın hata
DOKUZ EYLÜL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CSE 5051
Dersi Veren Birim: Fen Bilimleri Enstitüsü Dersin Türkçe Adı: Mikroişlemcilere Giriş Dersin Orjinal Adı: Introduction to Microprocessors Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora) Lisansüstü
