Kapat
Algoritma 193 0

Bilgisayar Ve Yazılım Mühendisliği Farkları

Bilgisayar ve yazılım mühendisliği arasında ki farklar ilgilendikleri alanlardır. Bilgisayar mühendisliği hem donanım hem de yazılım alanına eğilirken yazılım mühendisliği genel anlamda yazılım geliştirme alanına eğilmektedir. Dersleri de buna göre çok az bir farklılık gösterir: Bilgisayar mühendisliği öğrencileri elektirik elektronik, mikroişlemciler gibi donanımsal dersler alırken; yazılım mühendisliği öğrencileri profesyonel yazılım geliştirme, yazılım projesi yönetimi gibi dersler görürler. Gördükleri derslerden de anlaşılacağı üzere bilgisayar mühendisleri bilgisayarın her şeyi ile yakından ilgilenirken yazılım mühendisleri genel olarak yazılım geliştirme ile ilgilenirler. İki bölüm arasında ki farklar genel anlamda bunlardır.

Yazılım Mühendisliği Mi ? Bilgisayar Mühendisliği Mi?

Bunun seçimi size aittir. Kimse bu konuda sizi bir şeye zorlayamaz. Bu tamamen kendinizi hangi alanda geliştirmek istediğinizdir. Aşağıda bu iki bölümün gördüğü dersler listelenmiştir ama bundan önce bu meslekler arasında ki farklara daha çok değinelim.

Hangisi Daha Çok Maaş Alır?

Bu maaş konusu okuduğunuz, mezun olduğunuz bölümler alakalı değil. Hangi bölümden mezun olursanız olun kendinizi geliştirmenizle alakalı. Yani demem o ki muhasebe gibi bir bölümden dahi mezun olsanız yazılım alanında kendinizi geliştirdiğiniz de gayet iyi işlerde çalışmanız mümkün. Para yaptığın iş ve onun kalitesi ile orantılı olarak verilir. Kimse sen yazılım mühendisisin sana daha fazla vereyim ya da sen bilgisayar mühendisisin sana daha az vereyim demez. O yüzden hangi mesleği seçecek olursanız olun kendinizi geliştirmeye bakın. O zaman bu bölümlere biraz daha detaylı bakalım.

Bilgisayar Mühendisliği Nedir?

Bilgisayar mühendisliği donanım ve yazılım alanında karşılaşılan algoritmik süreçlerin uygulamalarını içeren bir mühendislik dalıdır. Temel olarak yazılım, programlama ve algoritma ile ilgilenir. Bilgisayar Mühendisliği daha çok bilgisayar sistemlerinin tasarlanması ve geliştirilmesine ve yazılımın donanımla nasıl etkileşime girdiğine odaklanmaktadır. Yani devreleri, mantık kapılarını, fiziği öğreneceksiniz, aynı zamanda programlama ve Bilgisayar Mühendisliği de çok daha fazla şey yapıyor. Yani bilgisayar mühendisleri yazılımla da ilgileniyor. Peki yazılım mühendisleri ne yapıyor?

Yazılım Mühendisliği Nedir?

Yazılım Mühendisliği, yazılımlarla ilgilenen bir bilim dalıdır. Bu bilimin temsilcileri olan yazılım mühendisleri, kullanıcıların ihtiyaçları doğrultusunda yazılımlar oluşturmak, tasarımını ve yapısını incelemekle uğraşır. Programlama dillerini kullanarak yazılımı ortaya koyarlar. Yazılım Mühendisliği temel olarak bilgisayar bilimini inceler ve mühendislik ile birleştirir. Ana odak noktası yazılım geliştirme ve yazılım sistemlerinin oluşturulması ve sürdürülmesidir.

Yazılım mühendisleri bilgisayar mühendislerine göre donanıma çok daha az odaklanmıştır, programların olması gerektiği gibi ve güvenli çalışmasını sağlamak için gelişim sürecine daha fazla vurgu yapar. Yazılım mühendisliği uzmanlık ve iş büyümesinde daha avantajlı görünmektedir. Bununla birlikte, bilgisayar mühendisliği, donanım ve yazılım bileşenleri hakkında bilgi edindikleri için daha çeşitli bir eğitim avantajına sahip gibi görünmektedir. Bilgisayar mühendisliği daha fazla fizik tabanlı derslere ve donanım / elektronik, sinyaller ve ağlara odaklanma eğilimindedir, ancak yine de programlama yapmak için fırsatlar vardır. Aslında, bilgisayar mühendisliği öğrencileri benzer programlama kavramlarına yönlendiren bir yazılım mühendisliği seçeneği ile yandal yapabilirler.

