13 Mayıs 2012 Pazar


ÜNİVERSİTE BİTİRME TEZİM
Bir önceki yazımda belirttiğim gibi, üniversite bitirme tezimle ilgili yazıma başlıyorum. Bu yazımın amacı, bitirme tezimi anlatmak değil, o yıllardaki bilişim teknolojileri hakkında genç bilişimci arkadaşlarıma bilgi vermektir. Bu yazıyı sadece onlar için yazdım.
Bundan sonraki yazılarımda, mesleğimle ilgili veya teknik bir yazı yazmayacağımı belirttim, bu konuda bu son yazım olacak. Tüm yazılarım, ilk yazdığım blog yazım gibi yada hayatın içinden bir şeyler olacak.


Başlıyorum,
                O yıllarda, üniversitelerde Bilgisayar Mühendisliği  henüz eğitime başlamamıştı. Matematik Mühendislerine son sınıfa gelene kadar (Matematik Mühendisliği, matematiğin uygulama alanları demek  olduğu için)  matematiğin geçtiği her konuyu ders olarak okuttular. İktisat, işletme ekonomisi, ekonometri, mühendislik dersleri, devre analizi, otomatik kontrol, matematik, mekanik, sistem (bilgisayar programlama ve sistem analizi, tasarım) dersleri okuttular.
Son sınıfta Matematik Mühendisliği üç bölüme ayrıldı. Son sınıfa gelene kadar, okutulan matematik derslerinin  ortalaması en yüksek olanlar son sınıfta bitirme ödevini matematik konulu, mekanik derslerinin  ortalaması daha yüksek olanlar  fizik konulu, sistem  derslerinin  ortalaması daha yüksek olanlar  sistem konulu bitirme tezi  almak zorundaydılar. Bitirme tezi konuları fakülte tarafından panoya  asıldı, bizde seçim yaptık. Toplamda 64 ders okuduk. Bu 64 ders içinde, sistem(bilişim) dersleri  oldukça fazlaydı.  
 Böylece bir Matematik Mühendisi, neden bilgisayarla ilgili bitirme tezi alır sorusunu da  yanıtlamış oldum.
Üniversite bitirme tezim, “Maliyet Muhasebesinin Bilgisayara Uyarlanması”  konusuydu.
Yukarıdaki çok özet bilgiden sonra, aşağıda yazdıklarımı genç bilişimci arkadaşlarımın okumasını  tavsiye ederim. 
Anlatıyorum.
O zamanki  büyük bir lastik fabrikasında, tüm üretim süreçlerinin analizini yaparak mamul-ebat maliyetlerini  çıkarmak için çalışma yaptım. Yani traktör lastiği maliyeti, binek oto lastiği maliyeti, kamyon lastiği maliyeti gibi.
Bunun için 2-3 ay fabrikaya gittim, zaman zaman fabrikada kaldım. Maliyete etken tüm süreçleri çıkardım.
Sıra geldi bu analizin programlamasına,
FORTRAN  programlama dilini ders olarak okuduğumuzdan, bu dili kullanarak  programlama yaptım.
Esas anlatmak istediğim bundan sonrası aslında, fakat bundan önceki bilgileri vermeseydim eksik bir şeyler kalacaktı.Bu yazıma aslında buradan itibaren başlamam gerekiyordu, bundan öncesini okumasanız da olurdu.
Peki üniversite bitirme tezim ile ilgili programı nasıl yazdım, o tarihte masaüstü bilgisayarlar yok, laptoplar yok.
İstanbul Teknik Üniversitesinin Maçka binasında, merkezi  tek bir bilgisayar vardı.
Taşkışla binasında kart delme makinaları vardı.
Delinecek kartları (fotoğrafta) Kırtasiyecilerden satın alıyorduk.

Bu kısmı iyice anlatmak için önce şimdiyi anlatayım.
Bir program yazmak için laptopumuzu açarız, programı yazmak için o programlama dilini yazacağımız ortama gireriz, programı yazarız, bu diyelim ki 1000 satırlık bir program olsun.
Sonra bu programa bir isim veririz, çalışması için bu programı derleriz  ya da diğer ismi ile compile ederiz, ya da create ederiz. Program çalışmaya hazır hale gelir. Bu yazdığımız program örneğin stokları bulacaksa, gider stok dosyasından stok kayıtlarını okur ya da kar zararı bulacaksa, gider muhasebe dosyalarından ilgili kayıtlar okur, hesaplamaları yapar ve kar zararı verir. Ekrana görüntü olarak da getirebilir, isteniyorsa kağıda liste halinde çıkarabilir.
Şimdi  bitirme tezimi yazdığım zamana dönüyorum.
İşin analizini yaptıktan sonra, algoritma ve yöntem oluşturduktan sonra, sıra programı yazmaya geldiğinde,  programı önce defter kağıdı üzerine yazıyorduk, yazılan bu programı bilgisayar ortamına aktarmak için, kırtasiyecilerde satılan delikli kartlar vardı (fotoğrafta).

