program ss
💻 Bilgisayar

Makine Kodu ile Red Alert 3 Yazdık

Tamam tamam yazmadık. Abarttım ben.

Ama ASM ile yılan oyunu yaptık. 8051 serisi mikrodenetleyicilerde çalışacak bir yılan oyunu. Sırf ASM ile.

Vallahi boş işler yapmıyoruz. Ödev bu, ondan yaptık. 😀

Evet C gibi bir dil varken, bizden inatla ASM’de yazmamızı istediler, yanlış anlamadınız.

Yo yo, C’yi derste de gördük. Gösterdiler yani. Ama yine de inatla ASM’de yazmamızı istediler.

Vallahi ben anlamadım mantığını. Nedenini sordum, “Biz öyle uygun gördük.” dediler.

Cidden.

Hiçbir okurumu inandıramadım. Özlem’e sorun. İnanırsınız. Zaten takım arkadaşım da o. Kod yazdığıma falan inanmazsanız ona da inandırır.

Ödev

Her neyse… ASM ile bizden oyun istediler. Derste C görmemize rağmen hem de. Uğraşmazsak olmaz ya!

Biz de tasarladık. Net 15 saatimizi aldı. Hata ayıklarken canımız çıktı. Programı yazarken bize derste gösterilen Linux üzerinde çalışan MCU IDE isimli yazılımı kullandık. Ama program öyle yavaş ve öyle sorunluydu ki, defalarca çöktüğü gibi, mikrosaniyelik işi yapması saniyeler alıyordu. Yani görüp görülebilecek en kötü IDE’lerden biriydi.

error

En az beş altı defa çöktü. Ve biz bu IDE’de yılan yazdık!

keilDaha doğrusu yazamadık ve bir süre sonra FxDev’den yardım isteyince, bize Windows’ta çalışan ve adam gibi çalışan, orası burası çökmeyen ve yazdığımız kodu 8051’e göre gerçekzamanlı işleyebilen bir yazılım önerdi: Keil uVision.

Kodu hemencecik Windows’a taşıdık ve bu programda tasarıma devam ettik. Canımız çıka çıka, saya söve ödevi bitirdik.

Kontrol

Ödev kontrolünde hocamız bize bu ödevin bize ne kattığını sordu. Ben de açık açık söyledim kendisine: “Açıkçası üç günümüzü boşa harcamaktan başka bir şey katmadı.” Meğerse öyle değilmiş… Bu ödev bize, eğer ileride alt seviyeli işlerle meşgul bir yerde çalışırsak (mesela embedded) o zaman işlerin nasıl gittiğine dair fikrimiz olmasını sağlayacakmış.

Kimse bu ödevi vermeden önce, gelecekte ne yapacağımı sormadı ki bana! Ben gelecekte alt seviyeyle falan uğraşmayacağım, “webci” olacağım ben, ben niye yapıyorum o zaman? Bunun cevabı yok tabi. Aslında var: Finali %20 etkiliyor da ondan yapıyorum.

Neyse, böyle bir ödevi yaptık.

program ss

Teknik Bilgiler

Biraz da teknik bilgi verelim şimdi.

  • Program klasik bir yılan oyunudur.
  • Oyun 40H ile 7FH bellek bölgeleri arasında oynanmaktadır.
  • Elmalar 0FFH’tir.
  • Yılan’ın başı 01H ve devamı 02H, 03H.. diye gitmektedir.
  • Veriler Port 0’dan alınır.
  • 0.0 sol, 0.1 sağ, 0.2 yukarı, 0.3 aşağı yönlerini kontrol eder. Aynı anda iki tane girişe basılmamalıdır. Basılırsa sistem bir tanesini kabul eder, diğerini yok sayar.
  • 0.4 yılanı yavaşlatır, 0.5 hızlandırır.
  • Yılanı kontrol etmek için yön tuşuna sürekli basmanız gerekmemektedir. Hiçbir tuşa basmazsanız aynı yönde devam eder.
  • Yılan sola giderken bir anda sağa gidemez. (180 derece dönüş olmaz.)
  • Oyun tahtasında sınır yoktur. Bir taraftan çıkınca öbür taraftan girer.
  • Elmalar, T1 zamanlayıcısındaki MOD2 sayacı ile rastgele üretilir.
  • T0, MOD1 yılanın hızını ayarlamak için kullanılır.
  • Oyun yılan kendine çarpınca biter.
  • Çarpışmanın olduğu yer 0FEH ile gösterilir.
  • Skor oyunun sonunda bilumum registerlara ve aküye yazılır.
  • Skor, yenilen elma sayısıdır.
  • Elmalar GDO’lu değildir.

Bitirirken

Bu kadar incik cıncık özelliği olan bir ödevi, zaten kısıtlı ve değerli olan vaktimizde bize yaptırılmasının yanlış olduğunu düşündüğümü tekrar söylemeden geçemiyor ve oyunun ödev metinini, raporumuzu ve kaynak kodumuzu aşağıda paylaşıyorum.

Teknik birkaç ayrıntıya rapordan ulaşabilirsiniz.

Kaynak kodları (olur da anlarsanız 😀 ) istediğiniz gibi kullanabilirisiniz. Kodları indirmek istemezseniz her zamanki gibi yazının sonunda bulabilirsiniz.

Kodlar

; YILANIN BASINI KUCUKKEN EZECEKSIN YEGEN (16:1 )
MOV 63H, #001H ;YILANIN BASLANGIC KONUMU
MOV 64H, #002H ;YILANIN BASLANGIC KONUMU
MOV R2, #00H   ; YILANIN GIDECEGI YON 00H:sol, 01H:sag, 02H:ust, 03H:alt -Default olarak soldan baslatilir.-
MOV R6, #002H  ;YILANIN BASLANGIC UZUNLUGU
MOV 008H, #0100D  ;BASLANGIC HIZI

; ZAMANLAYICIYA AIT SURUYLE KOD
BASLA:
MOV R7, 008H ;Baslangic hizi R7 registerina atilir. 

ZAMANLAYICI:
MOV 16H, #0FFH
IC_ZAMANLAYICI:
MOV TMOD, #00100001B ;ZAMANLAYICI 1 MOD2'DE ZAMANLAYICI ZAMANLAYICI 0 MOD 1'DE
MOV TH0, #0FFH ;Zamanlayici 0'ın donme sayisi TH0 ve TL0 ile ayarlanir.
MOV TL0, #0FFH
MOV TH1, #63D ;Zamanlayici 1'in donme sayisi TH1 ve TL1 ile ayarlanir.
MOV TL1, #63D
SETB TR0 ; Zamanlayici 0 calismaya baslar.
SETB TR1 ; Zamanlayici 1 calismaya baslar.

; YILAN HIZINA GORE BEKLEMEK
BEKLE: JNB TF0, BEKLE 
CLR TF0 
DJNZ 16H, IC_ZAMANLAYICI

DJNZ R7, ZAMANLAYICI



; EKRANA RASTGELE ELMA KOYMA (ELMALAR FFH)
; GUNCEL ELMANIN YERI O9H ADRESINDE TUTULUR. BU ADRESTE 00 VARSA ELMA YOK DEMEKTIR.
; EGER ELMA YOKSA BIR TANE RASTGELE YARATILIR VE BELLEGE FFH OLARAK ISLENIR.

MOV A, 09H
JNZ PORT_KONTROL

  MOV A, R6
  SUBB A, #64D
  JNZ ELMA_YARAT
  LJMP BITTI

  ELMA_YARAT: ;ELMA YARAT
  MOV R0, TL1;SAYACTAKI DEGERI (YENI ELMA KOORDINATINI AL)
  MOV A,@R0 ;ELMANIN OLUSTURULMASI DUSUNULEN NOKTANIN ICI A'YA ATILIR.
            ;BU NOKTADA 00H DISINDA BIR SEY VARSA, YILANIN USTUNDE ELMA OLUSTUYORUZ DEMEKTIR.
  JNZ ELMA_YARAT
	;BU NOKTADA ARTIK ELMAYI YARATABILIRIZ
  MOV @R0, #0FFH
  MOV 09H, R0
  JMP PORT_KONTROL


; PORTTAN BILGI ALIP GIDILECEK YONE KARAR VERMEK VEYA HIZ ARTIRIP AZALTMAK
PORT_KONTROL:
MOV P0, #0FFH ;P0 giris portu olarak ayarlanir.
MOV C, P0.0 ; Yilanin sola donmesi isteniyorsa
JNB CY, SOLL 
MOV C, P0.1 ;Yilanin saga donmesi isteniyorsa
JNB CY, SAGL 
MOV C, P0.2 ;Yilanin yukari cikmasi isteniyorsa
JNB CY, USTL
MOV C, P0.3 ;Yilanin asagi inmesi isteniyorsa
JNB CY, ALTL
MOV C, P0.4 ;Yilan hizlandirilmak isteniyorsa
JNB CY, HIZLANDIR
MOV C, P0.5 ;Yilan yavaslatilmak isteniyorsa
JNB CY, YAVASLAT

; YON BELIRTILMEMISSE (YANI HIC GIRDI YOKSA, EN SON NEREYE GIDILIYORSA ORAYA GITMEYE DEVAM ETMEK)
YONBELIRTILMEMIS:
	CJNE R2, #00H, YON_SOL_DEGIL ; Bir onceki yonun ne olduguna bakilir, teker teker. Yukarida aciklanan kabullenmeler kullanilir.
	JMP SOLL
	YON_SOL_DEGIL:
	CJNE R2, #01H, YON_SAG_DA_DEGIL
	JMP SAGL
	YON_SAG_DA_DEGIL:
	CJNE R2, #02H, YON_UST_DEGIL
	JMP USTL
	YON_UST_DEGIL:
	JMP ALTL
	
HIZLANDIR:	;Yilan hizlandiriliyor...
	MOV A, 008H 
	CLR C
	SUBB A, #20D
	MOV 008H, A
	JNZ BASLA
	MOV 008H, #20D
	JMP BASLA
YAVASLAT: ;Yilan yavaslatiliyor...
	MOV A, 008H
	ADD A, #20D
	MOV 008H, A
	CLR CY
	SUBB A,#0F0H
	JNZ LBASLA
	MOV 008H, #0DCH
	LJMP BASLA