Bilgisayar Mühendisliği Ve Yazılım Mühendisliği Dersleri Arasında Ki Farklar

Yazılım Mühendisliği Dersleri

  • Fizik ve Matematik (Kalkülüs, Lineer Cebir, Diferansiyel Denklemler, Olasılık Kuramı ve İstatistik, Ayrık Matematik)
  • Programlama
  • Yazılım Geliştirme
  • Mantıksal Tasarım
  • Veri Yapıları v Algoritmalar
  • Sistem Programlama
  • Bilgisayar Organizasyonu
  • İşletim Sistemleri
  • Algoritma Analizi
  • Bilgisayar Ağları
  • Veritabanı Sistemleri
  • Sistem Analizi ve Tasarımı
  • Yazılım Geliştirme Metodolojileri
  • Yazılım Testi
  • Yazılım Geliştirme Standartları
  • Siber Güvenlik
  • İnsan-Makine Etkileşimi
  • Web Uygulamaları Geliştirme
  • İnternet Programlama
  • Mobil Uygulama Geliştirme
  • Hesaplama Kuramı
  • Yapay Zeka
  • Robotik
  • Paralel ve Dağıtık Hesaplama
  • Veri Bilimi ve Analitiği

Bilgisayar Mühendisliği Dersleri

Matematik Dersleri

Matematik Dersleri

Bilgisayar mühendisliği ile ne alakası var matematiğin, ileride ne işime yarayacak bu dersler demeyin. Bilgisayar bilimlerinde her şeyin temeli matematik. Eğer düz programcı olarak piyasada çalışacaksanız bu derslerin bazılarına çok da ihtiyacınız olmayabilir ama özellikle araştırma kariyeri düşünüyorsanız sağlam bir matematik temelinizin olması son derece önemli.

  • Genel Matematik (Calculus)
    • Limit, türev, integral gibi konuları içeren temel matematik dersi.
  • Diferansiyel Denklemler (Differential Equations)
    • Bilgisayar bilimleri ile doğrudan ilgili olmasa da mühendisliğin temel derslerinden biri. Bu ders bölümünüzde seçmeli ise yerine numerik analiz dersini almayı düşünebilirsiniz.
  • Nümerik Analiz (Numerical Analysis)
    • Problemlerin numerik çözümleri ile ilgili genel bir kavrayış elde etmek için alınması gereken bir ders.
  • Lineer Cebir (Linear Algebra)
    • Oldukça temel bir ders. Özellikle bilgisayar grafiği alanına ilgi duyanlar için olmazsa olmaz diyebilirim. Lineer cebir bilgisinin kullanıldığı diğer bazı alanlar: video ve görüntü işleme, haberleşme, sinyal işleme, makina öğrenmesi ve yapay zeka olarak sıralanabilir.
  • Ayrık Matematik (Discrete Mathematics)
    • Algoritma analizi, graf teorisi, veri yapıları ve algoritmalar gibi konuların temelini oluşturan bir ders.
  • Olasılık ve İstatistik (Probability and Statistics)
    • Özellikle makine öğrenmesi ve veri madenciliği gibi konularda ilerlemeyi düşünenler için oldukça önemli bir ders.

Donanım Dersleri

Donanım Dersleri
  • Genel Fizik (General Physics)
    • Lise fiziğinin tekrarı/devamı diyebiliriz. Tam olarak donanım dersi olmasa da donanım dersleri ile ilgili sayılabilecek temel bir ders.
  • Devre Teorisi (Circuit Theory)
    • Elektrik devrelerinin temel elemanları ve analizini konu edinen bir alan.
  • Elektronik Devreler (Electronic Circuits)
    • Elektronik devre tasarımının temellerinin işlendiği bir ders.
  • Mantıksal Devreler (Logic Circuits)
    • Bilgisayarların temel blokları olan mantıksal devreleri konu alan, aynı zamanda bilgisayar mimarisi dersi için de temel oluşturan bir ders.
  • Bilgisayar Organizasyonu ve Mimarisi (Computer Organization and Architecture)
    • Bilgisayarların içinde cinlerin olduğuna dair batıl inançlarınızın tamamen yok olacağı, “bu bilgisayarlar nasıl çalışıyor?” sorusuna cevap bulacağınız bir ders.
  • Bilgisayar Ağları ve Veri Haberleşmesi (Computer Networks and Data Communication)
    • Bilgisayar ağlarının mimarileri ve haberleşme protokolleri gibi konuları kapsayan bir ders.

