1-Problemi anlama (Understanding, Analyzing),
2-Bir çözüm yolu geliştirme (Designing),
3-Algoritma ve program yazma (Writing),
4-Tekrar tekrar test etme (Reviewing)
Problem Çözmeye Farklı Bir Bakış
27 Eylül 2016 Salı
Problemi Kim Çözecek?
Peki bu problemleri kim çözecek?
Teknolojiyi kullanayım dediniz ve problemi sisteme girerek çözüm bulmasını istediniz. Sistem sadece programcının kendisine söylediği şeyi nasıl yapacağını bilir. Verilen komutların dışına çıkmaz. Bundan dolayı programcı bilgisayara problemi nasıl çözeceğini bildirmelidir.
Bilgisayar, sadece programcının kendisine söylediği şeyi nasıl yapacağını bilir.
Bundan dolayı programcı bilgisayara problemi nasıl çözeceğini bildirmelidir.
Adımlar
1-Bilgisayara nasıl iş yaptıracak, nasıl iletişim kuracaksınız?
2-Bir “Program” ile. Bilgisayarlar program olmadan çalışmazlar.
3-Bilgisayarın dili makine dilidir. Onunla makine mantığı ile iletişim kurabiliriz.
4-Bu da Algoritma (talimat, rutin, reçete) ile olur.
Teknolojiyi kullanayım dediniz ve problemi sisteme girerek çözüm bulmasını istediniz. Sistem sadece programcının kendisine söylediği şeyi nasıl yapacağını bilir. Verilen komutların dışına çıkmaz. Bundan dolayı programcı bilgisayara problemi nasıl çözeceğini bildirmelidir.
Bilgisayar, sadece programcının kendisine söylediği şeyi nasıl yapacağını bilir.
Bundan dolayı programcı bilgisayara problemi nasıl çözeceğini bildirmelidir.
Algoritma ve Problem Çözümü
İnsanlar yaşadığı çevreye uyum sağlama noktasında bir takım olumsuzluklar ve çatışmalar ile
karşılaşacaktır. Bu olumsuzluklar ve
çatışmalar problem olarak değerlendirilir. İnsanların ortaya çıkan bu
olumsuzluklar ve çatışmalarla yapacakları mücadeleye de problem çözme denir.
Bazı belirli problem çözme stratejileri kullanarak doğru sayılabilecek veya
çoğunluğun kabul edeceği çözümlere ulaşmak mümkündür.
İnsanlar sürekli düşünür ve problem çözerler. Birçok problem, az ya da hiç düşünülmeden çözülebilir.
Problem: Bugün evden çıkarken ne giymeliyim?
Çözüm: Bunun için muhtemelen pencereden dışarıya bakılır. Hava yağmurlu ise mevsime göre giyinmenin yanı sıra dışarıya çıkarken bir de şemsiye alınması gerekir. Hava güneşli ve sıcak ise daha ince giyinilerek dışarıya çıkılır. Böylece problemin çözümü kendiliğinden oluşturulan bir kararla sağlanır.
Yazılımda Karşılaşılan Problemlerin Kaynağı
Hatalı Gereksinim Belirleme: Hatalı, eksik, tutarsız gereksinimleri belirle.
Eksik Tasarım: Yazılımın Temel tasarım hatalarını bul.
Uygulama Yanlışları: Kodlama, programlama hataları, kalitesiz programlama konularına dikkat et.
Yetersiz yazılım Testi: Eksik test, kötü doğrulama, hata ayıklama sorunlarına dikkat et.( Az yada yetersiz yazılım testti Yetersiz ve eksik testlerden kaçın.)
Uygulama Yanlışları: Kodlama, programlama hataları, kalitesiz programlama konularına dikkat et.
Yetersiz yazılım Testi: Eksik test, kötü doğrulama, hata ayıklama sorunlarına dikkat et.( Az yada yetersiz yazılım testti Yetersiz ve eksik testlerden kaçın.)
Destek Sistemleri noksanlığı: Zayıf programlama dilleri, hatalı derleyici ve debugger'ları kullanma.
Düzeltmeler: Yazılım geliştirme ya da bakım sırasında, bazı özellikleri geliştirmek isterken yapılan hatalar.(Düzeltmek için yapılan çalışmalarda yeni kusurların ortaya çıkması durumu.)
Düzeltmeler: Yazılım geliştirme ya da bakım sırasında, bazı özellikleri geliştirmek isterken yapılan hatalar.(Düzeltmek için yapılan çalışmalarda yeni kusurların ortaya çıkması durumu.)
Karmaşık Sistemler: Yazılım karmaşıklığını azaltmak için projeleri küçük bölümlere ayırarak karmaşıklığı azaltmaya çalış.
16 Mayıs 2016 Pazartesi
Street Fighter Oyunu ve Kodları
Uygulama C# ve XNA 4.0 kullanılarak geliştirilmiştir.
Uygulama Kodları : indirme adresi
Dosya Büyüklüğü 51.2Mb
Uygulama Kodları : indirme adresi
Dosya Büyüklüğü 51.2Mb
25 Aralık 2015 Cuma
Need For Speed ilk Oyun (Bütün Kodları ile Birlikte)
C# ve Mono game ile geliştirilmiş Need For Speed oyunu.
Oyunun bütün kodlarına ve proje dosyasına aşağıdaki linkten ulaşabilirsiniz.
Proje (Github sitesi) : https://github.com/jeff-1amstudios/OpenNFS1
Oyunun Kaynak Kodları (C#) : https://github.com/jeff-1amstud…/OpenNFS1/archive/master.zip
Koddan oyunu çalıştırmak için:
Bilgisayarınızda MonoGameSetup ve oalinst programları kurulu olmalıdır.
7 Kasım 2015 Cumartesi
Text Mining with R
# Init
libs <- c("tm", "plyr", "class")
lapply(libs,require, character.only= TRUE)
# Set Options
options(stringsAsFactors = FALSE)
#Set Parameters
candidates <- c("M","S")
pathname <- "C:/Data"
# Clean text
cleanCorpus <- function(corpus){
corpus.tmp <- tm_map(corpus, removePunctuation)
corpus.tmp <- tm_map(corpus.tmp,stripWhitespace)
#corpus.tmp <- tm_map(corpus.tmp,tolower)
corpus.tmo <- tm_map(corpus.tmp, PlainTextDocument)
corpus.tmp <- tm_map(corpus.tmp,removeWords, stopwords("english"))
return(corpus.tmp)
}
# Buildt TDM
gererateTDM <- function(cand,path){
s.dir <-sprintf("%s/%s",path,cand)
s.cor <-Corpus(DirSource(directory = s.dir, encoding= "Windows-1254"))
s.cor.cl <- cleanCorpus(s.cor)
s.tdm <- TermDocumentMatrix(s.cor.cl)
s.tdm <- removeSparseTerms(s.tdm, 0.7)
result <- list(name = cand, tdm = s.tdm)
}
tdm <- lapply(candidates,gererateTDM, path=pathname)
# Attach Name
bindCandidateToTDM <- function(tdm) {
s.mat <- t(data.matrix(tdm[["tdm"]]))
s.df <- as.data.frame(s.mat, stringAsFactors = FALSE)
s.df <-cbind (s.df, rep(tdm[["name"]], nrow(s.df)))
colnames(s.df)[ncol(s.df)] <- "targetCandiate"
return(s.df)
}
candTDM <- lapply(tdm, bindCandidateToTDM)
# Stack
tdm.stack <- do.call(rbind.fill, candTDM)
tdm.stack[is.na(tdm.stack)] <- 0
# Hold-Out
train.idx <- sample(nrow(tdm.stack), ceiling(nrow(tdm.stack) * 0.7))
test.idx <- (1:nrow(tdm.stack)) [- train.idx]
# Model - KNN
tdm.cand <- tdm.stack[, "targetCandiate"]
tdm.stack.nl <- tdm.stack [, !colnames(tdm.stack) %in% "targetCandiate"]
knn.pred <-knn(tdm.stack.nl[train.idx, ], tdm.stack.nl[test.idx, ], tdm.cand[train.idx])
# Accuracy
conf.mat <- table("Predictions" =knn.pred, Actual= tdm.cand[test.idx])
(accuracy <- sum(diag(conf.mat)) / length(test.idx)* 100)
libs <- c("tm", "plyr", "class")
lapply(libs,require, character.only= TRUE)
# Set Options
options(stringsAsFactors = FALSE)
#Set Parameters
candidates <- c("M","S")
pathname <- "C:/Data"
# Clean text
cleanCorpus <- function(corpus){
corpus.tmp <- tm_map(corpus, removePunctuation)
corpus.tmp <- tm_map(corpus.tmp,stripWhitespace)
#corpus.tmp <- tm_map(corpus.tmp,tolower)
corpus.tmo <- tm_map(corpus.tmp, PlainTextDocument)
corpus.tmp <- tm_map(corpus.tmp,removeWords, stopwords("english"))
return(corpus.tmp)
}
# Buildt TDM
gererateTDM <- function(cand,path){
s.dir <-sprintf("%s/%s",path,cand)
s.cor <-Corpus(DirSource(directory = s.dir, encoding= "Windows-1254"))
s.cor.cl <- cleanCorpus(s.cor)
s.tdm <- TermDocumentMatrix(s.cor.cl)
s.tdm <- removeSparseTerms(s.tdm, 0.7)
result <- list(name = cand, tdm = s.tdm)
}
tdm <- lapply(candidates,gererateTDM, path=pathname)
# Attach Name
bindCandidateToTDM <- function(tdm) {
s.mat <- t(data.matrix(tdm[["tdm"]]))
s.df <- as.data.frame(s.mat, stringAsFactors = FALSE)
s.df <-cbind (s.df, rep(tdm[["name"]], nrow(s.df)))
colnames(s.df)[ncol(s.df)] <- "targetCandiate"
return(s.df)
}
candTDM <- lapply(tdm, bindCandidateToTDM)
# Stack
tdm.stack <- do.call(rbind.fill, candTDM)
tdm.stack[is.na(tdm.stack)] <- 0
# Hold-Out
train.idx <- sample(nrow(tdm.stack), ceiling(nrow(tdm.stack) * 0.7))
test.idx <- (1:nrow(tdm.stack)) [- train.idx]
# Model - KNN
tdm.cand <- tdm.stack[, "targetCandiate"]
tdm.stack.nl <- tdm.stack [, !colnames(tdm.stack) %in% "targetCandiate"]
knn.pred <-knn(tdm.stack.nl[train.idx, ], tdm.stack.nl[test.idx, ], tdm.cand[train.idx])
# Accuracy
conf.mat <- table("Predictions" =knn.pred, Actual= tdm.cand[test.idx])
(accuracy <- sum(diag(conf.mat)) / length(test.idx)* 100)
3 Haziran 2015 Çarşamba
Web Programlama Projeleri
Yazılım mühendisliği 2.sınıf öğrenci projeleri
Aspx MVC Projeleri (İndirme Adresi)
Proje 1 Aspx MVC ile CMS oluşturma
Proje 3 Aspx MVC Data Grid (Fisilti) Projesi
Proje 5 Aspx_MVC ile Google Maps API ve J Query
Proje 8 Aspx MVC ve JQuery Anket
Php Projeleri (İndirme Adresi)
Proje 4 Php Food (Captcha Kontrol)
Proje 11 Php Çiçek Sitesi
Proje 16 Php ve JQuery (Ders Modulu)
Proje 17 Php Word Press Template Oluşturma
Proje 21 Php Captch Oluşturma
Google Crome Eklenti Oluşturma (İndirme Adresi)
Proje 6 Frame Oluşturma
Proje 7 Hesap Makinesi
Proje 9 Hızlı Paylasim
Proje 10 Yilan Oyunu
HTML-5 Game (İndirme Adresi)
Proje 12 HTMLOyun
Proje 19 HTML Oyun
Bootstrap (İndirme Adresi)
Proje 20 Bootstrap
Proje 23 Bootstrap MyBB Tema
Ruby On Rails (İndirme Adresi)
Aspx MVC Projeleri (İndirme Adresi)
Proje 1 Aspx MVC ile CMS oluşturma
Proje 3 Aspx MVC Data Grid (Fisilti) Projesi
Proje 5 Aspx_MVC ile Google Maps API ve J Query
Proje 8 Aspx MVC ve JQuery Anket
Php Projeleri (İndirme Adresi)
Proje 4 Php Food (Captcha Kontrol)
Proje 11 Php Çiçek Sitesi
Proje 16 Php ve JQuery (Ders Modulu)
Proje 17 Php Word Press Template Oluşturma
Proje 21 Php Captch Oluşturma
Google Crome Eklenti Oluşturma (İndirme Adresi)
Proje 6 Frame Oluşturma
Proje 7 Hesap Makinesi
Proje 9 Hızlı Paylasim
Proje 10 Yilan Oyunu
HTML-5 Game (İndirme Adresi)
Proje 12 HTMLOyun
Proje 19 HTML Oyun
Bootstrap (İndirme Adresi)
Proje 20 Bootstrap
Proje 23 Bootstrap MyBB Tema
Ruby On Rails (İndirme Adresi)
30 Mayıs 2015 Cumartesi
Akış Diyagramı Çizim Programı

Programın İndirme Adresi ve Detaylı Bilgi
Program Windows harici başka işletim sistemlerinde de çalışmaktadır.
Kaydol:
Kayıtlar (Atom)