LBASLA:	LJMP BASLA
;Asagida, yilan belli bir yone giderken tam ters yon secilmisse, secilen yonun ignore edilip yilanin gittigi yonde devam etmesi saglanmistir.
;Ters yonden kastimiz, yilan sola giderken saga gitmesinin istenmesi ya da yilan yukari cikarken asagi gitmesinin istenmesidir.
;Boyle bir durumda yilan yon secimi hic yapilmamis gibi gittigi yonde devam eder.
SOLL: 	CJNE R2, #01H, SOLDAN_DEVAM_ET 
	LJMP SAG
	SOLDAN_DEVAM_ET:
	MOV R2, #00H
	LJMP SOL
SAGL: 	CJNE R2, #00H, SAGDAN_DEVAM_ET
	LJMP SOL
	SAGDAN_DEVAM_ET:
	MOV R2, #01H 
	LJMP SAG
USTL: 	CJNE R2, #03H, USTTEN_DEVAM_ET
	LJMP ALT
	USTTEN_DEVAM_ET:
	MOV R2, #02H 
	LJMP UST
ALTL:	CJNE R2, #02H, ALTTAN_DEVAM_ET
	LJMP UST
	ALTTAN_DEVAM_ET:
	MOV R2, #03H 
	LJMP ALT
SOL:
	;YILAN HAREKETLERI
	MOV R5, #001H
	
	;YILANIN BASINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
	MOV R0, #040H
	BAS_SOL_ARA:
	MOV A,@R0
	CJNE A, 005H, BAS_SOL_YOK
	
	JMP BAS_SOL_VAR
	
	BAS_SOL_YOK:
	INC R0
	JMP BAS_SOL_ARA
	
	BAS_SOL_VAR:
	;R0'IN ICERISINDE YILANIN BIYERI VAR.
	
	HAREKET_SOL:
	MOV @R0, #0FEH
	
	; KOSELERE GELMIS MI KONTROLLERI (SOL)
	; Her kose teker teker kontrol edilir ve yilanin duvardan gecmesi saglanir.
	MOV A,#40H
	CJNE A, 00H, YOK40_SOL
		MOV R0, #47H
		JMP SOL_TAMAM
	YOK40_SOL:
	MOV A,#48H
	CJNE A, 00H, YOK48_SOL
		MOV R0, #4FH
		JMP SOL_TAMAM
	YOK48_SOL:
	MOV A,#50H
	CJNE A, 00H, YOK50_SOL
		MOV R0, #57H
		JMP SOL_TAMAM
	YOK50_SOL:
	MOV A,#58H
	CJNE A, 00H, YOK58_SOL
		MOV R0, #5FH
		JMP SOL_TAMAM
	YOK58_SOL:
	MOV A,#60H
	CJNE A, 00H, YOK60_SOL
		MOV R0, #67H
		JMP SOL_TAMAM
	YOK60_SOL:
	MOV A,#68H
	CJNE A, 00H, YOK68_SOL
		MOV R0, #6FH
		JMP SOL_TAMAM
	YOK68_SOL:
	MOV A,#70H
	CJNE A, 00H, YOK70_SOL
		MOV R0, #77H
		JMP SOL_TAMAM
	YOK70_SOL:
	MOV A,#78H
	CJNE A, 00H, YOK78_SOL
		MOV R0, #7FH
		JMP SOL_TAMAM
	YOK78_SOL:
	DEC R0

	SOL_TAMAM:
	;OYUN SONU VE YILAN ELMA YEDI MI KONTROLLERI
	MOV A, @R0
	JNZ SOL_BUYU
	JMP SOL_ILERI
	SOL_BUYU: ; Yilanin buyumesi lazım. 
	CLR C
	SUBB A, #0FFH
	JNZ SOL_BITTI
	MOV 010H, #0FFH ;BUYU BAYTINI SET ET
	JMP SOL_ILERI
	SOL_BITTI: ;Yilanin boyunun 8 olmasi durumunda bir sirada yuruyebilmesinin saglanmasi amaciyla yazilmis bir dizi kod...
	MOV A, @R0 
	CLR C
	SUBB A, R6
	JNZ SOL_CIDDEN_BITTI
	MOV 011H, #0FFH	;YILAN TAM UCTA BAYTINI SET SET
	JMP SOL_ILERI

	SOL_CIDDEN_BITTI:
	LJMP BITTI
	
	SOL_ILERI:
	MOV @R0, #001H

	
	;DEGISECEK BITTI
	
	MOV R4, #002H ; BIR SONRAKI YILANIN YERI (SBIZLEYE PARAMATRE OLARAK KULLANDIK)
	JMP SBIZLE

SAG:
	;YILAN HAREKETLERI
	MOV R5, #001H
	
	;YILANIN BASINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
	MOV R0, #040H
	BAS_SAG_ARA:
	MOV A,@R0
	CJNE A, 005H, BAS_SAG_YOK
	
	JMP BAS_SAG_VAR
	
	BAS_SAG_YOK:
	INC R0
	JMP BAS_SAG_ARA
	
	BAS_SAG_VAR:
	;R0'IN ICERISINDE YILANIN BIYERI VAR.
	
	HAREKET_SAG:
	MOV @R0, #0FEH
	
	; KOSELERE GELMIS MI KONTROLLERI (SAG)
	; Her kose teker teker kontrol edilir ve yilanin duvardan gecmesi saglanir.
	;DEGISECEK BASLA
	MOV A,#47H
	CJNE A, 00H, YOK47_SAG
		MOV R0, #40H
		JMP SAG_TAMAM
	YOK47_SAG:
	MOV A,#4FH
	CJNE A, 00H, YOK4F_SAG
		MOV R0, #48H
		JMP SAG_TAMAM
	YOK4F_SAG:
	MOV A,#57H
	CJNE A, 00H, YOK57_SAG
		MOV R0, #50H
		JMP SAG_TAMAM
	YOK57_SAG:
	MOV A,#5FH
	CJNE A, 00H, YOK5F_SAG
		MOV R0, #58H
		JMP SAG_TAMAM
	YOK5F_SAG:
	MOV A,#67H
	CJNE A, 00H, YOK67_SAG
		MOV R0, #60H
		JMP SAG_TAMAM
	YOK67_SAG:
	MOV A,#6FH
	CJNE A, 00H, YOK6F_SAG
		MOV R0, #68H
		JMP SAG_TAMAM
	YOK6F_SAG:
	MOV A,#77H
	CJNE A, 00H, YOK77_SAG
		MOV R0, #70H
		JMP SAG_TAMAM
	YOK77_SAG:
	MOV A,#7FH
	CJNE A, 00H, YOK7F_SAG
		MOV R0, #78H
		JMP SAG_TAMAM
	YOK7F_SAG:
	INC R0
	
	SAG_TAMAM:
	;OYUN SONU VE YILAN ELMA YEDI MI KONTROLU
	MOV A, @R0
	JNZ SAG_BUYU
	JMP SAG_ILERI
	SAG_BUYU:
	CLR C
	SUBB A, #0FFH
	JNZ SAG_BITTI
	MOV 010H, #0FFH ;BUYU BAYTINI SET ET
	JMP SAG_ILERI
	SAG_BITTI: ;Yilanin boyunun 8 olmasi durumunda bir sirada yuruyebilmesinin saglanmasi amaciyla yazilmis bir dizi kod...
	MOV A, @R0 
	CLR C
	SUBB A, R6
	JNZ SAG_CIDDEN_BITTI
	MOV 011H, #0FFH	;YILNAN TAM UCTA BAYTINI SET SET
	JMP SAG_ILERI

	SAG_CIDDEN_BITTI:
	LJMP BITTI
	
	SAG_ILERI:
	MOV @R0, #001H

	
	;DEGISECEK BITTI
	
	MOV R4, #002H ; BIR SONRAKI YILANIN YERI (SBIZLEYE PARAMATRE OLARAK KULLANDIK)
	JMP SBIZLE

UST:
	;YILAN HAREKETLERI
	MOV R5, #001H
	
	;YILANIN BASINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
	MOV R0, #040H
	BAS_UST_ARA:
	MOV A,@R0
	CJNE A, 005H, BAS_UST_YOK
	
	JMP BAS_UST_VAR
	
	BAS_UST_YOK:
	INC R0
	JMP BAS_UST_ARA
	
	BAS_UST_VAR:
	;R0'IN ICERISINDE YILANIN BIYERI VAR.
	
	HAREKET_UST:
	MOV @R0, #0FEH
	
	; KOSELERE GELMIS MI KONTROLLERI (UST)
	; Her kose teker teker kontrol edilir ve yilanin duvardan gecmesi saglanir.
	MOV A,#40H
	CJNE A, 00H, YOK40_UST
		MOV 78H, #001H
		JMP UST_TAMAM
	YOK40_UST:
	MOV A,#41H
	CJNE A, 00H, YOK41_UST
		MOV R0, #79H
		JMP UST_TAMAM
	YOK41_UST:
	MOV A,#42H
	CJNE A, 00H, YOK42_UST
		MOV R0, #7AH
		JMP UST_TAMAM
	YOK42_UST:
	MOV A,#43H
	CJNE A, 00H, YOK43_UST
		MOV R0, #7BH
		JMP UST_TAMAM
	YOK43_UST:
	MOV A,#44H
	CJNE A, 00H, YOK44_UST
		MOV R0, #7CH
		JMP UST_TAMAM
	YOK44_UST:
	MOV A,#45H
	CJNE A, 00H, YOK45_UST
		MOV R0, #7DH
		JMP UST_TAMAM
	YOK45_UST:
	MOV A,#46H
	CJNE A, 00H, YOK46_UST
		MOV R0, #7EH
		JMP UST_TAMAM
	YOK46_UST:
	MOV A,#47H
	CJNE A, 00H, YOK47_UST
		MOV R0, #7FH
		JMP UST_TAMAM
	YOK47_UST:
	CLR C
	MOV A,R0
	SUBB A, #8H
	MOV R0,A

	UST_TAMAM:

	;OYUN SONU VE YILAN ELMA YEDI MI KONTROLU
	MOV A, @R0
	JNZ UST_BUYU
	JMP UST_ILERI
	UST_BUYU:
	CLR C
	SUBB A, #0FFH
	JNZ UST_BITTI ;Yilanin boyunun 8 olmasi durumunda bir sirada yuruyebilmesinin saglanmasi amaciyla yazilmis bir dizi kod...
	MOV 010H, #0FFH ;BUYU BAYTINI SET ET
	JMP UST_ILERI
	UST_BITTI:
	MOV A, @R0 
	CLR C
	SUBB A, R6
	JNZ UST_CIDDEN_BITTI
	MOV 011H, #0FFH	;YILNAN TAM UCTA BAYTINI SET SET
	JMP UST_ILERI

	UST_CIDDEN_BITTI:
	LJMP BITTI
	
	UST_ILERI:
	MOV @R0, #001H
	;DEGISECEK BITTI

	
	MOV R4, #002H ; BIR SONRAKI YILANIN NOSU (SBIZLEYE PARAMATRE OLARAK KULLANDIK)
	JMP SBIZLE