Yazılım Dersleri

Yazılım Dersleri
  • Programlamaya Giriş (Introduction to Programming)
    • İlk programlama dersi. Çoğu üniversite C/C++ veya Java ile başlamayı tercih ediyor.
  • Programlama Dilleri (Programming Languages)
    • Programlama dillerinin genel kavramlarının işlendiği bir ders.
  • Veri Yapıları ve Algoritmalar (Data Structures and Algorithms)
    • Bölümün en temel derslerinden biri. Hedefiniz silikon vadisi ise her mülakatta bu derste öğrendiklerinize ihtiyacınız olacak. Temel konu başlıkarı: veri yapıları, sıralama algoritmaları, arama algoritmaları, açgözlü algoritmalar, ve algoritma analizi olarak sıralanabilir.
  • İşletim Sistemleri (Operating Systems)
    • Sistem yazılımı mimarileri, gömülü sistemlerin temelleri, dosya sistemi ve işlem yönetimi gibi konuları kapsayan temel bir ders.
  • Veritabanı Sistemleri (Database Systems)
    • Veritabanlarının temelleri, veritabanı yönetimi ve veritabanı uygulamaları geliştirmeyi konu alan bir ders.
  • Nesne Yönelimli Programlama (Object Oriented Programming)
    • Sınıf, nesne, arayüz, soyut veri tipleri, kalıtım ve yazılım kalitesi gibi nesne yönelimli programlamanın temellerinin işlendiği bir ders. Çoğu üniversite bu derste Java kullanmayı tercih ediyor.
  • Yazılım Mühendisliği (Software Engineering)
    • Yazılım geliştirme süreçleri ve proje yönetimi üzerine bir ders.
  • Biçimsel Diller ve Özdevinirler Kuramı (Formal Languages and Automata Theory)
    • Teori ağırlıklı bir ders. Derleyiciler dersini almayı düşünüyorsanız faydalı olabilir.

Genellikle Seçmeli Olan Dersler


Bölüm Dersleri
robot

Temel konularda belirli bir altyapıya sahip olduktan sonra daha heyecan verici araştırma alanlarını keşfetmeniz için bölüm seçmeli dersleri güzel bir fırsat. Buradaki dersleri tek tek açıklamadım. Tavsiye ettiğim dersleri yazının devamında bulabilirsiniz.

  1. Makine Öğrenmesi (Machine Learning)
  2. Örüntü Tanıma (Pattern Recognition)
  3. Yapay Sınır Ağları (Artificial Neural Networks)
  4. Bilgisayarla Görü (Computer Vision)
  5. Görüntü ve Video İşleme (Image and Video Processing)
  6. Bilgisayarlı Fotoğrafçılık (Computational Photography)
  7. Bilgisayar Grafiği (Computer Graphics)
  8. İnsan-Bilgisayar Etkileşimi (Human Computer Interaction)
  9. Gömülü Sistemler (Embedded Systems)
  10. Gerçek Zamanlı Sistemler (Real-time Systems)
  11. Robotik (Robotics)
  12. Yapay Zeka (Artificial Intelligence)
  13. Veri Madenciliği (Data Mining)
  14. Bilgiye Erişim ve Arama Motorları (Information Retrieval)
  15. Doğal Dil İşleme (Natural Language Processing)
  16. Bilgi Kuramı (Information Theory)
  17. Bilgi Güvenliği ve Kriptografi (Information Security and Cryptography)
  18. Bulanık Mantık (Fuzzy Logic)
  19. Sayısal İşaret İşleme (Digital Signal Processing)
  20. Kablosuz Ağlar (Wireless Networks)
  21. Dağıtık ve Paralel Hesaplama (Distributed and Parallel Computing)
  22. Dosya Organizasyonu (File Organization)
  23. Mikroişlemciler (Microprocessors)
  24. Derleyiciler (Compilers)

Berat Emre Demir {Berat Emre Demir}