1000 satırlık bir program için 1000 adet delikli kart satın alıyorduk, aslında 1500 adet alıyorduk,
diğer 500 adet delikli karta verileri deliyorduk. Mesela hesap planı için şimdi, dosyalardan okunuyor, o zaman bu dosyadaki bilgileri, verileri, kartlara delip bilgisayara tanıtıyorduk.
 Sonra bu 1000 adet delikli kartı yanımız alıp Taşkışla binasına gidip kart delme makinalarının başına oturuyorduk (dersler varken bunu yapamazsınız, boş zamanlarda yapabiliyorduk). Programdaki (defter kağıdına yazdığımız) her satırı, bir delikli kartlara (fotoğrafta) yazıyorduk.
Delikli karta nasıl delinir ve bu kartlar ne işe yarar ?
Taşkışla binasında, daktiloya benzer fakat daktilodan çok daha büyük bir kart delme makinası vardı.
İlk önce deleceğimiz kartı buraya yerleştiriyorduk. Sonra makinanın tuşlarını daktilo gibi kullanarak bu kartı deliyorduk. Örnek olarak, program  satırında “READ DOSYA”  yazsın.  Biz  tuşlardan “R” ye bastığımızda delikli kartta, mesela farklı 3 delik açılsın, bu 3 delik R harfi demek yada “E”  bastğımızda kart delme makinası kartta farklı yerlerde 2 delik açıyordu, bu “E” demekti (fotoğrafta )
Bu kartlara, kart delme makinasında programın her satırını tek tek işliyorduk. Sonra bu 1000 adet kartı alıp Maçka'daki ana bilgisayar binasına gidiyorduk.  
Bundan sonrası daha da ilginç
Ana bilgisayar binasında iki operatör çalışıyordu. Sistem odasının hemen önünde bir camekan vardı. Yazdığımız programı, delikli kartlara delerek, bu örnekte 1000 adet delikli kartı, camekanın önüne koyuyorduk. Bu işlemi günde en fazla 2 kere yapabilirdik, öğleden önce ve öğleden sonra.
Bu şu demek :
Operatörler, bu 1000 adet delikli  kartı alıp, bilgisayara tanıtmak için ana bilgisayarın kart okuma gözüne yerleştirirlerdi. Yani bu yükleme, şimdiki derleme (compile, create) etmek oluyor. Biz şimdi bir programı onlarca kez derleyebilirken, o zaman günde sadece iki kere derlenebiliyordu. Öğleden önce, öğleden sonra.
Diyelim ki sabahtan programımızı kartlara delip camekanın önüne koyduk, operatörlerden bunu sisteme yükleyerek compile etti. Delikli kartlara delerken bir kartta yanlışlık yaptığımızda mesela “E” yerine “A” yazdığımızda, camekanın önünde bir sayfalık , ana bilgisayarın verdiği bir liste oluyordu. Burada program kod hatalarını görebiliyorduk. Şimdi programı yazdığımızda hatalı kodu derlediğimizde yada compile ettiğimizde compile veya derleme listesinde görüp, hemen programa gidip “A” yı “E” yapıp hemen yine derleyebiliyoruz. Bu işlem bizim birkaç saniyemizi alıyor.
O tarihte düzeltmeyi şöyle yapıyorduk. Camekanın önünden hata listesini alıp hangi satırda hatalı kodlama yaptıysak, o satırlardaki kartları yerinden çıkarıp, bunların yerine yenisini delmek için tekrar Maçka binasına gidiyorduk. Bu hatalı satırları tekrar düzgün delip Mesela “READ” yerine “REED” yazdıysak bunu düzeltip tekrar Taşkışla binasına geliyorduk ve öğleden sonra bizim kartlar  bilgisayara yükleniyordu. Yani ikinci kez compile veya derleme işlemi yapılıyordu.
Programda hiç kodlama hatası yoksa ve mantık hatası da yoksa camekanın önünde sayfalarca print out yada liste görebiliyorduk. Benim örneğimde lastik ebad maliyetlerini veren listeler.
Sonra bunu kitap haline getirip fakülteye teslim ettik, sonrasında heyet önünde sözlü olarak savunduk, soruları cevapladık.
Özet olarak, hem dosyalardaki verileri hemde program satırlarını delikli kartlara delip sisteme okutuyorduk. Listeleri veya program sonucunu bu şekilde alabiliyorduk.Günde iki kere derleme olanağımız vardı. Debug olanağımız hiç yoktu (mantık hatalarının tespiti).
SONUÇ: Şimdiki  bilişimciler hem program kodlamada hem debug yöntemlerinde hemde test ve hata ayıklamada, kısaca program yazma süreçlerinin her aşamasında çok şanslılar.     
Bülent Baykal

Hiç yorum yok:

Yorum Gönder