ALT:
	;YILAN HAREKETLERI
	MOV R5, #001H
	
	;YILANIN BASINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
	MOV R0, #040H
	BAS_ALT_ARA:
	MOV A,@R0
	CJNE A, 005H, BAS_ALT_YOK
	
	JMP BAS_ALT_VAR
	
	BAS_ALT_YOK:
	INC R0
	JMP BAS_ALT_ARA
	
	BAS_ALT_VAR:
	;R0'IN ICERISINDE YILANIN BIYERI VAR.
	
	HAREKET_ALT:
	MOV @R0, #0FEH
	
	; KOSELERE GELMIS MI KONTROLLERI (ALT)
	; Her kose teker teker kontrol edilir ve yilanin duvardan gecmesi saglanir.
	;DEGISECEK BASLA
	MOV A,#78H
	CJNE A, 00H, YOK78_ALT
		MOV R0, #40H
		JMP ALT_TAMAM
	YOK78_ALT:
	MOV A,#79H
	CJNE A, 00H, YOK79_ALT
		MOV R0, #41H
		JMP ALT_TAMAM
	YOK79_ALT:
	MOV A,#7AH
	CJNE A, 00H, YOK7A_ALT
		MOV R0, #42H
		JMP ALT_TAMAM
	YOK7A_ALT:
	MOV A,#7BH
	CJNE A, 00H, YOK7B_ALT
		MOV R0, #43H
		JMP ALT_TAMAM
	YOK7B_ALT:
	MOV A,#7CH
	CJNE A, 00H, YOK7C_ALT
		MOV R0, #44H
		JMP ALT_TAMAM
	YOK7C_ALT:
	MOV A,#7DH
	CJNE A, 00H, YOK7D_ALT
		MOV R0, #45H
		JMP ALT_TAMAM
	YOK7D_ALT:
	MOV A,#7EH
	CJNE A, 00H, YOK7E_ALT
		MOV R0, #46H
		JMP ALT_TAMAM
	YOK7E_ALT:
	MOV A,#7FH
	CJNE A, 00H, YOK7F_ALT
		MOV R0, #47H
		JMP ALT_TAMAM
	YOK7F_ALT:
	MOV A,R0
	ADD A, #8H
	MOV R0,A
	
	ALT_TAMAM:
	;OYUN SONU VE YILAN ELMA YEDI MI KONTROLU
	MOV A, @R0
	JNZ ALT_BUYU
	JMP ALT_ILERI
	ALT_BUYU:
	CLR C
	SUBB A, #0FFH
	JNZ ALT_BITTI ;Yilanin boyunun 8 olmasi durumunda bir sirada yuruyebilmesinin saglanmasi amaciyla yazilmis bir dizi kod...
	MOV 010H, #0FFH ;BUYU BAYTINI SET ET
	JMP ALT_ILERI
	ALT_BITTI:
	MOV A, @R0 
	CLR C
	SUBB A, R6
	JNZ ALT_CIDDEN_BITTI
	MOV 011H, #0FFH	;YILNAN TAM UCTA BAYTINI SET SET
	JMP ALT_ILERI

	ALT_CIDDEN_BITTI:
	LJMP BITTI
	
	ALT_ILERI:
	MOV @R0, #001H

	
	;DEGISECEK BITTI
	
	MOV R4, #002H ; BIR SONRAKI YILANIN YERI (SBIZLEYE PARAMATRE OLARAK KULLANDIK)
	JMP SBIZLE
	
SBIZLE: ;BIR SONRAKI YILANIN YERI (R4 ILE SETTIRILIR)
MOV 003H, 006H

MOV A, 11H
JNZ SON_BASA_DENK_GELMIS
JMP DONGU_BAS
SON_BASA_DENK_GELMIS:
DEC 003H

	DONGU_BAS:
DJNZ 003H, IZLE_DONGU
SJMP IZLE_BITTI
	
	IZLE_DONGU:
	;YILAN HAREKETLERI
	MOV R5, #0FEH
	
	;YILANIN BIR YERINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
	MOV R0, #040H
	IZLE_FE_ARA:
	MOV A,@R0
	CJNE A, 005H, IZLE_FE_ARA_YOK
	
	JMP IZLE_FE_ARA_VAR
	
	IZLE_FE_ARA_YOK:
	INC R0
	JMP IZLE_FE_ARA
	
	IZLE_FE_ARA_VAR:
	;R0'DA FEhın yeri var
	MOV B,R0
	
	;YILAN HAREKETLERI
	MOV R5, 004H
	
	; YILANIN DEGISECEK PARCASININ YERINI TESPIT ET
	MOV R0, #40H
	IZLE_DEGISECEK_ARA:
	MOV A,@R0
	CJNE A, 005H, IZLE_DEGISECEK_ARA_YOK
	
	JMP IZLE_DEGISECEK_ARA_VAR
	
	IZLE_DEGISECEK_ARA_YOK:
	INC R0
	JMP IZLE_DEGISECEK_ARA
	
	IZLE_DEGISECEK_ARA_VAR:
	;R0'DA DEGISECEK ELEMANIN FE hın yeri var
	
	MOV @R0, #0FEH
	MOV R0,B
	MOV @R0, 004H
	INC R4
	JMP DONGU_BAS

IZLE_BITTI:

		 ;YILANIN SON ELEMANI ILE ILK ELEMANI CAKISMIS MI
		MOV A, 11H
		JNZ SON_BASA_DENK_GELMIS_2
		JMP SONU_HALLET
		SON_BASA_DENK_GELMIS_2:
		MOV 11H,#00H ;;SON BASA GELMIS BITINI TEMIZLE

			;YILAN HAREKETLERI
			MOV R5, #0FEH
	
			;YILANIN BIR YERINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
			MOV R0, #040H
			IZLE_SON_ARA:
			MOV A,@R0
			CJNE A, 005H, IZLE_SON_ARA_YOK
			
			JMP IZLE_SON_ARA_VAR
			
			IZLE_SON_ARA_YOK:
			INC R0
			JMP IZLE_SON_ARA
			
			IZLE_SON_ARA_VAR:
			;R0'DA FEh'nin yeri var
				 
			MOV @R0, 006H
			JMP SBIZLE_BITTI
			
SONU_HALLET:
; YILAN HAREKET ETTIKTEN SONRA, EN SONDA KALACAK FE'YI KALDIRMAMIZ GEREKIR.
; BU KISIM BU ISLEMI YAPMAKTADIR.

MOV R5, #0FEH

