Bilgisayar Mühendisliği Önemli Kitapları Bu kitaplar bilgisayar mühendisliği öğretiminde çok önemli konuları içermektedir
Bilgisayar mühendisliği veya bilimi diğer tüm mühendislikler gibi tasarım, modelleme ve üretim üzerine odaklıdır. Karşılaşılan problemlerin modellenmesi, eğer yazılım konusu ise kodlanması, belgelenmesi ve testi önemli konulardır; donanım konusu ise yine modellenmesi, lojik (mantıksal) tasarımı, işlemcili sistem tasarımı, VHDL FPGA ile tasarım, kart tasarımı önemli konulardır. Bu sayfada sunulan kitaplar bilgisayar mühendisliği için olmazsa olmaz kitaplardır; amacı bilgisayar mühendisi olacak gençlere sağlam bir temel oluşturacak, mesleki alanda temel bilgileri kazandıracak ciddi kaynaklardır. Bilgisayar mühendisliği, yazılım mühendisliği ve enformatik gibi bölümlerinde bulunan dersler için ciddi temel bilgiler kazandıracak temel eserlerdir. |
||||||
İşletim Sistemleri Bu kitap, bilgisayar donanımını canlandırarak işlevsel duruma getiren “işletim sistemleri” konusu üzerinedir; bilindiği gibi işletim sistemleri bilgisayar mühendisliği alanında çok önemli ve çok özel bir yere sahiptir. Hem sistem kaynaklarının adil bir şekilde paylaşılarak kullanılmasını sağlarlar hem de sistem çağrıları denilen fonksiyonlarıyla program tasarımcılarına hazır kütüphane desteği verirler. Başarımı yüksek, verimli, kesintisiz çalışabilen sistemler için ve sağlıklı yazılım tasarımları geliştirebilmek için işletim sistemlerine ait konuları iyice bilinmelidir. Kitabımızda; işletim sistemleri konusuna kısaca bir bakış yapıldıktan sonra, sırası ile İşlemci Yönetimi (İşlemci Zaman Çizelgelemesi), Proses Yönetimi, Zamandaşlık (Karşılıklı Dışlama, Senkronizasyon, Ölümcül Kilitlenme), Bellek Yönetimi, Saklama (Depolama) Yönetimi, İşletim Sistemlerinin Ağ Bileşenleri, Dağıtık İşletim Sistemleri ve Yaygın Kullanımdaki İşletim Sistemleri konuları ele alınmıştır. Böylesi bir eser hem bilgisayar mühendisliği profesyonelleri hem de ilgili bölümlerde okuyan öğrenciler için iyi bir başvuru kitabıdır. Tüm bölümleri üniversitelerde ilgili dersi veren öğretim üyelerince yazılmış olan bu kitap, özellikle “İşletim Sistemi” dersi içeriği dikkate alınarak hazırlanmıştır. Algoritma Geliştirme ve Programlamaya Giriş Bilgisayar dünyasındaki hızlı gelişmeler, ister istemez herkesin dikkatini çekmektedir. Bu gelişmeler donanımla sınırlı kalmayıp yazılıma da büyük bir hızla yansımıştır. Programlamacıların ya da olmaya karar verenlerin ilk öğrenmeleri gereken şey algoritma hazırlama ve geliştirme tekniğidir. Yani daha açık bir şekilde programcılığın temelinde algoritma vardır diyerek açıklayabiliriz. İlk baskısı kısa sürede tükenen bu kitapta da birçok değişik problemlerin algoritmaları hazırlanarak algoritma geliştirme mantığının iyice kavranması amaçlanmıştır. Bu kitap da yeni başlayanlar için başlangıç seviyesinde bilgilere yer verildiği gibi çok farklı konularda da bilgi vermiştir.
Özdevinirler (Otomatlar) Kuramı ve Biçimsel Diller Bu kitabın konusu olan "özdevinirler (otomatlar) kuramı ve biçimsel diller" bilgisayar bilimleri ve mühendisliğinin kuramsal temelleri alanının en önemli konularından biridir. Bu nedenle bilgisayar bilimleri ve bilgisayar mühendisliği alanında eğitim veren lisans programalarının birçoğunda bu konunun işlendiği bir derse yer verilmektedir.
Özdevinirler ya da otomatlar denince akla
ilk gelen kendi kendine hareket eden ve belirli işlevleri gerçekleştiren
otomatik makineler olmaktadır. Özdevinir yerine kısaca makine sözcüğünün
kullanılmasının nedeni de budur. Oysa bilimsel olarak, özdevinirler
belirli özelliklere sahip matematiksel modellerdir. Bu modeller yalnız
donanım alanında değil derleyiciler, yorumlayıcılar, metin
düzenleyiciler, sözdizim çözümleyiciler, ayrıştıncılar (parsers) başta
olmak üzere birçok yazılım bileşeninde de kullanılan modellerdir.
Özdevinirler biçimsel dillerin sözdizimsel ve anlamsal çözümlemesinde
kullanılan modeller olduğu için de özdevinirler ile biçimsel diller
birbiriyle çok yakından ilişkili, birbirini tamamlayan konulardır. Özdevinirler kuramı ve biçimsel diller dersini Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümünde 12 yıldan beri vermekte olduğum için, bu konuda küçümsenmeyecek bir soru bankasına sahibim. Bu soruların büyük bir kısmı kitapta yer almaktadır. Kitabın en özgün yanımn da soru ve yanıtlar olduğunu düşünüyorum. Soruların her biri en az bir kez sınavda sorulmuş ve ölçme açısından başarılı olduğu görülmüştür. Kitapta yer alan tüm soruların yanıtları verilmiştir. Ancak kitabın sayfa sayısının çok artmaması için, yanıtlar kısa tutulmaya çalışılmış, bazı sorular için ise sonucun verilmesi ile yetinilmiştir. Diğer taraftan bazı soruların birden çok geçerli yanıtının olabileceği; yanıtı tek olan soruların birçoğu için de birden çok çözüm yolunun olabileceği bir gerçektir. Bu nedenle kitapta yer alan çözümlerin örnek çözümler olduğu; bazı sorular için verilen çözüm dışında başka çözüm ya da çözümlerin de olabileceği unutulmamalıdır.
Bu kitabın amacı, Bilgisayar Bilimine dayalı bölümler için sağlam bir temel oluşturacak, mesleki alanda temel bilgileri kazandıracak ciddi bir kaynak oluşturmaktır. Bilgisayar mühendisliği, yazılım mühendisliği, yönetim bilişim sistemleri ve enformatik gibi üniversitelerin Bilgisayar Bilimine dayalı bölümlerinde bulunan dersler hakkında ciddi temel bilgiler kazandırmak ve mesleğin temelini oluşturmaktır. Böylece sektör çalışanları ve söz konusu disiplinlerde öğretim gören öğrenciler, hem meslekleri konusunda temel bilgilerle donatılmış olacaklar hem de öğretim yaşamı boyunca hangi dersin hangi konuları içerdiğini ve hangi uygulamalara temel oluşturduğunu öğreneceklerdir. Her ne kadar adı bilgisayar bilimine giriş olsa da içerik açısından oldukça zengin ve kapsamlıdır. Hem öğrenciler hem de profesyoneller için her zaman ellerinin altında bulunması gereken ciddi bir kaynak eser niteliğindedir. Kitabımızda bilgisayar bilimiyle ilgili konular hem teorik hem de pratik uygulamalarla açık ve yalın bir dille ele alınmıştır. Bölümler konusunda araştırmacı öğretim üyeleri tarafından yazılmış olup kitabın editörleri tarafından kontrol edilmiştir.
|
|
Introduction to Computer Engineering Kollektif, Editör: Toros Rifat Çölkesen
This bestselling textbook
will introduce the fundamental concepts and techniques to undergraduate
computer engineering students, with the basic theme of integrative
computer engineering. It covers computer engineering of several hardware
systems, software developments, algorithm design, programming languages,
microprocessors, operating systems, computer networks, data structure
and data models, database management, Boolean algebra at these levels
with engineering concepts and approaches; state-of-the-art knowledge in
systems computer software and hardware.
Veri Tabanı Sistemleri adlı bu kitabımız üniversitelerin lisans öğretiminde “Veri Tabanı” ile ilgili derslerde okutulacak düzeyde ciddi bir kaynak niteliğindedir. Kitabımız hem teorik hem pratik açıdan bilgiler ile donatılmış olup toplam on bölümden oluşmaktadır. Bölümler sırasıyla “Tanımlar ve Temel Kavramlar”, “Varlık-Bağıntı Modeli”, “İlişkisel Veri Modeli”, “İlişkisel Tasarım”, “İlişkisel Cebir”, “İlişkisel Hesap”, “SQL Standart İlişkisel Dil”, “Nesneye-Yönelik Veri Tabanı”, “Veri Tabanı Gerçekleştirim Teknikleri”, “ Yeni Teknolojiler, Yeni Uygulamalar” şeklinde sıralanmıştır. Ayrıca “Gerçek Uygulama Alanlarından Seçilmiş Veri Tabanı Örnekleri” ve “Çok Sayıda Seçilmiş Soruların Yanıtları” ekleriyle desteklenmiştir. Kitabımız üniversitelerin ilgili bölümleri için ciddi bir kaynak eser niteliğindedir.
“Bilgisayar biliminin
bilgisayarlarla bağlantısı, astronominin teleskoplarla bağlantısından
fazla değildir.” E. W. Dijkstra Bilgisayar bilimlerinin özünü oluşturan
algoritma analizi, insanlığın tarih boyunca geliştirdiği, bilgisayar
donanımından, programlama dillerinden veya yazılım projelerinden
bağımsız, bir işin farklı şekillerde nasıl yapılacağını anlatan, bilgi
birikimini oluşturmaktadır. Herhangi bir dilde veya ortamda, herhangi
bir amaçla program yazmak isteyen birinin, yazdığı programı daha iyi
nasıl yazabileceğini veya yazılabilecek en iyi algoritmayı
geliştirdiğini anlaması ancak algoritmayı doğru şekilde analiz etmesi
ile mümkün olur. Bu kitapta; paralel programlamanın uygulamalı yönleri, bilgisayar biliminde ve mühendisliğinde, çok önemli olduğu için "paralel bellek mimarileri" ve "programlama algoritmaları" ele alınmıştır. Bu kitap, paralel hesaplama sistemleri için düşük maliyetli kullanışlı programlar tasarlamak ve oluşturmak isteyen hem öğrenciler hem programcılar ve hem de sektör çalışanları için uygulayıcı bir rehber niteliğindedir.
Mühendislik bölümleri için C++ kitabı; hem nesneye yönelik program tasarımı hem de kodlaması öğretilmektedir. Kitapta, C Programlama Dili’nin değişkenleri, veri türleri, operatörleri, döngü deyimleri ve karşılaştırma deyimleri gibi konularda temel bilgiler verilmiş, sonra ileri düzey sayılabilecek konular ve sistem programlamada kullanılan kütüphane fonksiyonları (sistem çağrıları) da ele alınmıştır. Örneğin, ANSI C’de bulunan tüm kütüphane fonksiyonlarına ek olarak UNIX işletim sisteminin disk dosyalarında kullanılan sistem çağrıları, bir C derleyici paketinin grafik ve port erişim fonksiyonları da incelenmiştir. Bu kitap, “C Programlama Dili”ni hem öğrenmek hem de bu konuda derinlemesine bilgi edinmek isteyenlere önerilmektedir. |
||||
Bilgisayar Mühendisliği Kazanımları ~ Ayrık Diskrete MatematikAyrık matematik; bilgisayar bilimleri, bilgisayar mühendisliği, yazılım mühendisliği ve kısacası bilişim uygulamalarına dayalı disiplinlerin en temel konusudur; bilgisayar kuramının temeli ayrık matematiktir. Bilindiği gibi, eğer, “matematik tüm bilimlerin kraliçesi” ise, “bilgisayar da katkısından dolayı tüm mühendisliklerin kralıdır”, denilebilir. Bilgisayar mühendisliği matematiği bir açıdan “uygulamalı ayrık matematik” gibi düşünülebilir; ancak ayrık matematiğin hem konular açısından hem de ele alınan örnekler açısından günümüz bilişim uygulamalarını tam olarak kapsayamaması bilgisayar mühendisliği matematiğini gündeme getirmiştir. Dolayısıyla bu kitabın adı “Uygulamalı Ayrık Matematik”, “Uygulamalı Ayrık Yapılar Matematiği” veya “Bilgisayar Bilimi için Ayrık Matematik” olabilirdi... Bu kitabın içeriğine doğal olarak tüm mühendislik bölümleri için önemli olan ve birinci sınıfta verilen “Calculus” derslerinin konuları eklenmemiştir; bu derslerin konularında ele alınan teorem ve önermeler de doğal olarak kitabımızda ara işlemlerde kullanılmaktadır! Bilgisayar mühendisliği matematiği konularını bilmek bilgisayar bilimcisine, bilgisayar mühendisine, yazılım mühendisine ve bilişim sistemi tasarımcısına büyük katma değer kazandırır; üstelik bazı problemler vardır ki, bilişim matematiği konuları bilinmeden gerçekleştirildiğinde gerçek çözümden uzak olur; fazladan döngüler, fazladan bellek alanı kullanıldığı gibi elde edilen sonuçlara da pek güvenilmez!. Matematik, ayrıca, donanım tasarımcıları için bile, özellikle gömülü sistemlerin tasarımcıları için gerekli bir konudur. İş yaşamında veya günlük yaşamda karşılaşılan problemleri modellemek ve onlara ait çözümleri evrensel düzeyde algoritmik olarak tasarlayabilmek için de matematik mutlaka bilinmelidir; önce çözüm için en uygun model belirlenmeli, daha sonra alt bileşenleri ortaya konularak problem, önce matematiksel olarak çözülmelidir. Bilgisayar mühendisliği matematiği genel olarak ayrık matematik konularını, veri yapıları ve algoritma konularını, graf teorisini, ağaçlar tanımını, otomata kuramını, kriptografi konusunu ve olasılık teorisini kapsamaktadır. Ders Kitabı Olarak Kullanılırsa Bilgisayar mühendisliği matematiği adlı bu eserimizde bilgisayar bilimi ve bilişimle ilgili temel matematik konuları ele alınmıştır. Eğer bu eserimiz ders kitabı olarak kullanılmak istenirse, sırasıyla her bölüm ele alınıp işlenmelidir! Eğer ders saatleri tüm konuları ele alamayacak kadar yeterli değilse, bir konuya takılıp diğerlerine zaman kalmayacağına her hafta bir bölümü işleyip kalan kısım öğrencilere okuma ödevi olarak verilmelidir. Bölüm sonlarında çalışma soruları ve vurgulanmak istenen konuların hemen altında kendimizi sınayalım başlığı altında sıcağı sıcağına pekiştirme soruları vardır. Ders anlatım izlencesi bölümlerin sırasına sadık kalınarak yapılması konuların devamlılığı açısından önemlidir. Çünkü ilerleyen bölümlerde önceki bölümlerdeki konular ara işlem olarak kullanılmaktadır. Eğer tüm bölümler işlendikten sonra zaman kalırsa geriye dönüp okuma ödevi olarak verilen kısımlar işlenebilir. þ Bilgisayar Olimpiyat Soruları Bilgisayar olimpiyat soruları incelendiğinde, soruların büyük bir kısmının bu kitabın konusu olan matematik kapsamında olduğu ve bu konular aracılığıyla çözülebileceği görülür. Tüm bilim dallarının kraliçesi matematiktir; bu bilişim uygulamalarında da geçerlidir... Bu kitapta bilgisayar mühendisliği matematiğinin çerçevesi çizilerek hem teorik konular hem uygulamalı örnekler ele alınmıştır; ayrıca matematik olmadan çözülmesi zor olan problemler de ayrıca vurgulanmıştır. Kitabımızın Bölümleri Kitabımız başlangıçta on altı bölüm olarak planlanmıştı; ancak sayfa sayısının planlanan sayfa sayısını çok aşması ve konularında çok derinleşmesi nedeniyle on üç bölüme indirgenmiştir; kitaba eklenmeyen veri sıkıştırma, kodlama ve şifreleme, arama motoru optimiazasyon matematiği bölümleri belki de ileride başka bir kitap olarak yayımlanabilir… Kitabımızın ilk bölümleri “Kümeler” ile “Bağıntılar ve Fonksiyonlar” birçoğunu zaten bildiğimiz temel konulardır; ancak ilerideki bölümlerle sağlıklı bir bağlantı kurulabilmesi için dikkatlice okunması gerekir. Daha sonraki bölümlerle bilişim matematiğine özgü konular ve uygulamalar başlamaktadır. Son bölümde ise “Algoritma Analizi” gibi önemli bir konu ele alınmıştır. Metinler içerisinde, zaman zaman ara açıklamalar veya örnekler verilmektedir; açıklamanın veya örneğin bittiği þ simgesi koyularak gösterilmeye çalışılmıştır. Yani þ simgesiyle karşılaşıldığında ara açıklama veya örnek bitti asıl konuya devam ediyoruz anlamındadır… - Bilgisayar Mühendisliği Matematiği önsözünden.
|
||||||