- Bilgisayar mühendisliğini bir disiplin olarak ele alır ve bu konudaki tüm alt başlıkları tanıtır.
- Algoritma tasarımı ve programlama ile ilgili temel kavramları aktarır.
- Yazılım ve Donanım kavramlarını pratik uygulamalar ile ele alıp kavratır.
- Galatasaray Üniversitesi Bilgisayar Mühendisliği'nde kurulmuş olan araştırma laboratuvarlarını tanıtır ve süregelen araştırma projeleri hakkında bilgilendirir.
- Galatasaray Üniversitesi Bilgisayar Mühendisliği öğretim elemanları ile yeni gelen öğrenciler arasında ortak çalışma ve işbirliği olanakları yaratır.
1. hafta. Giriş, tanışma, dersin tanıtılması
2. hafta. Dağıtık Sistemler & Uygulamaları
3. hafta. Yazılım Geliştirme Süreçleri
4. hafta. Programlama Dilleri Dünyası
5. hafta. Karmaşık Ağlar ve Analizi
6. hafta. Yapay Görme
7. hafta. Biyomedikal Uygulamaları
8. hafta. Algoritma Tasarımı -1
9. hafta. Algoritma Tasarımı -2
10. hafta. Semantik Web
11. hafta. Programlama - 1
12. hafta. İnsan Makina Arayüzü
13. hafta. Programlama - 2
14. hafta. Robotik ve Uygulamaları
Bu dersi başarıyla tamamlayan öğrenci:
ÖÇ1: Dersin içeriğinde gösterilen geliştirme araçlarını kullanarak yazılım ve basit seviyede gömülü sistem tasarımı yapabilir, bu tasarımı gerçekleyebilir.
ÖÇ2: Algoritma kavramını tanımlayabilir, algoritmik çözüm üretebilir, algoritma kavramının tüm yazılım üretimi içerisindeki yerini bilir.
ÖÇ3: Ders kapsamında ürettiği bilgisayar sistemlerinin tasarım ve gerçeklenme aşamalarını teknik detay vererek görsel araçlarla ve sözlü etkin şekilde sunabilir.
ÖÇ4: Bilgisayar mühendisliğinde ürünlerin sonlu zaman içerisinde, kısıtlı kaynaklarla ve etik kurallara bağlı olarak üretilmesi zorunluluğunu kavrar ve bu zorunluluğu ders projelerini tamamlarken bireysel ve takım çalışması yaparak uygular.
ÖÇ5: Bilgisayar mühendisliğine konu olan sistemlerin temel bileşenlerini bilir, farklı tür sistemlerde yazılım, donanım ve özel bir yazılım olan işletim sisteminin görev paylaşımını kavrar.
ÖÇ6: Bilgisayar mühendisinin çalışma hayatında üstlenebileceği rollerin skalasını bilir, Ar-Ge aşamasından bakım aşamasına bir ürünün yaşam çevrimini bilir, bu çevrimde bilgisayar mühendislerinin soyunacağı rolleri tanır, bu rollerin etik sınırlamaları olabileceğini bilir.
1. http://www.arduino.cc
2. https://scratch.mit.edu
Ders notları
| Hafta | Konu Başlıkları |
|---|---|
| 1 | Bilgisayar mühendisliğinin genel tanıtımı. Bir disiplin olarak genel mühendislik dalları arasında konumlandığı yerin aktarılması. Öğrenci ve profesyonel olarak olumlu kariyer alışkanlıklarının aktarılması. |
| 2 | Hesaplama kavramının aktarılması, bilgisayarların tarihçesi ve hesaplama makinelerinin evrimi. |
| 3 | Donanım, yazılım ayrımının verilmesi, sistem kavramı. Hesaplama örnekleri ve hesaplamanın programlama dilleri aracılığıyla gerçekleştirilmesi. Programlama dilleri ile işlemcinin kendi dili (makine dili) arasındaki ayrım. |
| 4 | İşletim sisteminin bir bilgisayar sistemindeki rolü. Yüksek seviye programlama dillerinin işlevleri ve yararı. Derleyici yazılımının görevleri. Güncel programlama dillerinin karşılaştırılması. |
| 5 | Scratch programlama dilinin tanıtılması. Dilin yeteneklerini güncel diğer programlama dilleri ile karşılaştırılması. |
| 6 | Scratch programlama dili ile kontrol ifadelerin incelenmesi. Sınıfiçi uygulama çalışması ve takip eden raporlu ödev verilmesi. |
| 7 | Scratch programlama dili ile döngülerin işlenmesi. Sınıfiçi uygulama çalışması ve takip eden raporlu ödev verilmesi |
| 8 | Ara Sınav |
| 9 | Scratch programlama dili ile değişkenler ve listelerin kullanımı |
| 10 | Arduino sisteminin tüm bileşenleri ile tanıtılması, kullanım amaçlarının ortaya koyulması. |
| 11 | Arduino ile gömülü sistemlerin temellerine giriş. Algılayıcı arayüzünün hem donanım hem de yazılım olarak tanıtılması, örnek programların gerçek algılyıcılar ile denenmesi. Sınıfiçi uygulama çalışması ve takip eden raporlu ödev verilmesi. |
| 12 | Arduino yazılım geliştirme ortamında daha önce Scratch ile gösterilen programlama kavramlarının gösterilmesi (değişkenler, kontrol ifadeleri, döngüler) |
| 13 | Arduino ortamında algılayıcılardan gelen veri akışı üzerinde yapılacak basit önişleme adımlarının gösterilmesi. |
| 14 | Arduino ile Scratch'i birleştirerek Scratch programlama dili ile Arduino programlanmasının gerçekleştirilmesi. |
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Yarıyıl içi çalışmaların başarı notuna katkısı | 4 | 60 |
| Yarıyıl sonu çalışmaların başarı notuna katkısı | 1 | 40 |
| Toplam | 5 | 100 |
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Ödevler | 4 | 20 |
| Sunum | 0 | 0 |
| Arasınavlar (Hazırlık Süresi Dahil) | 1 | 25 |
| Proje | 1 | 15 |
| Laboratuar | 0 | 0 |
| Diğer Uygulamalar | 0 | 0 |
| Kısa Sınavlar | 0 | 0 |
| Dönem Ödevi / Projesi | 0 | 0 |
| Portfolyo Çalışmaları | 0 | 0 |
| Raporlar | 0 | 0 |
| Öğrenme Günlükleri | 0 | 0 |
| Bitirme Tezi/Projesi | 0 | 0 |
| Seminer | 0 | 0 |
| Diğer | 0 | 0 |
| Toplam | 6 | 60 |
| Numara | Program Yeterlilikleri | Puan | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | Matematik, fizik ve mühendislik bilimlerine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinin modellenmesi ve çözümünde kullanabilme becerisi. | X | ||||
| 2 | Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | X | ||||
| 3 | Yazılımsal veya donanımsal karmaşık bir sistemi, süreci veya donanımı gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | X | ||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | ||||
| 5 | Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, deney tasarlama ve yapma, veri toplama, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri. | X | ||||
| 6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | X | ||||
| 7 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, yazılım ve donanım tasarımını, gerekirse teknik resim metotları kullanarak raporlayabilme, etkin sunum yapabilme becerisi. | X | ||||
| 8 | Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi | X | ||||
| 9 | Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. | X | ||||
| 10 | Mesleki etik ilkelerine uygun davranma, mesleki sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | |||||
| 11 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | |||||
| 12 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi. | X | ||||
| 13 | Bilgisayar mühendisliği uygulamalarının hukuki ve etik boyutları konusunda farkındalık. | |||||
| Etkinlikler | Sayı | Süre | Toplam İş Yükü |
|---|---|---|---|
| Ders Süresi | 14 | 2 | 28 |
| Sınıf Dışı Çalışma Süresi | 14 | 1 | 14 |
| Arasınavlar (Hazırlık Süresi Dahil) | 1 | 8 | 8 |
| Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 8 | 8 |
| Toplam İş Yükü | 58 | ||
| Toplam İş Yükü / 25 | 2.32 | ||
| Dersin AKTS Kredisi | 2 | ||