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.
En az beş altı defa çöktü. Ve biz bu IDE’de yılan yazdık!
Daha 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.
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.
- Ödev Metni
- Proje Raporu
- Bizim Çözümümüz (snake.asm)
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
Makine Kodu ile Red Alert 3 Yazdık 22 yorum aldı.
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.
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
ü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??
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
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.
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.
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.
@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
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.
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…
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.
Almanya’da nasıl ehliyet aldım?
‘de, da’ eki nasıl yazılır?
PSD (Photoshop) Dosyalarında Önizleme
Harici monitör parlaklığı klavye ile nasıl değiştirilir?
Almanya’da nasıl ehliyet aldım?
Bir şirket neden uzaktan çalışmaya (remote working) izin verir?
-de -da eki ne zaman ayrı yazılır?
Almanya’ya gelmek için yapılan bürokratik işlemler