Ana içeriğe atla

Bilgisayar Mühendisliğine Giriş

Öncelikle Bilgisayar Mühendisliği alanına yeni başlamış biri olarak sadece gözlemlerimi ve edindiklerimi yazacağımı söylemem lazım.Konularla alakalı daha bilgili olan arkadaşlarımız varsa mailden yada aşağıdan yorum yaparak bana ulaşabilirler.Bende bilgi alışverişinde bulunmaktan memnun olurum :) .

Şimdi İstanbul üniversitesi Bilgisayar Mühendisliği 1. sınıf güz yarıyılında alınan dersler;
İntroduction to Algorithm
Discrete Mathematics
Calculus 1
Fizik 1
BMG

Seçmeli dersleri saymıyorum çünkü onlar konuyla alakasız ve her üniversite 1. sınıf öğrencisine verilen ortak derslerdir.Şimdi burada benim kişisel görüşüm olarak en önemli ve zor olan ders Algoritmalar.Algoritmalara bilmeyenler için bir yazılımın genel tablosu olarak söylenebilir.Bu derste özellikle 1 tane proglama diline yönelinmez genel olarak hepsinde mantığın kavranması için verilir.Ama uygulama dersinde eski ama her daim kullanılan C dilince örneklemeler yapılıyor.(En azından İÜ'de böyle)Ders ingilizce anlatılıyor ve kitabıda ingilizce.Yani ingilizce bilmeyen bir bilgisayar mühendisi istenmiyor.Discrete Mathematics ise daha çok felsefik ve mantık matematiği gibi birşey.Bilgisayarın çalışma prensiplerini ve işleyişini kavrama amacıyla bu ders veriliyor.Tipik lise matematiği ancak sorular mantıklı düşünmeyle cevaplanabilir.(Hesap makinesi işinize yaramaz)Calculus ise ileri düzey matematik problemlerinin işlendiği derstir.Programlamada kullanılacak her türlü matematiksel işlemin öğrenildiği belkide BM'liğinin en temel dersi olabilir.Üzerine düşmekte fayda var.Fizik 1 bütün mühendislik adaylarının gördüğü temel derstir.Bu dersi bölümünle alakalı hale getirmek hocanızın elinde.İsterse lisede gördüğünüz fizik konularını bile işleyebilir.Buda size pek birşey katmaz.(Tabi BM'leri için konuşuyorum.)BMG bu derstede bilgisayar mühendisliğindeki bütün bölüm hocalarının gelip bölüm ile alakalı olarak tanımlar yaptığı , belki biraz gaza getirmek amaçlı ama projeler,yazılım sorunlar vs. konularında bilgi almak için yegane kaynaktır.İyi değerlendirmek gerektiğini düşünüyorum.

Yorumlar

Bu blogdaki popüler yayınlar

Polindrom Sayılar

Birbirini takip eden sağdan sola yada soldan sağa okunuşları değişmeyen sayılar yada karakterlere polindrom sayılar(karakterler) denir. C'de bir polindrom sayı üretme programı yazarsak eğer kodlarımız şu şekilde olacaktır. #include<stdio.h> #include<conio.h> void pol_al(int n) { if (n == 1) printf("1"); else { pol_al(n - 1); printf("%d", n); pol_al(n - 1); } } int main() { int n = 0; printf("Sayi:"); scanf_s("%d", &n); pol_al(n); getchar(); getchar (); return 0; }

Temel Veri Yapıları

Veri yapısı ,  bilginin saklanmış biçimidir.Programın daha verimli çalışmasının sağlanması açısından programcının veri yapılarını bilmesi gerekir.Programların hızı dikkate alındığında farklı tipte veri yapıları kullanılırsa daha verimli kodlar yazılabilir.Temel veri yapılarımız: dizi , yığın , kuyruk ve listedir. Diziler  Aynı türden verilerin tutulduğu gruplardır.Bir indis yardımıyla bulundukları konum ifade edilir.İndis her zaman 0 dan başlar ve n'e kadar devam eder.Dizilerde kullanılabilecek veri türleri Char , İnt , Float , Double sırasıyla 1,2 ,4 ve 8 bytelık alan tutarlar. Yığınlar Günümüzde en çok kullanılan veri yapısı yığınlardır.Son giren ilk çıkar veya LIFO(last in ,first out) kuralıyla çalışırlar.Bu veri yapısını üst üste koyulan bozuk paralar gibi düşünebiliriz.En üstte olan (en son koyduğumuz) parayi ilk olarak almak zorundayız.Ayrıca yığınlar derine arama yapan özyinelemeli algoritmalarda kullanılmaktadır. Kuyruk Bu veri yapısı ilk giren ilk çıkar veya FIF...

What is design pattern ?

Tasarım desenleri tam olarak Türkçe karşılığı olmasa da bu şekilde ifade edilir.Genelde yazılımın tasarım sürecinde karşımıza çıkan sorunlara , tecrübeler doğrultusunda kaliteli çözümler üretilen kalıplardır.Bu kalıpları kullanarak daha ileride karşımıza çıkacak sorunlara yada updatelere esnek çözümler bulabiliriz.Bu sayede hem kodlarımız daha anlaşılır olur hemde değişiklikler rahatlıkla uygulanabilir. Var olan bir problem üzerinde çalışan programcı bulunan çözümü paternleri bildiği için hemen anlayacak ve nasıl bir yol izleyeceğini bilecektir. Creator Design Patterns Abstract Factory Builder  Prototype Singleton Verdiğimiz bilgileri örnekle açıklamak gerekirse; ihtiyacımız olan bütün sistemin kullanabileceği ancak sadece bir tane oluşturulabilen bir class tasarlamak.Biz bunu yukarıda da isimlerinden anlaşılacağı gibi zaten bu yapıyı başkalarıda kullanmış ve en stabil duruma getirilip adı Singleton Design Pattern koyulmuş tasarımı kullanabiliriz. Abstract Factory , B...