;YILANIN BIR YERINI BUL (BULUNACAK OLAN YE R5'E ATILMALIDIR)
MOV R0, #040H
IZLE_FE_BITTI:
MOV A,@R0
CJNE A, 005H, IZLE_FE_BITTI_YOK

JMP IZLE_FE_BITTI_VAR

IZLE_FE_BITTI_YOK:
INC R0
JMP IZLE_FE_BITTI

IZLE_FE_BITTI_VAR:
;R0'DA FE'IN yeri var
MOV A, 010H
JNZ BUYUYECEK
MOV @R0, #00h
JMP SBIZLE_BITTI
BUYUYECEK:
  MOV 010H, #00H ;YILAN UZAYACAK MI BAYTINI SIFIRLA
  MOV 009H, #00H ;ELMANIN BELLEKTEKI ADRESINI SIFIRLA KI TEKRAR YARATILSIN
  INC R6         ;YILANIN UZUNLUGUNU ARTIR
  MOV @R0, 006H  ;BELLEK GORUNTUSUNDE YILANI UZAT
  JMP SBIZLE_BITTI
  
SBIZLE_BITTI:
LJMP BASLA

BITTI:
  DEC R6
  DEC R6
  MOV R0, 06H
  MOV R1, 06H
  MOV R2, 06H
  MOV R3, 06H
  MOV R4, 06H
  MOV R5, 06H
  MOV R6, 06H
  MOV R7, 06H
  MOV A, 06H
  MOV B, 06H
  END
👋 🚨 Yeni yazılardan haberdar olmak ister misiniz? 👇

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Makine Kodu ile Red Alert 3 Yazdık 22 yorum aldı.

  1. Merhabalar,

    Öncelikle yazdığı yorumlarda isimlerini vermeyen arkadaşların fikirlerinin ne kadar arkalarında olduğundan şüphe duyduğumu belirtmek isterim. Gerçi “FxDev” adlı arkadaşın ismine cismine sitesinden erişebiliyoruz. Ancak keşke doğrudan kendi ismini yazıp sitesinin bağlantısını vermeseydi de ben onu Google’dan bulsaydım. Daha hoş olurdu. Bununla beraber, “Vicdanın Sesi” adlı arkadaşın ise hem ismini saklaması hem de “simdi beni iyi ve dikkatle dinleyin” gibi azarlar bir uslüpla yorumuna başlaması, hoşgörünün hakim olması gereken ve bölümüzün “bilimsel” altyapısı, lisans öğrencisi arkadaşların sorunları vb. tartışıldığı ortama yakışmamıştır. Böyle bir ortamda lütfen üsluplarımıza dikkat edelim. Bize yakışmaz.

    Yukarıda bir dersin ödevinin içeriği ve kullanılması önerilen IDE hakkında bazı eleştiriler yöneltilmiş. Anladığım kadarıyla önerilen IDE’den memnun olmayan arkadaşlar araştırıp daha iyisini bulup onu kullanmışlar ve dersin hocasının da sanırım buna bir itirazı olmamış. Ne güzel! Hoca demek zaten herşeyin en iyisini, IDE’nin en süperini bilen demek değil; yol gösteren, kıvılcımı çakan, “büyük resmi” görebilen demektir. Hocalar eleştirilmeli, yerden yere vurulmalı ancak bu mutlaka karşılıklı saygı çerçevesinde olmalıdır. Daha iyi IDE’ler, yazılım geliştirme araçları çıkmış olabilir; Sinan’ın da son yanıtında belirttiği gibi “Öğrencilerimiz istediği IDE’yi kullanmakta özgürdürler.” (Bu noktada Vicdanın Sesi adlı arkadaşı yazışacağı ortamdaki yazıların hepsini dikkatlice okumaya davet ediyorum!).

    Söz konusu ödevin öğrencilere ne kadar katkıda bulunduğu konusunda bir yorum yapamayacak olsam da Vicdanın Sesi olan arkadaşın “bir ogrenci kalkip bu odev size ne kalkti sorusuna hic birsey katmadi diyorsa,inanin katmamistir.” sözüne kesinlike katılmıyorum. Çünkü az önce de ifade ettiğim gibi hoca “büyük resmi” gören yol göstericidir. Misal verecek olursam, nümerik analiz dersi alan hemen herkes, “bu ders ne işimize yaracak” diye düşünür. Ancak daha sonra fark edebilirler ki, örneğin bir 3 boyutlu grafik tasarım aracının altyapısı (dikkat: aracın kullanılması ve araçta birşeyler geliştirilmesi değil) üzerine veya grafik kart yazılımları üzerine çalışacak olurlarsa bu bilgiler çok işlerine yarayacaktır. Nitekim benim de mezun olduktan sonra, iyiki şu dersi almışım dediğim çok olduğu kadar neden bunu bize göstermemişler dediğim de çok olmuştur, olmaktadır. Dolayısı ile Sinan’ın da belirttiği gibi “Sizler de ilerde üniversitelerde yer alırsanız yanlış gördüğünüz şeyleri düzeltmek için mücadele ediniz.”.

    Derslerin içeriklerine gelince… Bilgisayar ve yazılım mühendisliği disiplinlerinin müfredatları üzerine kayda değer çalışmalar yapılmıştır günümüze kadar. Parnas’ın 1999 yılında IEEE Software dergisinde yayınlanan bir makalesinde (Parnas 1999) etkin bir yazılım mühendisliği eğitimi için, yazılım mühendisliğinin bilimsel temeli (Bilgisayar Bilimleri) korunurken, geleneksel mühendislik eğitimi yaklaşımının izlenmesi gerektiği savunulmuştur. Bu bağlamda önerdiği müfredatın içeriği; (1) “diğer tüm mühendislik disiplinleri tarafından alınan temel dersler”, (2) “yazılım mühendisliğinin matematiksel temelleri üzerine dersler” ve (3) “yazılım geliştirmeyle ilgili dersler olarak” özetlenebilir. Bu bağlamda Arda’nın verdiği örnekler oldukça yerinde.

    Parnas, çalışmasındaki müfredatta, güncel bazı programlama dillerine ve teknolojilerine değinmemiştir. Güncel yaklaşımların temelindeki fikirlerin öğretilmesi gerektiği ve öğrencilerin güncel araçları laboratuar çalışmalarında kullanması gerektiği ifade etmiş, ancak, bu konuların eskilerin yerini aldığının ve zamanla onların da yerlerini yenilerine bırakacaklarının unutulmaması gerektiği belirtmiştir. Bugünün öğrencilerinin meslek hayatlarının 40 yıl sürebileceğine dikkat çeken Parnas, o süre içinde geçerliliğini koruyacak ve kullanışlı olacak temel bilgilerin belirlenerek, derslerde vurgulanması gerektiğine dikkat çekmiştir. Benzer şekilde gene IEEE Software dergisinde çıkan diğer bir makalede de (Saiedian 2002), yazılım mühendisliği eğitiminin güncel dillere ve araçlara yoğunlaşmak yerine, bir mühendisin tüm meslek hayatında yararlı olacak iyi mühendislik uygulamalarına ve yazılım geliştirmenin çeşitli etkinliklerine ilişkin tekniklere yoğunlaşması gerektiği ifade edilmektedir.

    Bölümümüzde de tam anlamıyla olmasa da buna benzer bir sistem uygulanmaya çalışılmaktadır. Zamanla oturacağına olan inancım sonsuz. Bu bağlamda, eleştirileri olan lisans öğrencisi arkadaşların geri bildirimlerini çekinmeden istedikleri öğretim üyesi veya araştırma görevlisi ile paylaşmasını şiddetle tavsiye ediyorum. Ayrıca, bildiğim kadarıyla lisans öğrencilerinin temsilcisi olan 2 arkadaş düzenli olarak bölüm yönetimiyle görüş alışverişinde bulunmaktadırlar. İlgilenenler, kaygılarını bu temsilci arkadaşlara da iletebilirler.

    Buna ek olarak birkaç şeyi daha ifade etmek istiyorum. Vicdanın Sesi’nin “iş bulamayip aman devlete kapagi atayim memur olayim maasimi tikir tikir alayim kafam rahat etsin dusuncesinde olan insanlar arastirma gorevlisi olarak yer ediniyor universitemizde” lafına karşılık olarak verebileceğim cevap bu arkadaşlara kimlerin yer EDİNDİRDİĞİ’dir. İma edilen kişiler yapılan işin muhtevasına uygun olmayabilirler hakikaten, bu ayrı bir tartışma konusudur ama, asıl onları buralara yerleştiren ve gerekli geri bildirimi vermeyen hocalarına yöneltmek gerekmez mi yaydan çıkmak üzere olan eleştiri oklarını. O zaman “neden daha nitelikli insanlar bu kadrolara yerleştirilmedi, yazıl değil mi devletin kadrosuna” demek daha doğru olmaz mı? Dünyanın her yerinde süreç şöyledir: birisi işini iyi yapmaz, aksatır vb. ise amirinden, sorumlu kişisinden, hocasından hesap sorulur. Nitekim bu konu hakkında atalarımızın “Üzüm üzüme baka baka kararır.”, “Anasına bak kızını al.” ve “İmam osurursa cemaat sıçar.” sözleriyle ifade ettiği yıllar öncesine dayanan naçizane tesbitleri de bulunmaktadır.

    MÜDEK konusunun ise tartışmalı olduğunu ve referans gösterilemeyeceğini düşünüyorum. Nitekim, aynı MÜDEK, Fizik dersleri için gerekliliği bölümümüz öğretim elemanlarınca 2 yıldır şiddetle sorgulanan laboratuar çalışmalarında nedense halen ısrar etmektedir.

    Son olarak “Teknolojiler universitelerden cikar.kişisel yaraticiligi ,yeni fikirleri onleyerek ben bunu sectim herkes bunu yapsin denilen bir kurumda ne uretim ne bilim ne de hic birsey ortaya cikmaz.” saptamasının doğru ancak yerinde olmayan bir saptama olduğunu düşünüyorum. Nitekim yazılar dikkatli(!) okunursa kimsenin aksini iddia etmediği görülecektir.

    Herkese çalışmalarında kolaylıklar dilerim,

    Önder.

    KAYNAKÇA

    (Parnas 1999) Parnas, D. L. “Software Engineering Programs Are Not Computer Science Programs”, IEEE Software, Kasım/Aralık 1999, s. 19-30.

    (Saiedian 2002) Saiedian, H., Bagert, D., ve Mead,N., “Software Engineering Programs: Dispelling the Myths and Misconceptions”, IEEE Software, Eylül/Ekim 2002, s. 35-41.

    1. Bence şu noktada @Vidanin Sesi’nin kimliğini açıklayarak bir cevap vermesi gerekiyor. @fxdev zaten benim ev arkadaşım da olduğu için ve kendisi adını sanını gizlemek için bir çaba sarf etmediğinden o konuda bir şey demiyorum.

      Benim Önder Hocama katılmadığım sadece iki nokta var:

      1. Ben derse gereksiz demiyorum. Lütfen bu yanlış anlaşılmasın. Ben gereksiz söylemini bir tek “Modern Biyoloji” için söyledim, ve hala da söylüyorum. Eğer onun dışında bir derse dediysem, o sınav dönemki sıradan sayıklamalardandır. Bu yazıda da dersin gereksizliğine dair hiçbir satır yoktur. Ama ödevin gereksiz olduğuna inanıyorum. Çünkü geçen dönem yaptıklarımızın kopyala yapıştırılması ve 3 kat uzunundan başka bir şey değildi. Belki bize sabır taşı olmayı öğretmiştir, ama dahası kesinlikle ve kesinlikle kopyala yapıştır, değiştir, hata ayıkla’dan fazlası değildi. Bu ödevin bana bir şey katması konusundaki görüşümün tabi büyük konuşmamak lazım ama, değişmeyeceğine adım gibi eminim desem yalan olmayacak. Tekrarlıyorum, ders değil, herhangi bir ödev değil, geçen seneki ASM ödevleri değil, bu ödevden katbekat uzun sürmüş nesne ödevi değil, windows projesi değil, Aylin Hoca’nın OS ödevleri değil, herhangi bir ödev değil, lablarla yaptığımız alıştırmalar da değil sadece ve sadece bu Snake Game ödevinin gereksiz olduğunu düşünüyorum. Bence “Bu öğrencilere bu ödev hakikaten yararlı olamamış olabilir” diye üzerinde beş dakika da olsa düşünülmeli. Sadece bu ödev için.

      2. Ben bu bölümde şimdiye kadar “Benim gösterdiğim program budur, bunu kullanacaksınız, o kadar!” diyen bir hoca şimdiye kadar hiç görmedim. Bu güzel. Sinan Hoca da zaten özgür olduğumuzu söyledi. Bu da süper. Ama şu cümle beni benden alıyor:

      ALINTI: IDE ise oldukça basit ve bizim projelerimiz için yeterlidir. Hangi yazılımları kullanacağımıza neyi öğreteceğimize müsade edinde biz karar verelim.

      Siz bir IDE’ye karar veriyorsunuz. E haklı olarak. Öğretecek sizlersiniz. Ama IDe’ye karar verirken, bence yazılımın kullanışlığını ve stabilitesini de hesaba katmanız gerekiyor. Hangi yazılımları kullanacağınıza siz karar veriyorsunuz, vermelisiniz çünkü eğitmensiniz ama yazılıma karar verirken, orası burası hata verip ikide bir çöken bir programa da karar vermemelisiniz inancındayım. Eleştirdiğim nokta budur. Tamam, bir yazılım önerilecek. Algoritmada da CodeBlocks önermişlerdi. Ama CodeBlocks ikide bir çökmüyordu. Hız problemi yoktu ve sağlamdı. Basitti de. Ve laf etmedi kimse. Ha beğenmeyen başkasını kullandı. Eleştirdiğim bu. Bize önerilen programın böyle sorunları olmamalı. Stabil olmalı. Bende öyle bir izlenim uyandı ki, hocamızın bahsettiği kütüphaneyi kullanan Google’da aratılınca ilk sırada gelen program bu. Herhangi bir şirket ya da bu işle uğraşan bir grup topluluk, geliştirmeler için bu kadar stabil olmayan bir programı ve simülasyon hızı bu kadar yavaş olan bir programı istese de kullanamaz gibi.

      En mükemmel IDE’yi bilemiyor olabilirsiniz tabiki ama. O kadar çok hata mesajı aldık ki kod yazarken, sanki daha önce hiç denenmemiş bu sorunlar hiç çıkmamış, bulunan ilk IDE bize verilmiş gibi geldi bize. O derece sorun çıkardı yani ide. En mükemmeli olmasa da, bari ortalama bir şey olsaydı.

      Derdim bu.

      Bunun dışındakiler beni aşar. Belki mezun olunca ve arkamı dönüp tekrar bakınca diyecek daha fazla şeyim olur. Ben şu anda öğrendiğime bakıyorum. Dersin adında “Windows” geçiyor önceki yorumumda dediğim gibi. Ama proje geliştirme konusunda o derse kazandığım tecrübeyi başka bir derste kazanmadım ben örnek verirsem.

      Yaptığım tüm ödevlerin bana bir şey katmasını istiyorum. Tüm ödevleri bitirince bir bakıyorum, acaba ben ne öğrendim diye. (Genelde) not olmuyor derdim. Örnek verirsem, Nesne Projesi bize sıfırdan başlanıp bir projenin nasıl geliştirileceğini ve yazılıma nasıl aktarılacağını teorik de olsa öğertmiş oldu. Windows bunu gerçekledi. İşletim sistemi ödevlerinde gerçek anlamda thread ve process kullandık, çok çekirdekli/işlemcili platformlara yönelik ufak bir yazılım yazdık. Başkaaaaa… Hımm… Geçen dönem, ASM’nin neden olduğu, ASM->Binary ilişkisi gibi şeyleri öğrendik, ASM’de sıralama yazarak işlerin alt seviyede nasıl işlediğini öğrendik. Alt seviyede nasıl düşünülür ve nasıl kod yazılır bunu öğrendik. Aklıma şimdi başka ödev gelmedi. Ama hepsinde ne öğrendiğimi rahat rahat söyleyebiliyorum gördüğünüz gibi. Hem de “büyük resmi” bile görmeden. Ufak şeyler ama, işe yaradığına inanmamı sağlıyor. Ve bunları not için yapmadım.

      Bunca örneğin hemen ardından, Snake Game ödevine bakıyorum, ve söyleyemiyorum ben ne öğrendim. Tek derdim bu.

      Dediğim gibi, diğer konular beni aşar. @Vicdanın Sesi ve @Arda tekrar yazarlarsa tartışırsınız. Benim diyeceğim, ben öğrendiğime bakarım.

      Hocam, yorumunuz için çok teşekkür ederim. Vaktinizi ayırdınız. Siteme değer kattınız.
      İyi sabahlar

  2. üzüldüğüm tek şey hic üzerine alinmamasi gereken değerli insanlarin bu yaziya alinmasi olmus.
    isimler onemli degil benim kim oldugumda onemli degil.Keşke herkes bu yaziya katilanlar gibi hassas olsada dönüp kendilerine bir baksalar.Aslinda benim söylememe gerekte yok.Zaten bahsettiğim durumu akademisyen arkadaslarimizda kendi aralarinda konusuyorlar ve biliyorlardir.

    Şimdiye kadar bir dünya ödev yaptim,ve hepsinden az cok birsey ogrendim.Ama bu ödev bana yorgunluktan başka birsey katmadı.Zaten bildigim seyleri hic bir yeni sey kullanmadan defalarca yazdim durdum.Bence anlamakta güclük cektiginiz nokta Umutunda belirttigi gibi “SADECE BU ODEVİN” amacina ulaşamamış olmasi.Belkide anlamak için yeterli efor sarfedilmedigi için de olabilir.Odev verilmesin mi diyorum ben? Daha yaratici ve faydali odevler verilebilir diyorum.Ama neden beni kimse anlamiyor??

    İşte bahsettigim sorun bu,hic bir asistan gelipte evet hata yapmis olabiliriz,yada birsey katmamis olabilir size demiyor.İnatla faydasi oldu siz bilmiyorsunuz gibi aşalayici bir ithamla karsi karsiyayiz.Çünkü dar bakış açısı hakim,sürekli “biz biliriz siz bilmezsiniz” Bu ogrencilerin kaci buyuk resmi sizden daha iyi gorebiliyor farkindamisiniz?Ogrencilerin bu potansiyelini gormezden gelip,sirf konum ve yaş itibariyle bu gibi ithamlarda bulunmalari beni bu yazilari yazmama sürüklüyor.

    Bir tane empati yetenegi olan bir asistan arkadasimiz da cikip desin evet bu kendini tekrarlayan ve cok faydali olmayan bi odevdi desin .Olabilir yahu,nedir bu sorun.yani her verilen odev mukemmel derece faydali olmak zorunda degil.faydasi olmamis da olabilir.niye buna itiraz ediyorsunuz ki?Olamazmi yani soyle bir kural mi var “ege universitesinde verilen her odev ogrencilere fayda saglar”. Bu mudur yani.Ben kimseyi suçlamiyorum da hakarette etmiyorum.Ama tepki aliyorum.Cunku asistan arkadaslarimiz elestirilmeye tahammul edemiyor.Biriside ciksin evet hakli yanlarin var,uzerinde dusunup daha iyi kararlar vermek icin dusunecegiz bu dediklerini desin. Kime zarari olur bunun??

  3. Ben her iki tarafa da hak vermekle beraber kendim dahil her iki tarafı eleştirmek istiyorum. Önce kendimden başlıyım:
    Ben dokuz eylül den mezun olup ilk araştırma görevliliğime başladığımda öğrencilere elimden geldiğince fazla bilgi depolamayı amaç edinmiştim. Hatta ilk haftalardaki basit lablara bile aşırı çalışarak giriyordum. Çünkü dokuz eylüldeki arş. gör. leri bir profesörden daha çok derse giriyordu ve bilgileri oldukça iyiydi. Ben de onlar gibi olmak istiyordum. Sonradan baktım ki egede durumlar hiç de öyle değil. Ne hocalar çok fazla lablar konusunda hassas ne de öğrenciler. Şöyle bir baktım kendime, ben ne için uğraşıyorum ki? Özellikle ne anlattığının öğrenciler için (çoğu için) bir önemi yok, pek takmıyorlar. Sonra baktım çok fazla bir şey anlatmadan da 45 dak. bir şekilde lab yapıp işini götüren asistanları da gördüm. Bir kaç kez onlar gibi denediğim olmuştur. Çalışıp veya çok şey vermeye çalışmak için laba gelmekten farksız. Çünkü öğrencilerde bir gariplik var, yada okulun çarkında düzeninde. Öyle bir düzen var ki burda “Vicdanın Sesi” (çok iddialı isim) gibi asıp kesen ben öğrenmek istiyorum diyenler lab ve ödevlerde ayrı bir karaktere bürünü veriyor. Aslında şunu demek istiyorum, bu okulun düzeni idealist öğrenciyi de araştırma görevlisini de kendine benzetiyor, pasifleştiriyor, kolaycılığa alıştırıyor. Bir iki sene içinde ne kadar idealist de olsanız kendinizi bir anda diğer asistanlar, hocalar, öğrenciler gibi buluverirsiniz (Belki de ben “Vicdanın sesi”nin bahsettiği asistanlardanımdır)

    Dolayısıyla kimse kendini sütten pak zannetmesin. Aybars hocanın içinde bir çok bilgiyi barındıran ödevleri bir alt sınıflardan bire bir alıp bize sunan kendilerini cin sanıp bizi saf zanneden safcin öğrenciler burda vicdanın sesi olamazlar. Yada ödev paylaşımı yapıp kendilerince faydalı gördükleri derslerin ödevlerini kendileri yapan (kapan) diğer önemsiz derslerdeki hamallık ödevlerini daha düşük seviyedeki arkadaşına kakalayıp mutualist bir ilişki içine giren okulumuzun sevgili başarılı öğrencileri de vicdanın sesi olamazlar (Bazıları istisna olabilir). Birbirimizi kandırmayalım 🙂

    Bu bölümde bazı asistanların daha fazla bildiği veya daha fazla yardımcı olduğu diğer bazılarının bunun tersi olduğu bir gerçek. Öte yandan bazı derslerin öğrenciler tarafından önemsendiği diğer derslerin kendilerince hiç bir şey ifade etmediği ve sadece dersten iyi not almak için derse girdikleri de bir gerçek (çok ender istisnalar olabilir)

    Ama hem öğrencileri yönlendiren hem de araştırma görevlilerini yönlendiren bölümün mentalitesi ve eğilimleridir. Genelde öğrenciler de piyasaya yönelik düşündüklerinden kafalarında piyasaya yönelik olan dersler önemlidir, diğerleri olmasa da olur görüşü vardır. Ne kadar doğrudur bilmiyorum. Ama ben akademisyen olarak bir olasılık istatistik dersini iyi vermedikleri veya iyi öğrenemediğim için üzülüyorum. Lisansta piyasada çalışacağını düşünen eski bir lisans öğrencisi olarak. Diğer taraftan dediğim gibi okulun yönlendirmesi de etkili bu konuda. Egedeki bir öğrenci için nesneye dayalı program geliştirme 1-2-3-…. diye giden dersler en önemli derslerdir çoğu öğrenciye göre, ama aynı şeyi başka bir üniversitedeki öğrenci söylemeyebilir…

    Neyse daha yazacaktım ama uzun kaçıyor.

    Doğan

  4. Sevgili Dogan Aydin,

    Oncelikle size bir teşekkürü bir borç bilirim.Umarim herkes sizi örnek alır.Gerek ogrenciler,gerek kendi asistanlar hakkindaki tüm tespitleriniz dogru ve yürekten katiliyorum.Sonunda beni anlayan birini gormek cok sevindirici.Bende aynen sizin gibi sadece bir tarafi suclamiyorum.Ayrica bölümümüzün gidisati hakkindaki rasyonel tespitleriniz cok yerinde olmuş.Benim tamda parmak basmak istedigim nokta bu idi.Ogrencilerinde,asistanlarinda,hatta profesorlerin bile hatalari olabilecegini ,bunlarin dile getirildigi zaman ise körü körüne itiraz etmemek gerektigini vurgulamaya çalışıyorum.

    Sizinde belirttiginiz gibi ,eger bir odev seneler gecmesine ragmen tekrar tekrar veriliyorsa ve bu iliskiden herkes haberdarsa bunun faydali bir uygulama olmadigi ortadadir.Farkli odev verilsin denildigi zaman ogrencilere cikismak yerine evet burda bir yanlislik var ,faydali bir uygulama degil bu diyebilmekte buyuk bir erdemdir.Ben ve benim gibi gercekten bu tür projeleri yapmaktan zevk alan bir sürü arkadasta var,mutualist iliskilerini surdurende var.

    nasil iyi ogrenci kotu ogrenci ,basarili ogrenci basarisiz ogrenci oluyorsa,Basarili asistan ,basarisiz asistan da vardir,bunun aksini savunmak akil kari degildir.

    Dogan beyi buradan tespitleri ve empati yeteneği vede dürüstlüğü açısından tekrar tebrik ediyorum.

    Bölümümüzün durmunun kötüye gitmesi ise herkesin belkide farkinda oldugu bir gerçektir.Bu durumu öğrencilerin başarisizligindan anliyoruz.Ama öğrencilerin seviyesinin düşmesi,başarisiz olmalarinin esas sebebi ise,verilen derslerin nasil işlendigi,ne derece yetkin insanlarin bu dersi verdiği ile doğrudan orantilidir.bu konudada yine hem fikir olamiyorsak ben bundan sonra yazi yazmayacagim.kısır bir tartisma ortami yaratma amacinda değilim.biraz olsun bazi gercekleri ve tespitlerimi sunmak istedim.İstegim Ege bilgisayar mühendisliginin daha başarili olmasidir.

    Haddim olmayacagini dusunenler olabilir,ama hatali durumlari ortaya koyup bir nevi Uyandirici,devindirici bir durum yaratmak istedim ki,eger hatalarini goremiyorlarsa ve iyi niyete sahiplerse bundan bir ders cikarip daha faydali olabilsinler.Ben soylemesem bir gun baska biri cikip illaki bu durumu ortaya koycakti.Güneş balçıkla sivanmaz nitekim.”sen kendine bak millete ders vermek sana mi düştü “diyenlere saygilarimi iletir,beni anlayan ve anlamayan herkese teşekkür ederim.

  5. Merhabalar, Vicdanın Sesi takma isimli arkadaşımın yazdığı yorumda geçen ve Sistem Programlama dersine ilişkin cümleler hakkında düzeltme yapmak istiyorum. Hatırlatmak gerekirse cümleler şu şekilde idi: ” öğrencilerin feedback lerine kulak verin.Öğrenciler IBM 360 sistemlerinin gosterildigi Sistem Programlama dersini elestiriyordu.ama yine ayni mantalitedeki arastirma gorevlileri,bunun ne kadar gerekli bir ders olduguna dair sayfalarca size bilgi verebilridi.ne oldu MÜDEK bu dersin artik günümüzde uygulama alani olmadigina ve gereksiz olduguna karar vererek müfredat tan cikardi.” Düzeltmek gerekirse işin aslı ve doğrusu şu şekildedir: Derste 14 hafta boyunca IBM 370 sistemi assembly’si anlatıldığı dönemlerde öğrencilerden eleştiri geldiği doğrudur. Bu eleştiriler çerçevesinde dersin son 5 yılında IBM 370 assembly konusu 2 haftaya indirilmiş (daha net olarak ifade etmek gerekirse, assembler’ın pass-1 ve pass-2 algoritmalarının anlatıldığı durum çalışması şekline getirilmiş), kalan haftalarda dünyada Sistem Programlama derslerinde çok tutulan bir kitap olan “System Software: An Introduction to Systems Programming, Leland L. Beck” kitabından 1, 2, 3 ve 5. bölümler izlenerek öğrencilerin Assembler (Dikkat çekmek isterim; Assembly dili değil!, derleyicisinin yazımı…), Linker, Loader, Derleyici Kuramına Giriş, Ayrıştırma Algoritmaları gibi konularda bilgi sahibi olmaları amaçlanmıştır. BUNA RAĞMEN, DERSİN ÖĞRETİM ÜYESİ tarafından Sistem Programlama dersinin, Assembly Dili ile Prog., Mikroişlemciler, İşletim Sistemleri, Bilgisayar Mimarisi gibi dersler ile kesiştiği konulara sahip olduğu düşünülüp, daha güncel başka derslere yer açmak için Sistem Programlama dersinin kaldırılması doğrultusunda DERSİ VEREN ÖĞRETİM ÜYESİ tarafından Eğitim Komisyonuna dilekçe verilmiştir. DERSİN KALDIRILMASI BÖLÜM MÜDEK RAPORU HAZIRLANMADAN ve MÜDEK DENETÇİLERİ BÖLÜMÜMÜZE GELMEDEN gerçekleşmiştir. Yorumda belirtildiği şekli ile MÜDEK denetçilerinin inceleme yapıp dersi eğitim planından kaldırtmaları gibi bir durum KESİNLİKLE söz konusu değildir. Belki de tam tersi olarak son işlendiği şekli ile müfredatta kalmasını önerme ihtimalleri de olabilirdi. Kaldı ki Donanım Anabilim Dalı Başkanının, Sistem Programlama dersinin son 5 yıldır işlenen şekli ile yararlı olabileceği ve eğitim planında kalmasının düşünülmesi şeklindeki önerilerine rağmen, dersin kapatılması için öğretim üyesi tarafından dilekçe verilmiştir. Buna ilişkin belgeler Eğitim Komisyonu Başkanı Prof.Dr. Levent Toker’den elde edilebilecektir. Diğer bir konu olarak da, daha önceleri IBM 370 mimarisi üzerinde verilirken, bölümde hiçbir zaman Sistem Programlama dersinin gerekliliğini sayfalarca savunmak isteyen bir asistan olduğunu hatırlamıyorum. Lütfen, detaylarından emin olmadığımız süreçler hakkında yorum yaparken daha dikkatli olalım. Herkese teşekkürler.

  6. Merhabalar,

    Eleştiri yapıcı olmalı, hepimizi bir sonuca götürmeli ve özünde birşeyi değiştirmek üzerine olmalıdır.
    Öncelikle, buraya fikir yazarken içerisinde yer alınmayan bir süreci kulaktan dolma bilgilerle değerlendirmek yanlıştır. Eleştirilerdeki analiz sürecinin eksik olduğunu düşünmekteyim. Biraz analiz yapalım dilerseniz.

    6 haftalık labaratuvar sürecimiz oldu.Bu süreçten bazı labların sonunda öğrencilere bir şikayetleri olup olmadığını sordum. Bir eleştiriniz var mı, lablar nasıl gidiyor diye sorular yönelttim. Amacımız öğrencilerin de süreç içerisinde yer almaları idi. Hiçbir öğrencimiz en ufak bir eleştiri getirmedi.

    Dersin dönem projesini öğrenciler için faydalı bir proje olmasını hedeflediğimiz için verdik. Hiçbir zaman öğrencileri boşu boşuna uğraştıracak bir proje verme taraftarı değiliz. Proje ilan edildi ve öğrencilerimizin yaklaşık 20 günlük bir süreleri vardı . Bu süreçte projenin içeriğine ilişkin gelen eleştiriler genelde hocam proje çok zor ve proje yapmak bizi aşar şeklindeydi. Bir tane öğrencimiz gelerek hocam proje bence faydasız boşuna uğraşıyoruz dememiştir.

    6 haftalık lab sürecinde IDE’ye de en ufak bir eleştiri öğrencilerimizden gelmemiştir. Hocam IDE çok kötü, yetersiz, çalışmıyor gibi bir yorum kimseden duymadım. Öğrenciler hocam bu IDE yerine şunu kullanabilir miyim diye sorduklarında hayır bunu kullanacaksınız da demedik. Sorun şudur ki öğrencilerimiz ödevle uğraşmaya geç başlamışlardır. Bu yaşanan sorunlar bu yüzdendir. Kaldı ki bazı öğrencilerimizin projeyi yaparken sorun yaşamadıklarını bizzat kendilerine sorarak öğrenmiş bulunmaktayım. Bir sürü dersin projeyisi olabilir. Ancak 20 günlük bir süreye sahip bir proje için 15 saat uğraşmak ki bu dersin o dönemki tek projesidir, çok mu fazladır?

    Her öğrenci kendi ilgili alanına yönelik projelerde daha fazla fayda görebilir. Ben bir gömülü sistemci olarak bu projenin faydalarının öğrenciler tarafından görüldüğü inancındayım. Öncelikle projenin hedeflerini belirtmek sonra da bunları açmak isterim.

    Projenin hedefleri
    – Kısıtlı kaynaklara sahip bir donanım üzerinde bir yazılım problemini alt seviye programlama dili kullanarak geliştirebilme
    – Gömülü sistemler için yazılım geliştirme sürecindeki problemleri ve zorlukları kavrayabilme
    – Alt seviye yazılım geliştirme araçlarının kısıtlarının farkına varabilme
    – Açık kaynak kodlu yazılım geliştirme platformlarının problemlerini kavrayabilme

    Gömülü sistem yazılımları geliştirilirken profesyönel yazılımlar kullanıldığı gibi açık kaynak kodlu yazılımlar da kullanılıyor. Hatta çoğu gömülü sistem firması ya da araştırma kurumları açık kaynak kodlu ve linux üzerinde çalışan yazılımlara yönelmişlerdir. Bu benim takip ve bilgi sahibi olduğum bir süreçtir. Hatta şöyle söyleyeyim doktora araştırmamın bir parçası olan kablosuz algılayıcı düğümlerini programlamak için bile TinyOS açık kaynak kodlu işletim sistemini kullanmaktayız. Berkeley Üniversitesi tarafından geliştirilmiş bu yazılım bizim için olmazsa olmazdır. Bu yazılımın kendi içinde diğer profesyönel yazılımların da barındırdığı bir sürü hata mevcuttur. Hatta şöyle söyleyeyim, TinyOS içindeki bir hata bana tamı tamına 14 gün kaybettirmiştir.

    Projenin hedeflerinden biri öğrencilerin bu sürece yakınlaşmasını sağlamaktır. Demek istediğim şudur ki değerli öğrenciler eğer gömülü sistemler üzerine çalışacaksanız gömülü sistemlerdeki açık kaynak kodlu yazılım geliştirme araçları ve yazılım geliştirme süreci çok çok basit anlamda bu şekildedir, elde olan bunlardır. Biz bunları kullanıyoruz. Siz kullandığınız bir yazılımdan ötürü günler kaybedebilirsiniz. Hatta şöyle diyim, sizin çok güvendiğiniz derleyiciler bile size öyle abuk sabuk hatalar verebilir ki forumlardan o hatayı bulup ayıklamak için uğraşırsınız. Tabi eğer hatayla başkası karşılaştıysa ve şanslıysanız. Öğrencilerimiz bu süreci gözlemlemiş ve öğrenmişlerdir.

    Diğer bir sonuç, kısıtlı kaynaklarda yazılım geliştirme sorunudur. İlk dönemki birleştirici dili ile programlara bu kavramı içinde barındırmıyordu. Bu dönem, basit bir yılan oyununun bile kısıtlı bir komut setine sahip donanım üzerinde nasıl geliştirildiğini gözlemledik. Bu, yine benim üzerinde araştırma yaptığım kablosuz algılayıcı düğümleri için hem uygulama hem de protokol geliştirmek isteyecek öğrencilerin neyin ne olduğunu bilerek bir işe girmesini sağlayacaktır. Kısıtlı bir sistemde iki sayıyı toplamak bile bir problemdir.

    Diğer bir nokta, bu dönemki labların fiziksel bir donanım üzerinde yapılması hedeflenmişti ancak donanım alım işinde bazı problemler ortaya çıktı. Her zaman öğrencilerimizin daha fazla şey görmesini, Köy Enstitüleri’nde olduğu gibi pratik yaparak gözlemleyerek öğrenmelerinin teşvik edilmesi taraftarıyız. Ancak donanım alım süreci bizi yine ve yeniden simülasyon ortamını kullanılmasına yönlendirdi. Ancak şunu belirtmeliyim ki, direk donanımlar üzerinde de çalışma yapsaydık çok zaman kaybettirici ve yorucu anlarımız olacaktı. Kodun derlenmesi, donanıma aktarılması, hatalarının ayıklanması yine benzer sorunları içerecekti. Bu işin doğasında ciddi bir emek var arkadaşlar. Saatlerinizi kaybedebileceğiniz bir yorucu süreç.

    Linux üzerinde sistem geliştirmeyi hedeflediğimiz için IDE’yi bizzat ben araştırdım ve açık kaynak kodlu 8051 simülasyonu yapabilen bu aracı beğendim. Bu google’da ilk aramamın sonucu değildi elbette. Dediğim gibi öğrencilerimiz heyecanlı, herşeye eleştirel yaklaşıyor. Çok güzel, eleştirin tabi ama bilerek.

    Ödevin kopyala ve yapıştır sürecine gelince. Bir 3. sınıf öğrencisinin kopyala yapıştır kod geliştirmek yerine kodu yeniden kullanılabilir parçalara ayırması gerekirdi. Projemiz için prosedürlere ayırma tasarımda istediğimiz bir noktaydı. Ben ödevi daha az satır kodla daha prosedürel geliştirmiş projeler de inceledim. Demekki kod geliştirme ve tasarım sürecinizde hatalar var. Hiçbir sistem çok fazla kopyala ve yapıştır barındırmaz ki bölümümzde her öğrenci prosedürel programlama biliyor.

    Şimdi bu süreçte ödevimizi körü körüne savunmadığım ve eleştiriye açık olduğum anlaşılmış mıdır? Öğrencilerimizin ve Vicdanın Sesi’nin göremediği noktalar var mıdır? Ek olarak tek bir öğrencinin eleştirisini genel bir eleştiri olarak kabul etmek vicdanımızın sesini dinlemekle eş değer olabilir mi? Ödevi beğenen ve faydalı bulan öğrencilerimiz de acaba var mıdır? Ya da soruyu şöyle sormak gerekir öğrenciler projeleri beğenmek zorundalar mıdır? Doğan’ın da belirttiği gibi lisansta hiçbirşey ifade etmeyen bir istatistik dersi, lisansüstünde ne kadar anlamlı olabiliyor. İstatistikten bir proje verilse, öğrencilerimizin çoğunun çok hoşnutsuz olacaklarına eminim.

    Bir diğer nokta, eleştiri üsluplarını beğenmiyorum. Vicdanın Sesi’nin üslubu zaten bir felaket.Sürekli “biz biliriz siz bilmezsiniz” cümlesini öne çıkarmasını da anlamadım. Yazdıklarımı sanırım dikkatli okunmuyor. Yazdıklarımdan öyle bir şey çıkarmanız, ancak dikkatli okumamanızdan ya da okuduklarınızı anlamamanızdan ileri gelir. Tabiki benim bildiğim ve sizlerin bilmediğiniz şeyler olacak. Ve onları ben sizlerin bilmesini sağlamakla görevliyim. Beraber bildiklerimiz de var elbette. Şüphesiz sizin bildiğiniz benim bilmediklerimin de olduğu gibi. Ama sizin bilmediğiniz ve bildiğinizi zannettiğiniz şeyleri eğer ben biliyorsam bunları ortaya koymam kaçınılmazdır. Bunu çok bilmişlik olarak görüyorsanız, sizinki de cahilliktir. İnsan ne bildiğini bilmelidir.

    Ek olarak, eğer asistanlardan memnun değilseniz bunu memnun olmadığınız asistanlara isminizi ve cisminizi açık açık göstererek söyleyiniz. Vicdanın Sesi ismini gizleyerek ve genel konuşarak bence dediklerinin arkasında duramamaktadır. Lütfen hangi asistandan memnun değilsiniz, kim yatıyor kim çalışmıyor, kim bilgili kim bilgisiz isimlerini vererek ortaya koyunuz. Hocalar için de geçerli, hangi hocayı beğenmiyorsunuz? İsmi nedir? Siz ne iş yapıyorsunuz? Göreviniz nedir? Şikayetlerinizi giderecek çalışmalar içerisine girdiniz mi? İsim vermeden genel eleştiriler yapmak kolaydır. Madem eleştirileriniz var, neden bunu asistanlara direk söylemiyor ve buraya yazıyorsunuz? Sizin buraya yazdığınız eleştirilerin hiçbirini üzerime alınmamakla beraber, hangi kişileri eleştirdiğinizi bilmek en doğal hakkımdır. Yoksa dediklerinizi ciddiye almıyorum.

    Biz öğrencilerimizi seviyoruz ve onlara değer veriyoruz. Gözlemlediğimiz kadarıyla hepsi öğrenmeye ve üretmeye açlar. Yanlış yönelme ve yönlendirilme, yanlış eğitilme ve bilgilendirilme öğrencilerimizin bazen başarısız olmasına bazen ise yanlış hareketlerde ve yorumlarda bulunmalarına neden oluyor. Umut bizim değerli ve çalışkan öğrencilerimizden bir tanesidir. Ancak üslup problemi yaşamaktadır. Bazı yargıları da yanlıştır. Bunları değiştirmek, dönüştürmek ve Umut’un daha da gelişmesini ve bazı gerçeklerin farkına varmasını sağlamak bizim sorumluluğumuzdadır. Ülke olarak Umut’a arkamızı dönme ya da onu kaybetme lüksümüz yoktur.

    İçinde bulunduğumuz koşullarda, herkesin bir sorumluluğunun olduğunu düşünüyorum. Bu sorumluluklardan biri açık kaynak kodlu yazılımlara yönelip ülkenin yazılım bağımlılığının ortadan kaldırılması gerektiğini gören bilinçli öğrenciler yetiştirmektir. Bir diğeri lisansta herkesin heveslendiği teknolojik kavramların aslında çok da anlam taşımadığının, esas işin lisansüstü araştırma olduğu bilincinin öğrencilere verilmesidir. Bunun için öğrencilerin biraz daha teorik işlerle ilgilenmesini ya da aktif araştırma yapılan konulara yönelmelerini sağlamak boynumuzun borcudur.

    Ülkenin Microsoft yazılımı kullanıp muhasebe programı yapan taşeron firmalarda çalışan mühendislere ihtiyacı yoktur. Bölümümüz bir Microsoft üniversitesi ya da Microsoft Institute of Technology(MIT) de değildir. Buradan bilgi çıkmalı ve bu bilgi üretime yani teknolojiye dönüştürülmelidir. C#, Visual Basic, ASPX bunların hepsi gelir geçer. Yarın Microsoft Ğ# programlama dilini çıkarabilir. Bunu mu öğreteceğiz gençlere? Gençlerin yapması gereken şey https://tr.wikipedia.org/wiki/Devrim_(otomobil) bağındaki Devrim otomobilinin kendi mühendislik alanlarındaki benzerini yapabilmektir. Bunun için mücadele etmektir. Alttan bunun savaşımı vermektir. Merak etmeyin, bizler de kendi çapımızda bir mücadelenin içerisindeyiz.

    Burada elimden geldiğince yapıcı olmaya çalıştım. Çünkü eleştirmek için eleştiren insanların her yerde olduğunu görüyoruz. Vicdanın Sesi saldırgan bir yazım tarzı ile haklı hale gelemez. Kendisi öğrenci dostu olarak görünmeye çalışmakta, ancak gerçek öğrenci dostu, öğrenciyi içinde bulunduğu çıkmazdan kurtaran, düzenin bir çarkı olmasını engelleyen, bilgi ve bilim üretmesini sağlayan kişilerdir. Bu kişilerin kim olduğunu süreçler ve tarih belirleyecektir. Ve şundan çok eminim ki bu kişiler bizim üniversitelerimizde vardır.

    Herkese sevgiler.

  7. @Herkes: Ufak bir not düşmek istiyorum. Her ne kadar bu bölümdeki hiçbir araştırma görevlisi ve hocanın “takacağına” inanmasam da, yine de kendi mezuniyetimi garanti altına almak adına, içerisinde herhangi bir isim barındıran ve doğrudan bir kişiyi hedef alan hiçbir yorumu onaylamayacağımı belirtmek isterim.

    Tekrarlıyorum, bizim bölümde eleştiri kaldıramayıp “takacak” hoca olduğuna inanmıyorum, ama olmaz olmaz deme olmaz olmaz. O yüzden böyle bir eleştiri yapmak isteyen varsa,

    1. Sinan Hoca ile görüşlerini doğrudan paylaşsın.
    2. Bir gün toplanalım, açık oturum gibi bir şey yapalım. Bölüm başkanımız ve başka değerli hocalarımızı da davet edelim.
    3. Bir forum/blog açıp orada yazın. UBenzer’de doğrudan kişiyi hedef alan yorumları onaylamak bana kendi adıma pek akıl karı gelmedi.

    Ha bu korkaklık falansa, öyleyim. 😀

    Bunun dışında, buradaki kıvamda tartışmaya devam edebiliriz.

    @Sinan Hocam:

    1. Bu kadar uzun çaplı bir projeye başlamadan ve yazdıklarımız 300 satırı geçmeden önce, simülasyonda herhangi bir yavaşlık olmuyor/fark edilmiyor. Bu yüzden önceden fark edemedik. Çökmeler de, simple keypad kullanmadan önce çok fazla olmadığından onu da projeye başlamadan fark etmedik. Şikayet etmememizin sebebi budur.

    2. Alt seviye yazılım geliştirme araçlarının kısıtlarını farkına fazlasıyla vardık.

    3. Size gelip en başta bu proje faydasız dememein nedeni: Daha yapıp bitirmeden yorum yapmak haddimi aşar. Önce bitirip bana bu proje ne öğretti sorusunu kendime sormam gerekiyor. Yani projeyi yaptıktan sonra öğrendiklerime bakarak işe yarar ya da yaramaz diyebiliyorum kendi çapımda.

    4. Son olarak, bizimle daha kısa ve daha prosedürel yazılmış daha uygun bir ödevi web sitenizde paylaşırsanız, (ve bunu finallerden önce yaparsanız) biz de daha uygun bir programlama nasıl yapılır, hatalarımız nelerdir görme şansı yakalarız. Böylece bir şeyler öğreniriz ve düzeltiriz. Sadece kötü kod yazdığımızı bilmek bizim için pek bir şey değiştirmiyor ve bize faydası olmuyor. Özgür Gümüş hocamız tüm algoritma ödevlerinde böyle bir yol izlerdi.

    Yorumlarınız için tekrar teşekkür ederim.
    İyi günler

  8. Sinan bey sizi anlamiyorum.sizden bahsetmedigim halde hala kizgin tavriniz devam ediyor.Ne yapmami önerirsiniz yani,susayim mi ? Konusmayayim mi? Size bir hakaret mi ettim? Şahsiniza yönelik kötü bir kelime mi kullandim?Nedir sizi kizdiran?

    yazdiklarimi iyi oku dediginiz icin sizin yazilarinizdan alintilar yapiyorum.Ogrencilere bakis acinizin ne oldgunu birazda siz gorun isterseniz.tum yorumlarinizdan derleme yapacagim..

    1–” Öncelikle yazının oldukça “ukalaca” yazıldığını …. ” Umuta ukala diyorsunuz.

    sonra odevi eleştiren öğrencilere :
    2–“Öncelikle “Bu insan benden daha bilgili ve bir uzmanlığa sahip. Acaba ben hata yapıyor olabilir miyim?” düşüncesi yerine herşeyi ben bilirim bunlar gereksiz denilmesi büyük bir —cahillik—- göstergesidir ”

    yine ogrencilere CAHİL diye hitap ediyorsunuz..

    3–“Bir diğer nokta, eleştiri üsluplarını beğenmiyorum. Vicdanın Sesi’nin üslubu zaten bir –felaket–.”
    “Umut bizim değerli ve çalışkan öğrencilerimizden bir tanesidir. Ancak üslup problemi yaşamaktadır.”

    ne umutun ne benim nede sizinle ayni gorusu paylasmayan herkesin üslübunu begenmiyorsunuz Sinan Bey.Şunuda söylemek isterim ki zaten begenmek zorunda değilsiniz.Burasi Umut Benzer’ in kişisel blogu dur,isteyen herkes istedigi üslüpta kişileri direk hedef almadan ve hakaret etmeden diledigi tarzda yorumunu yapabilir,zaten Umut arkadasimiz yorumlari okuduktan sonra onayliyor.

    Ben umut un üslup sorunu oldugunuda düşünmuyorum.Herkesin bir tarzi var ve bu özgür internet ortaminda diledigi tarzda blog unu yazar.. Buna kimsenin bir itiraz hakki yoktur,olamazda Sinan Bey.

    Ayrica;
    Benim burada ismimi aciklama zorunlulugum yok..Fikirlerimin arkasinda olmami ismimi aciklamama baglayacaksaniz evet durmuyorum fikirlerimin arkasainda deyip sizi mutlu edebilirim.Sizin tek arzunuz bu yorumlari yapan ogrencinin kim oldugunu ogrenmek.ben anonim yorum hakkimi sakli tutuyorum.zaten hic bir kisiyi direk hedef alraak bir saygisizlikta yapmadim.

    “Neden burada yaziyor,neden gelip konusmuyor ? ”
    efendim ben burdan yazmayi uygun gordum kendime,kişisel tercihlerimede müdahale edecek degilsiniz herhalde? Zaten ben sizden bahsetmedigim halde taktiniz bana..Kusura bakmayin ama burdan soz konusu olan kisileri açıklayip onlari rencide edecek ,küçük düşürecek bir saygisizlikta bulunamam.buna ne terbiyem müsade eder,nede kimseye bir faydasi olur.

    son olarak bana ve umuta ,ukala,cahil,felaket, diye direk hedef gostererek aşağilamada bulunan sizsiniz vede bizim üslübumuzu begenmiyorsunuz. Bu noktada inanin diyecek birşeyim yok.karari okuyucu versin.

    bende sizin üslübunuzu begenmiyorum sinan bey,ogrencilerinze ,cahil,ukala gibi ithamlarda bulunan daha once ne bir asistan,ne bir prof gordum….Burasi Umut Benzer in kişisel blogudur,Ege Universitesinin resmi sitesi degildir.Tarzini begenemediğiniz icin (ki goreceli bir kavram ,ben ve eminim bir cok kisi Umutun üslübundn memnun ve zevk alarak takip ediyor blogunu) kimseye Ukala diyemezsiniz. Bunu da aklinizdan cikarmayin lütfen….Buranin üslüp kurallari sizin kişisel degerlerinizle belirlenmiyor maalesef.Ama sizin blogunuzda yada ege uni resmi forumunda yazsaydik ,nasil bir tarz belirlenecegine karisma hakkiniz olurdu.Burasi kimsei zorla getirdigimiz,okumya ve yazmaya zorladigmiz bir blog degil.

    Ozgur internet dunyasinda fikirlerini herkes baskalarinin ozgurlugunu engellemeden diledigi tarzda diledigi sekilde yazisini yazar..Umut ta bende bunu yapiyoruz.Eger bizim tarzlarimizdan rahatsizsaniz okumama ozgurlugune sahip oldugunuzu hatirlamak isterim.

    Bu yazdiklarim tamamen benim kişisel fikirlerimdir,Umut ne dusunyor bilemem yorumlarimin da onunla hic bir ilgisi alakasi yoktur.Umutun avukati degilim.

  9. Sanırım Sinan haklı bu konuda ayrıca ödev mantıklı görünüyor. Tabii öğrenciler tarafından bakınca onların da haklılık payı var. Bu arada Vicdanın Sesi söylediklerimden sonra zeytinyağı gibi üste çıkması beni şaşırttı.

    Bu arada ben de samimi bir şekilde bi şeyler yazmaya çalışmıştım, amacım birilerine şirin görünüp bazısını üzmek değildi gayem. Öyle anlaşıldıysa kusura bakmayın. Zaten bu bloglarda bir şeyler yazma işinden pek bir şey anlamıyorum.

    Bu arada bir not:

    Aybars hoca sadece bir ödevinden ki 2 sene oluyor en az geçen seneki ödeve benzer bir şeyler sormuştu ve öğrenciler bunu hemen suistimal etmişlerdi. Şu an zaten Aybars hocanın ödevleri bu şekilde değildir. Oradaki eleştiri çoğu öğrencinin birşeyler öğrenmekten çok dersi bir şekilde geçmeye çalışmalarıydı. Bir yanlış anlaşılma da bu konuda olmaması için düzeltmek istedim.

    İyi akşamlar…

  10. Gelecek de karşınıza çıkacak olan sorunlara karşı deneyim, tecrübe ve pratiklik kazanıyorsunuz, eleştirdiğiniz ödevlerle. Bir de bu yönden bakınız. Akademisyenler elbette ki sizden daha iyi bilecek ne de olsa onlar da bu yollardan geçti ve şu anda , o zaman eleştirdikleri ödevlerin faydasını görüyorlar.