Gömülü Yazılım Mühendisi Nasıl Olunur - Gömülü Yazılım Mühendisliği Öğrenmek İçin 5 AŞAMALI YOL HARİTASI
İçindekiler:
- Giriş
- İçerik Başlığı 1
- İçerik Alt Başlığı 1.1
- İçerik Alt Başlığı 1.2
- İçerik Başlığı 2
- İçerik Başlığı 3
- İçerik Alt Başlığı 3.1
- İçerik Alt Başlığı 3.1.1
- İçerik Alt Başlığı 3.1.2
- İçerik Alt Başlığı 3.1.3
- İçerik Alt Başlığı 3.2
- İçerik Başlığı 4
- İçerik Alt Başlığı 4.1
- İçerik Alt Başlığı 4.2
- İçerik Alt Başlığı 4.2.1
- İçerik Alt Başlığı 4.2.2
- İçerik Alt Başlığı 4.3
- İçerik Başlığı 5
- İçerik Alt Başlığı 5.1
- İçerik Alt Başlığı 5.2
- İçerik Alt Başlığı 5.2.1
- İçerik Alt Başlığı 5.2.2
- İçerik Başlığı 6
📚 İçerik Başlığı 1:
Giriş
Merhaba ve bu videoya hoş geldiniz. Bir yerleşik yazılım mühendisi olmak istiyor musunuz veya zaten bir yazılım mühendisisiniz ve Tesla, BMW, Airbus, Boeing, SpaceX, Apple gibi şirketler gibi yerleşik sistemler kullanan bir şirkette çalışmak istiyor musunuz? O zaman bu video tam size göre! Yerleşik sistemlerin ne olduğunu ve yerleşik sistemlerle çalışabilmek için neler öğrenmeniz gerektiğini açıklayacağım. Ancak konuya girmeden önce kendimi tanıtmama izin verin. Adım Florian ve Almanya'da bulunan bir bilgisayar bilimi profesörüyüm. Kariyerimin çoğunluğunda yerleşik sistemlerle çalıştım, hem akademide hem de daha önce 100'den fazla yazılım mühendisi yönettiğim zamanlarda otomotiv uygulamaları için yerleşik sistemler geliştiren bir yazılım mühendisliği ekibinin yöneticisi olarak çalıştım. Misyonum, yazılım mühendisi olarak sizin gelişiminize yardımcı olmaktır. Eğer yazılım mühendisliğiyle ilgileniyor ve kariyerinizi geliştirmek istiyorsanız, lütfen bu kanala abone olun ve bu videoyu yararlı bulduysanız lütfen beğen butonuna tıklayın.
🔧 İçerik Başlığı 2:
Yerleşik Sistemler Nedir?
Şu anda bu videoyu izlerken muhtemelen çoğu insan gibi çevrenizde birçok yerleşik sistem bulunmaktadır. Yerleşik sistemler, bir mekanik veya elektronik sisteme gömülü olan ve belirli bir iş için tasarlanmış olan bir bilgisayar sistemidir. Bu, örneğin kahve makinenizdeki mikrodenetleyici olabilir veya RGB rengini değiştirebilen akıllı lambalarınızdaki mikrodenetleyici olabilir. Arabanızdaki kontrol ünitesi olabilir, bir kaza durumunda hayatınızı koruyan ve hava yastıklarını açan bir sistem olabilir veya bir uçakta bulunan uçuş kontrol cihazı olabilir. Hatta AirPods'unuzda bile bir yerleşik sistem bulunmaktadır.
Yerleşik sistemlerle ilgili öğrenmek istediğiniz zaman almanız gereken adımlar nelerdir ve yerleşik yazılım mühendisi olmak istediğinizde hangi yolları izlemeniz gerekmektedir? İşte bu noktada, üniversitemizde yerleşik sistemler programında da kullandığımız genel bir yol haritası olan aşamaları gözden geçirelim.
📘 İçerik Başlığı 2.1:
Adım 1: C Programlama Dilini Öğrenin
Yerleşik sistemlerde hala yaygın olarak C programlama dili kullanılmaktadır. C++ gibi alternatifler olsa da, C hala en temel dil olarak kullanılmaktadır. C, başka bir dil kullanmanız durumunda da ihtiyaç duyacağınız temel altyapıyı sağlamaktadır. Ayrıca mikrodenetleyici üzerindeki donanıma çok yakındır. İyi bir haber ise C programlamayı masaüstü bilgisayarınızda, MAC'te, Linux sistemde veya Windows ortamında öğrenebilirsiniz. Bir yerleşik sistemde başlamak zorunda değilsiniz hatta başlamanızı yerleşik bir sisteme değil bilgisayarınızda masaüstü ortamında yapmanızı teşvik ederim. Çünkü bu şekilde tek bir şeye odaklanabilirsiniz ve bu, aynı anda C ve yerleşik sistemler öğrenmekten daha kolaydır. Bu nedenle adım 1 olarak C programlamayı öğrenmek önemlidir.
🔌 İçerik Başlığı 2.1.1:
C Programlama Diliyle Başlarken
C programlama diliyle başlarken, bir ders kitabı veya çevrimiçi kaynaklar kullanabilirsiniz. Başlangıç seviyesindeki C programlama dersleri, temel dil kurallarını, veri türlerini, değişkenleri ve temel kontrol yapılarını anlatır. Ayrıca fonksiyonlar, döngüler ve işaretçiler gibi daha ileri konuları öğrenmek için pratik yapmalısınız. Örnek bir program yazın, C programlama becerilerinizi geliştirmek için küçük projeler yapın ve diğer C geliştiricileriyle etkileşime geçmek için topluluk forumlarını kullanın.
🔌 İçerik Başlığı 2.1.2:
C Programlama Kaynakları
- "C Programming Absolute Beginner's Guide" (Greg Perry, Dean Miller)
- "C Programming Language" (Brian W. Kernighan, Dennis M. Ritchie)
- "Learn C the Hard Way" (Zed A. Shaw)
- Codecademy: C Programming
- Udemy: "C Programming For Beginners"
🔧 İçerik Başlığı 2.2:
Elektronik Temellerini Öğrenin
Yerleşik sistemlerle uğraşırken donanıma çok yakınsınız, bu nedenle elektronik temellerinin anlaşılması büyük bir avantajdır. Bir direncin ne olduğunu, bir analog-dijital dönüştürücünün nasıl çalıştığını, sınırlamaların neler olduğunu ve bir projede hangi bileşenleri kullanmanız gerektiğini anlamak için temel elektronik anlayışına sahip olmalısınız. Bu nedenle, yerleşik sistemler alanında çalışmak için elektronik hakkında temel bir anlayışa sahip olmanız önemlidir.
🔌 İçerik Başlığı 2.2.1:
Elektronik Temel Kaynaklar
- "Practical Electronics for Inventors" (Paul Scherz, Simon Monk)
- "Getting Started in Electronics" (Forrest M. Mims III)
- MIT OpenCourseWare: "Introduction to Electronics"
🔧 İçerik Başlığı 2.3:
Arduino İle Başlayın
Arduino sistemi, embedded sistemler alanında yeni başlayanlar için başlamak için avantajlar sunar. İlk avantajı, donanım işlevselliğine yüksek düzeyde soyutlama sağlamasıdır. Arduino sisteminde, donanım ile çalışmanızı kolaylaştıran birçok kütüphane ve işlev vardır. Bu, mikrodenetleyici üzerinde C dilinde yapılması zor olan bazı işleri daha da kolaylaştırır ve özellikle yılların deneyimi olmayan biriyseniz işlerinizi kolaylaştırır. İkinci avantaj, Arduino topluluğunun büyüklüğüdür. Topluluk, projeler hakkında fikirler bulmanızı, projelerin sergilenmesini ve ihtiyaç duyduğunuz elektronik parçaların bulunduğu kitleri bulmanızı sağlar. Ayrıca herhangi bir sorunuz olduğunda geniş bir topluluk size yardımcı olabilir çünkü büyük olasılıkla sorunuz daha önce sorulmuş ve cevaplandırılmıştır.
🔌 İçerik Başlığı 2.3.1:
Arduino İle Başlarken
Arduino ile başlamak için Arduino Starter Kit veya benzer bir kit alabilirsiniz. Starter kitler, projeler için gereken farklı elektronik bileşenleri içeren bir dizi sağlar. Ayrıca Arduino'nun resmi web sitesindeki belgeleri ve örnek projeleri inceleyerek başlayabilirsiniz. Arduino IDE'sini indirerek ve basit bir LED yanıp sönen projesi gibi temel bir proje oluşturarak pratik yapmaya başlayabilirsiniz. Arduino topluluğunun etkileşimli forumları ve Stack Overflow gibi soru-cevap siteleri de size yardımcı olabilir.
🔌 İçerik Başlığı 2.3.2:
Arduino Kaynakları
[Kaynaklar]"""
📚 İçerik Başlığı 2: Yerleşik Sistemler Nedir?
Şu anda bu videoyu izlerken muhtemelen çoğu insan gibi çevrenizde birçok yerleşik sistem bulunmaktadır. Yerleşik sistemler, bir mekanik veya elektronik sisteme gömülü olan ve belirli bir iş için tasarlanmış olan bir bilgisayar sistemidir. Bu, örneğin kahve makinenizdeki mikrodenetleyici olabilir veya RGB rengini değiştirebilen akıllı lambalarınızdaki mikrodenetleyici olabilir. Arabanızdaki kontrol ünitesi olabilir, bir kaza durumunda hayatınızı koruyan ve hava yastıklarını açan bir sistem olabilir veya bir uçakta bulunan uçuş kontrol cihazı olabilir. Hatta AirPods'unuzda bile bir yerleşik sistem bulunmaktadır.
Yerleşik sistemlerle ilgili öğrenmek istediğiniz zaman almanız gereken adımlar nelerdir ve yerleşik yazılım mühendisi olmak istediğinizde hangi yolları izlemeniz gerekmektedir? İşte bu noktada, üniversitemizde yerleşik sistemler programında da kullandığımız genel bir yol haritası olan aşamaları gözden geçirelim.
📘 İçerik Başlığı 2.1: Adım 1: C Programlama Dilini Öğrenin
Yerleşik sistemlerde hala yaygın olarak C programlama dili kullanılmaktadır. C++ gibi alternatifler olsa da, C hala en temel dil olarak kullanılmaktadır. C, başka bir dil kullanmanız durumunda da ihtiyaç duyacağınız temel altyapıyı sağlamaktadır. Ayrıca mikrodenetleyici üzerindeki donanıma çok yakındır. İyi bir haber ise C programlamayı masaüstü bilgisayarınızda, MAC'te, Linux sistemde veya Windows ortamında öğrenebilirsiniz. Bir yerleşik sistemde başlamak zorunda değilsiniz hatta başlamanızı yerleşik bir sisteme değil bilgisayarınızda masaüstü ortamında yapmanızı teşvik ederim. Çünkü bu şekilde tek bir şeye odaklanabilirsiniz ve bu, aynı anda C ve yerleşik sistemler öğrenmekten daha kolaydır. Bu nedenle adım 1 olarak C programlamayı öğrenmek önemlidir.
🔌 İçerik Başlığı 2.1.1: C Programlama Diliyle Başlarken
C programlama diliyle başlarken, bir ders kitabı veya çevrimiçi kaynaklar kullanabilirsiniz. Başlangıç seviyesindeki C programlama dersleri, temel dil kurallarını, veri türlerini, değişkenleri ve temel kontrol yapılarını anlatır. Ayrıca fonksiyonlar, döngüler ve işaretçiler gibi daha ileri konuları öğrenmek için pratik yapmalısınız. Örnek bir program yazın, C programlama becerilerinizi geliştirmek için küçük projeler yapın ve diğer C geliştiricileriyle etkileşime geçmek için topluluk forumlarını kullanın.
🔌 İçerik Başlığı 2.1.2: C Programlama Kaynakları
- "C Programming Absolute Beginner's Guide" (Greg Perry, Dean Miller)
- "C Programming Language" (Brian W. Kernighan, Dennis M. Ritchie)
- "Learn C the Hard Way" (Zed A. Shaw)
- Codecademy: C Programming
- Udemy: "C Programming For Beginners"
📘 İçerik Başlığı 2.2: Adım 2: Elektronik Temellerini Öğrenin
Yerleşik sistemlerle uğraşırken donanıma çok yakınsınız, bu nedenle elektronik temellerinin anlaşılması büyük bir avantajdır. Bir direncin ne olduğunu, bir analog-dijital dönüştürücünün nasıl çalıştığını, sınırlamaların neler olduğunu ve bir projede hangi bileşenleri kullanmanız gerektiğini anlamak için temel elektronik anlayışına sahip olmalısınız. Bu nedenle, yerleşik sistemler alanında çalışmak için elektronik hakkında temel bir anlayışa sahip olmanız önemlidir.
🔌 İçerik Başlığı 2.2.1: Elektronik Temel Kaynaklar
- "Practical Electronics for Inventors" (Paul Scherz, Simon Monk)
- "Getting Started in Electronics" (Forrest M. Mims III)
- MIT OpenCourseWare: "Introduction to Electronics"
📘 İçerik Başlığı 2.3: Adım 3: Arduino İle Başlayın
Arduino sistemi, embedded sistemler alanında yeni başlayanlar için başlamak için avantajlar sunar. İlk avantajı, donanım işlevselliğine yüksek düzeyde soyutlama sağlamasıdır. Arduino sisteminde, donanım ile çalışmanızı kolaylaştıran birçok kütüphane ve işlev vardır. Bu, mikrodenetleyici üzerinde C dilinde yapılması zor olan bazı işleri daha da kolaylaştırır ve özellikle yılların deneyimi olmayan biriyseniz işlerinizi kolaylaştırır. İkinci avantaj, Arduino topluluğunun büyüklüğüdür. Topluluk, projeler hakkında fikirler bulmanızı, projelerin sergilenmesini ve ihtiyaç duyduğunuz elektronik parçaların bulunduğu kitleri bulmanızı sağlar. Ayrıca herhangi bir sorunuz olduğunda geniş bir topluluk size yardımcı olabilir çünkü büyük olasılıkla sorunuz daha önce sorulmuş ve cevaplandırılmıştır.
🔌 İçerik Başlığı 2.3.1: Arduino İle Başlarken
Arduino ile başlamak için Arduino Starter Kit veya benzer bir kit alabilirsiniz. Starter kitler, projeler için gereken farklı elektronik bileşenleri içeren bir dizi sağlar. Ayrıca Arduino'nun resmi web sitesindeki belgeleri ve örnek projeleri inceleyerek başlayabilirsiniz. Arduino IDE'sini indirerek ve basit bir LED yanıp sönen projesi gibi temel bir proje oluşturarak pratik yapmaya başlayabilirsiniz. Arduino topluluğunun etkileşimli forumları ve Stack Overflow gibi soru-cevap siteleri de size yardımcı olabilir.
🔌 İçerik Başlığı 2.3.2: Arduino Kaynakları
[Kaynaklar]