16 Maddede Linux 1. 1991 yılında Helsinki Üniversitesinde öğrenci olan Unix’ten esinlenilerek Linus Torvalds tarafından sıfırdan yazılan ücretsiz işletim sistemidir. Linus Torvalds,2014 2. 3. 4. 5. 6. 7. Linux GNU projesinin bir parçası olduğundan asıl ismi GNU/Linux olarak geçmektedir. Masaüstü ve Sunucu Bilgisayarlara yönelik dağıtımlardan en popülerleri Ubuntu,Debian, Fedora’dır. Linux ve çoğu GNU yazılımı GPL yani Genel Kamu Lisansı altında lisanslıdır. En büyük avantajlarından biri de açık kaynak kodu desteklemesidir.Kaynak kodları ilk oluşturulduğundan beri yayınlanır ve geliştiriciler tarafından geliştirilmeye devam etmektedir. Linux çekirdeği üzerine yapılan en önemli işletim sistem lerinden biri de Android işletim sistemidir.Bu sayede An droid kullanan mobil cihazlar üzerinde uygulamalar geliştirilebilmektedir. Linux Foundation adı altında dünyanın önde gelen firmala rıyla beraber çalışmaktadır ve bu firmalar Linux’u desteklemektedir.Bu firmalardan bazıla rı HP,Google,IBM’dir. 8. Linux tabanlı dağıtımların tam kurulumu yaklaşık olarak 30-45 dakika arası sürmekte ve bittiğinde sürücüler dahil medya oynatıcıları,tarayıcı,ofis programları hazır olmaktadır. 9. Linux dağıtımları içerisinde ücretsiz olarak neredeyse b ir son kullanıcının tüm ihtiyaçlarını karşılayacak uygulamalar yüklü olarak gelir.Birkaç örnek vermek gerekirse ofis pr ogramları için LibreOffice,müzik oynatıcısı için Rythmbox, internet tarayıcısı için Firefox verilebilir. 10. Türkiyede Tübitak tarafından Linux Tabanlı Pardus dağıtı mı halen daha geliştirilmeye devam etmektedir. 11. Süper Bilgisayarlar olarak adlandırılan dünya üzerindeki en güçlü bilgisayarların yaklaşık %98’inde kullanılmakt adır. 12. Linux çekirdeğini ihtiyaçlara göre değiştirilip kullanıl abilmesi bir çok dağıtımın ana olayı olmuştur,örneğin St eamOS tamamen oyun amaçlı oluşturulurken Kali güvenlik üzerine oluşturulan birer Linux dağıtımlarıdır. 13. Çoğunlukla kurumsal firmalar için olan ücretli Red Hat s ürümleri bulunmaktadır,bu sayede firmalar kendi ihtiyaçlarına göre olan versiyonu kullanır. Redhat Logosu 14. Dosya sistemlerinin neredeyse tamamını tanıyıp üzerinde işlem yapabilir,bu sayede örneğin Windows kullanılan kısma girip dosyalara erişebilirsiniz. 15. Virüs bulaşma diye bir derdi neredeyse yok denecek kadar azdır ve sürekli güncellemelerle güvenliğini güçlendirir. 16. Mümkün olduğunca az kaynak kullanması sayesinde çok eski bilgisayarlarda bile tam verimle çalışabilir. Yazar : Ahmet Burak Tektaş Kaynaklar: https://www.en.wikipedia.org/wiki/Linux https://www.linuxfoundation.org https://www.chip.com.tr/bilgisayarkursu/linux-isletim-si stemi_3107.html https://www.linux.com/what-is-linux https://www.redhat.com Program Dilleri Özellikleri? ve Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tek tipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar. Şu ana kadar 2500’den fazla programlama dili yapılmıştır Programlama dilleri insanların algılamasına yakın olmasına göre 3 gruba ayrılır. Alt seviye programlama dilleri: Makine koduna oldukça yakın programlama dilleridir. Makine hakimiyeti oldukça gelişmiştir.Bu programlama dillerini bilen kişilerin mikro işlemciler hakkında bilgi sahibi olması gereklidir.(Assembly programlama dili gibi) Orta seviye programlama dilleri: Oldukça esnek olan bu diller hem üst hem alt seviye programlama yapabilirler. Alt seviye dillere oranla biraz daha anlaşılırdır. (C programlama dili gibi.) Üst seviye programlama dilleri: Olay tabanlı programlama dilleri olarak da adlandırılırlar yalnız bu programlama dilleri sadece belirli fonksiyonlar etrafında çalışırlar ve programlama hakimiyetini azaltırlar. En hızlı ve en etkili programlama dilleri bu kategoridedir. (visual basic ve pic basic pro gibi) Diğer programlama dillerine kıyasla daha kolay öğrenildiği ve uygulandığı için yeni başlayanlara en uygun diller üst seviye programlama dilleridir. Aşağıda Bazı Program Dillerin tanımlarını yapacağız. C Dili: AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritchie tarafından UNIX İşletim Sistemi‘ ni geliştirebilmek amacıyla B dilinden türetilmiş yapısal bir programlama dilidir. Geliştirilme tarihi 1972 olmasına rağmen yayılıp yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan “C Programlama Dili” kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin (Microsoft Windows, GNU/Linux, *BSD, Minix) yapımında %95′ lere varan oranda kullanılmış, halen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir C++ Dili: C++, Bell Laboratuvarlarından Bjarne Stroustrup tarafından 1979 yılından itibaren geliştirilmeye başlanmış, C‘yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir. İlk olarak C With Classes (Sınıflarla C) olarak adlandırılmış, 1983 yılında ismi C++ olarak değiştirilmiştir. Donanım ve yazılımın bir veya daha fazla yapılandırması o programı çalıştırmak için bir tür yol sağlar. Programlama dili uygulamasında iki yaklaşım vardır: Derleme ve yorumlama. Herhangi bir tekniği kullanarak bir programlama dili uygulamak mümkündür. C# Dili: C# Microsoft tarafından geliştirilmiş olan bir programlama dilidir. C++ ve Java dillerine oldukça benzer, ancak C#’ın bu dillere benzerliği yanında farkları da vardır. Örneğin C#, C++’dan farklı olarak % 100 nesne yönelim tekniğine sahiptir. Java’dan farklı olarak ise C#’ta gösterici (pointer) kullanılabilir. Böylelikle eski yazılım bileşenleriyle uyumlu bir şekilde çalışılabilir. C# kodları, C++ veya Visual Basic’ten farklı olarak direkt makine koduna derlenmez. Önce IL dediğimiz bir ara koda derlenir. C#’la şunları yapabilirsiniz: Konsol uygulaması geliştirme Windows uygulaması geliştirme ASP.NET uygulaması geliştirme Web servisleri yazma Mobil uygulama geliştirme (PDA, cep telefonları vb. için) DLL yazma(Dll:Dinamic Link Library(DLL dosyalarının görevi, programların koordine etmektir.) ortaklaşa yaptıkları görevi JAVA: Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen (yorumlanan-interpreted) bir dildir. Java ilk çıktığında daha çok küçük cihazlarda kullanılmak için tasarlanmış ortak bir düzlem dili olarak düşünülmüştü. Ancak düzlem bağımsızlığı özelliği ve tekbiçim kütüphane desteği C ve C++‘tan çok daha üstün ve güvenli bir yazılım geliştirme ve işletme ortamı sunduğundan, hemen her yerde kullanılmaya başlanmıştır. Şu anda özellikle kurumsal alanda ve mobil cihazlarda son derece popüler olan Java özellikle J2SE 1.4 ve 5 sürümü ile masaüstü uygulamalarda da yaygınlaşmaya başlamıştır PYTHON: Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir. Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama başlanabilen bir dil olma özelliği kazandırır. yapılmaya Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian) Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir. PHP: İnternet için üretilmiş, sunucu taraflı, çok geniş kullanımlı, genel .amaçlı, HTML içerisine gömülebilen betik ve programlama dilidir. PHP kodları PHP işleme modülü bulunan bir web sunucusu tarafından yorumlanır ve çıktı olarak web sayfası üretilir. Bu kodlar veriyi işlemek üzere harici bir dosyaya kaydedilerek çağırılabildiği gibi doğrudan HTML kodunun içine de gömülebilir. PHP zaman içinde bir komut satırı arayüzü sunacak şekilde evrilmiştir, PHP özgür bir yazılım olup PHP Lisansı ile dağıtılmaktadır. PHP tüm web sunuculara ve hemen hemen tüm işletim sistemi ve platforma ücretsiz olarak yüklenebilir PHP, özellikle mysql veritabanıyla birlikte ve Linux işletim sistemi altında iyi bir performans sergilemektedir. C/C++ diline olan benzerliği nedeniyle bu dili önceden bilenlerin PHP öğrenmesi oldukça kolaydı kaynaklar:http://www.godoro.com/Divisions/Ehil/Mecmua/Magazine s/Articles/txt/html/article_ProgrammingAndLanguage.html http://www.robotiksistem.com/programlama_dilleri_ozellikleri.h tml https://tr.wikipedia.org/wiki/PHP Rifai KUÇİ Yazılım Nedir ? Yazılımcının Özellikleri Nelerdir? Öncelikle yazılımın kısa tanımını yaparak başlayalım… Yazılım: Değişik ve çeşitli görevler yapma amaçlı tasarlanmış birbirleriyle haberleşebilmesine ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır. Yazılım için çeşitli diller mevcuttur. Bunlardan bazılıarı C++,JAVA,Python,Pascal ve daha birçok yazılım dili bulunmaktadır. Ve şimdi de Nasıl iyi bir yazılımcı olunur Yazılımcıda bulunması gereken bazı özelliklere bakalım: 1-Heyecanlanın! Yaptığınız işle ilgili heyecanlanın ve bu heyecanı etrafınıza yayın. Görevleri size verildiği için yapıyormuş gibi bir izlenim yaratmanız hiç işinize yaramaz. Tam tersine aldığınız görevi kutsayın! ve onu başarmanın heyecanını koruyun. Heyecan çok önemlidir! Ne kadar teknik bilgisi olursa olsun heyecanı olmayan ve yaptığı işi büyük bir heyecanla yapmayan bir yazılım geliştiricinin önüne geçmek hiç de zor değil. Eğer yaptığınız işten heyecanlanmıyorsanız hiçbir zaman iyi bir yazılımcı olamazsınız. 2-Planlı olun! Ne zaman ne yapacağınız olabildiğince belli olsun.Günlük programınız kesinlikle olsun. Bunu telefonlarda Calendar Uygulamasında , Outlook’ta Yapılacak listeniz olsun. Yapılacak listenizi Günlük olarak yazıcıdan çıktı olarak alırsanız ve yaptığınız her işte yapılacak listesinden üzerine çizik atarsanız bu size motivasyon kazandırabilir… 3-Kaliteli iletişim kurun İnsanlarla düzgün konuşun. Şaka yapmıyorum, seviyenizi her zaman korumaya çalışın. Yazdığınız maillere büyük önem verin ve yazdığınız kişiye göre farklı stillerle yazın. Bazıları maddeler şeklinde mail almayı sever, genelde mail okumaya çok zamanı olmayan kişilerdir bunlar. Bazıları ise uzun uzun hikaye yazar ve uzun mail yazılmasını da kendilerine verilen bir önem olarak görür. Karşınızdakinin kim olduğunu görün ve ona göre davranın. Hiçbir zaman hepsi büyük harflerle mail yazmayın, büyük-küçük harf detaylarına ve yazım/üslup hatalarına dikkat edin. Her mailiniz sonunda imzanız ve teşekkür mesajınız bulunsun. Toplantılarda gereksiz konuşmayın ve not defteriniz olmadan herhangi bir toplantıya gitmeyin! Çok iyi not almalısınız ve tüm notlarınız üzerinden özlü bir şekilde konuşmalısınız. 4- Raporlayın! Raporları birer angarya olarak görmeyin.”Bu hafta X projesinde 95 hata bildirimini giderdim” yazmak yerine detaylara girin. Hangi hataların nasıl çözüldüğünü, bir daha olmaması için içinde neler yapılabileceğini detaylı bir şekilde yazın ama DESTAN yazmayın! Raporunuzu okuyan insanlar zaman kaybettiklerini düşünmemeli. 5-Saygı gösterin, öğrenci olun Her zaman sizden iyi bilenler olacaktır. Sürekli öğrenci olun ve etrafınızdakilerden yeni şeyler öğrenmeye çalışın. Bir üstünüz olan yazılımcı arkadaşınıza düşman olmayın. Ona yaklaşın ve bilgisini emmeye çalışın. Unutmayın onlar birçok proje yaptılar ve ilginç şekillerde anlık muhteşem kararlar alabilirler. Ustalar çıraklarının başarısını ister, çırak olmayı bilmeniz yeterli. 6-Bilgiyi paylaşın Özellikle yükselme yolunda “her şeyi sadece ben bilirsem yükselirim” gibi bir hisse kapılmak mümkün fakat durum kesinlikle böyle değil. Etrafınızdakilere öğretin ve bir gün “öğretecek şeyim kalmazsa” gibi bir korkuya kapılmayın. Şu an öğretecek şeyleriniz varsa yarın da olacaktır. Bilgiyi kendinize saklamanız hiçbir işe yaramaz. Bir projede “o detayları sadece O biliyor Onsuz yapamayız” denmesi sizi yüceltmez aksine insanların sizden korkmasına neden olur. Korkan insanlar sizi yükseltmez. 7-Yenilenin Yenilikleri takip edin ve projenize aktarılması için büyük çaba harcayın. Bu çok zor bir savaştır ama kesinlikle uğraşılması gereken bir konu. Öğrendiğiniz yeni bir şey varsa projedeki arkadaşlarınıza söyleyin bir toplantı ayarlasın ve herkese öğrendiğiniz yeni teknolojiyi anlatın, onlara da öğretin. Ancak onlar da öğrenirse yeni teknolojiyi projelerinizde kullanabilirsiniz, sadece siz bilirseniz kullanamazsınız. Söz konusu yeni teknolojiyi kullanma kararı alındığında ise ilk size başvurucaklardır, bu durumu kendinizi sürekli yenileyerek koruyun. Ve son olarak yazılımın hayattaki yerine kısaca değinip konuyu uzatmadan bitirmek istiyorum Bugün cep telefonumuzdan gönderdiğimiz mesajın veya banka ATM’sinde yaptığımız bir para transferinin de arkasında yazılım sektörü yer alıyor. Bir anlamda teknolojinin temelini oluşturuyor yazılım. İşlerimizi daha efektif yapabilmek için bilgi ararken tamamen yazılım sistemlerini kullanıyoruz. ve son olarak sık sık KOD YAZIN! KOD YAZIN! KOD YAZIN! kod yazarken hata yapacaksınız ve yapmanızda çok normaldir önemli olan hatayı iyi analiz edip sorunun neyden kaynaklandığını çözebilmektir… Rifai KUÇİ Programlama Nedir? Programlama nedir ? Bir hesaplamanın yapılabilmesini sağlayan ardışık simgeler dizisidir. Başka bir deyişle bir programı oluşturabilmek için gerekli komutların belirlenmesi ve uygun biçimde kullanılmasıdır. Programlama dilliyse,bir makinenin, -esas olarak bir bilgisayarın davranışını kontrol etmek için kullanılabilen ve sözü edilen ardışık simgelerden oluşan yapay bir dil olarak tanımlanabilir. Programlama dilleri: Bilgisayara ne yapmamız gerektiğini söylememizi sağlayan özel bir dildir. Tüm yazılımlar programlama dili ile yazılır. C programlama dili : Yapısal programlama dilleri arasındadır. Bilgisayar programcılıgının temel dilleri arındadır. C dili bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya veya yazıcı kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde kullanım amacı çok geniş bir dildir. C++ programlama dili : Nesneye yönelik programlama yapılabilen diller arasındadır. C’nin saydığımız tüm özelliklerine ek olarak güçlendirilmiş nesne yönetim arasındadır. özelliği ile en çok kullanılan diller C# programlama dili : Nesneye dayalıdır. C++ ve Java’nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya İnternet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. Javaya rakip olarak çıkarılan bir dildir. Java programlama dili : Nesneye dayalı bir dildir. Modern ve yenilikçi alt yapısı ve görsel özellikleriyle ve sürekli gelişen kütüphane desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Hemen hemen her alanda kullanılan bir dildir. İnternet tabanlı yazılımlar tasarlanması içinde ciddi desteği vardır. Pascal programlama dili : Pascal yapısal bir dildir, kod yazımı ile C’ye benzer bir dildir. Öğrenilesi zor değildir. Kullanım alanı genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır. HAZIRLAYAN: Sedanur YEŞİLTAŞ Algoritma Nedir? ALGORİTMA NEDİR ? Algoritma, her hangi bir işi yapmak ya da bir problemi çözmek için adım adım uygulanan kurallar dizisine denir. Başka bir ifade ile algoritma, bir işlemi sonuçlandırmak, bir problemi mantıksal bir sıraya göre çözmek için ,sembollerle veya kelimelerle anlatım şeklidir. Algoritma ” Giriş, İşlem, Sonuç ”olmak üzere üç ana bölümden oluşur. 1.Giriş Bölümü: Giriş bölümünde problem belirlenir ve üzerinde fikir sahibi olunur. Örneğin iki sayının birbiri ile toplanmasını ele alalım. Değişkenlerim A ve B olsun. Bu sayıların alacağı değerler belirlenir. 2.İşlem Bölümü: İşlem bölümünde yapılacak işlemler yapılır. Örnek üzerinden devam edicek olursak A sayısıyla B sayısı toplanır(A+B). Bunu bilgisayar hafızasında tutar . 3.Çıkış Bölümü: Çıkış bölümünde ise işlem ekrana yazdırılır. Hafızasında tutduğu işlemi “ toplam” diye adlandırısak işlemi bir çıkış biri ile ekrana yazdırırız. Algoritma tasarımı Bilgisayar Mühendisliğinde yazılım için bir başlangıç noktasıdır denebilir. İyi bir bilgisayar mühendisi bir probleme ait algoritmayı tasarlaya bilmeli ve gerektiğinde onları bir program dili ile yazabilmelidir. Algoritmada Olması Gereken Temel Özellikler ? Algoritmada doğru çözüme ulaşabilmek için uyulması gereken temel özellikler vardır. Bu özellikler : Kesinlik Etkinlik Sonluluk Giriş\Çıkış olarak ifade edilir. Kesinlik: Algoritmada kesin olmalı ve karışık anlaşılması güç satırlar bulunmamalıdır. Algoritma tekrar yürütüldüğünde aynı giriş değerleri için aynı sonuç elde edilmelidir. Etkinlik: Algoritmada gereksiz tekrarlar bulunmamalı ve etkin olalıdır. Kendini tekrarlayan adımlar kullanılmamalıdır. Gerektiğinde diğer algoritmalar içerisinde kullanılmalıdır. Sonluluk: Bir algoritma sonlu sayıda işlem içermeli ve bu işlemin süreside sonlu olmalır. Algoritma belli sayıda adımdan oluşur ve bu adımların bittiğini kesinlikle belirtmemiz gerekir. Giriş\Çıkış: Algoritmanın giriş ve çıkış değerleri olmalıdır. Giriş değerleri algoritma üzerinde işlemler yapıp sonuç ürettiği veridir; çıkış değeri ise algoritma tarafından elde edilen sonuçtur. Bir algoritmanın kesinlikle bir giriş bilgisi olacak diye bir kural yok; olayabilir ama kesinlikle bir çıkış bilgisi olmalıdır. HAZIRLAYAN: Sedanur YEŞİLTAŞ Bilgisayar Mühendisi Hakkında Bilgiler BİLGİSAYAR MUHENDİSLİGİ BÖLÜMÜNÜN TÜRKİYEDEKİ YERİ Türkiyede ilk bigisayar mühendisi mezunlarını 1981 yılında Hacettepe Üniversitesinde 16 kişi olarak tespit edilmiştir. 2006 yılında 48 üniversitede 23 farklı statüde egitim verilmekteydi ve 15118 ögrenci adayından 3414 ü bilgisayar mühendisligine kayıt yaptırmıştır. Son yıllarda ise 200den fazla üniversitede bilgisayar bölümü var. Toplam olarak son yıllarda 423017 üniversite adayından devlet üniversitesine yaklaşık olarak 5700 kişi, vakıf üniversitesinde yaklaşık olarak 2600 kişi toplamda 8300 kişi bilgisayar mühendisi adayı olmaya hak kazanıyor. 2015 yılında bilgisayar mühendisligine giren en yüksek puan olarak 516,903 oldugu bildirilmiş . Türkiyede bilgisayar mühendisligine girmeye hak kazanmış kişilerin ortalama başarı sırası 125084 olarak bilinmektedir. Türkiyede en çok işsiz bulunan bölümler arsından 13. Sırada yer alıyor ve işsizlerin %14,2 bu guruba dahil. Bilgisayar bölümü işsiz sayısı 19.034 kişi olarak bilinmektedir. HAZIRLAYAN: Sedanur YEŞİLTAŞ