Nasıl programcı olunur

Yazar: John Stephens
Yaratılış Tarihi: 1 Ocak Ayı 2021
Güncelleme Tarihi: 2 Temmuz 2024
Anonim
Nasıl yazılımcı olunur? Üniversite şart mı?
Video: Nasıl yazılımcı olunur? Üniversite şart mı?

İçerik

Programcı olmak, zaman içinde becerilerinizi geliştiren biriktirici bir süreçtir ve eğlenceli ve ödüllendirici bir işe (entelektüel, zihinsel ve finansal olarak) dönüşebilir. ). Bu eğitim, size kolayca programcı olmanın sihirli bir yolunu vaat etmiyor ve adımların sıralaması o kadar önemli değil, ancak nasıl bir programcı olacağınızın özünü öğreneceksiniz. modern programlama alanlarından birinde bir programcıya dönüştü.

Adımlar

  1. Aşağıdaki konulardan birinde (veya tümünde) bir giriş kursuna katılın:
    • Mantık
    • Ayrık matematik
    • Programlama Dili (Yeni başlayanlar C ++ / Java / Python öğrenmek için en iyisidir)


    Gene Linetsky, MS

    Startup kurucusu ve teknik direktörü Gene Linetsky, San Francisco Bay Area'da startup kurucusu ve yazılım mühendisidir. 30 yılı aşkın süredir yüksek teknoloji endüstrisinde yer almaktadır ve şu anda işletmeler için akıllı Satış Noktası cihazları üreten bir teknoloji şirketi olan Poynt'ta Teknik Direktör olarak görev yapmaktadır.

    Gene Linetsky, MS
    Start-up kurucusu ve teknik direktörü

    Kodlama derecesine ihtiyacınız yok. Programlama dillerini öğrenmek faydalı olsa da, yazılım mühendisi ve bir girişimin kurucusu olan Gene Linesky şöyle diyor: "Bir derecenin yararlı olup olmadığı tartışmalıdır. orada, programlamayı bir çıraklık süreci olarak düşünebilirsiniz - hatalardan öğreneceksiniz. "


  2. Tablolar, görünümler / sorgular ve prosedürler gibi veritabanı kavramları hakkında bilgi edinin. Bunu yapmak için herhangi bir basit veritabanı paketini kullanabilirsiniz, örneğin:
    • MS Erişimi
    • DB V
    • Fox Pro
    • Paradoks
    • MySQL, ücretsiz olduğu, yaygın olarak kullanıldığı ve veritabanlarına genellikle SQL sorgularıyla erişildiği için öğrenmek için iyi bir veritabanıdır.

  3. Ne tür bir geliştirici olmak istediğinize karar verin. Programcılar genellikle aşağıdaki kategorilerden birine girer:
    • Web geliştiricisi
    • Masaüstü uygulama programcısı
      • İşletim Sistemi odaklı programcı (tek bir işletim sistemi veya işletim sistemi kümesiyle ilişkili)
      • Platformdan bağımsız bir geliştirici
    • Dağıtılmış uygulama programcısı
    • Kitaplıklar / platform / çerçeve / çekirdek programcı
    • Sistem programcısı
      • Çekirdek personel programcısı
      • Sürücü programcısı
      • Programcı derleyici
    • Programcı bilim adamı
  4. Seçtiğiniz programlama alanıyla ilgili teknolojileri ve programlama dillerini araştırın. Sonraki bölümler, farklı programlama türlerinin görevlerini ayıracaktır. İlan

Yöntem 1/6: Web programlama

  1. Web programlamanın neye ihtiyacı olduğunu anlayın. Web uygulamaları, internet mimarisi üzerinde çalışmak üzere tasarlanmış yazılım bileşenleridir. Bu, uygulamalara Firefox veya Internet Explorer gibi bir tarayıcı yazılımıyla erişildiği anlamına gelir. Bu uygulamalar İnternet mimarisinin üstünde yer alır, yani İnternete gerçek bir bağlantı gerektirmez. Bu, Web uygulamalarının aşağıdaki gibi standart web teknolojileri üzerine inşa edildiği anlamına gelir:
    • HTTP
    • FTP
    • POP3
    • SMTP
    • TCP
    • IP protokolleri
    • HTML
    • XML
    • Soğuk füzyon
    • ASP
    • JSP
    • PHP
    • ASP.NET
  2. Genellikle neye benzediklerini görmek için çeşitli sayfalara göz atın. (Sağ tıklayıp ardından Kaynağı Görüntüle'yi seçerek (kaynak kodunu görüntüleyin) veya F12'ye basarak). Gördüğünüz web sayfalarının sayısında değil, web sitesinin türünde / içeriğinde çeşitlilik aramalısınız. Genel olarak, aşağıdaki web sitesi türlerinin her biri için en az bir sayfayı ziyaret etmeniz gerekir:
    • Şirket tanıtım sayfaları (ticari şirketler, kar amacı gütmeyen şirketler / kuruluşlar, devlet kurumları)
    • Web indeksleme araçları (arama motorları, meta arama siteleri, özel arama motorları, dizinler)
    • Veri madenciliği siteleri
    • Kişisel sayfalar
    • Dokümantasyon / ansiklopedi siteleri (Wiki, veri sayfaları, teknik şartnameler ve kullanım kılavuzu dizinleri, bloglar ve dergiler, haber ve haber siteleri, Sarı sayfalar ...)
    • Sosyal siteler (sosyal portallar, yer imleri ve çevrimiçi not alma siteleri)
    • Ortak çalışma siteleri (wiki'ler ve bloglar gibi yukarıdaki kategorilerin tümü dahil)
  3. En az bir beyin fırtınası tekniği / yöntemi ve bunu yapmak için kullanılan bir yazılım parçası öğrenin. Örnekler: beyin fırtınası çizelgeleri ve MS Visio yazılımı.

  4. Site yapısına aşina olun. Bu, kavramsal site haritalarının, site haritalarının ve gezinme yapılarının oluşturulmasıdır.
  5. Yoğun bir grafik tasarım eğitim kursuna katılın. En az bir grafik düzenleme / işleme yazılım paketi öğrenmeye çalışın (Gerekli değil ama şiddetle tavsiye edilir).

  6. İnternet altyapısının temellerini öğrenin. Aşağıdaki temel fikri kavramayı içerir:
    • Yaygın Web hizmeti protokolleri (HTTP, FTP, SMTP ve POP3 veya IMAP4)
    • Web sunucusu yazılımı (tercihen onunla esas olarak çalışacağınız platformun yazılımı)
    • Web tarama yazılımı.
    • E-posta için sunucu ve istemci yazılımı

  7. HTML ve CSS dillerini öğrenin. Ayrıca HTML düzenleme için "Gördüğünüz Şeydir (WYSIWYG) (Ne Görürseniz Onu Alırsınız)" paketine ihtiyacınız olabilir.
  8. XSL ve XPath gibi XML ve XML ile ilgili teknolojileri öğrenin (isteğe bağlıdır, ancak önerilir).
  9. HTML'ye aşina olana kadar basit statik web sayfaları oluşturun.
  10. Bir istemci kodlama dili öğrenin. Çoğu kullanıcı JavaScript'i öğrenir. Diğerleri VBScript öğrenir, ancak çoğu tarayıcıyla uyumlu değildir.
  11. Öğrendiğiniz istemci kodlama dilini öğrenin. Sadece bu dille elinizden gelenin en iyisini yapmaya çalışın. Yalnızca en azından istemci kodlama diline aşina iseniz devam edin.
  12. En az bir sunucu programlama dili öğrenin. Kendinizi bir sunucu yazılımıyla sınırlamayı seçerseniz, o yazılımın desteklediği programlama dillerini öğrenin. Değilse, her sunucu yazılımı için en az bir programlama dili öğrenin.
  13. Sunucu programlama dilini incelemeyi bitirdikten sonra kendiniz için bir pilot proje oluşturun.
  14. Kendi web sitenizi kurun ve kendi internet sitenizi denemeye başlayın. İlan

Yöntem 2/6: Masaüstü Uygulaması Abdominal Programlama

  1. Masaüstü uygulama programlamayla ne yapılacağını anlayın. Çoğu masaüstü kodlayıcı iş çözümleri içindir, bu nedenle işlerini, organizasyon yapılarını ve finansal yapılarını tanımak çok zaman kazandırır.
  2. Farklı bilgisayar donanım mimarilerinin incelenmesi. Dijital devre tasarımında temel bir ders ve bilgisayar mimarisinde başka bir ders ilgi çekici olacaktır. Bununla birlikte, bazı insanlar başlangıçta öğrenmenin oldukça zor olduğunu düşünüyor, bu nedenle iki veya üç dersi okumak (bunun gibi) yeterli. İlk programlama dilinizi öğrendikten sonra bu adıma geri dönebilirsiniz.
  3. Temel bir programlama dili öğrenin (çocuklar için). Sırf "çocuk" denemeyecek kadar yaşlı olduğun için böyle bir dil öğrenmekten utanma. Bu tür programlama dillerine bir örnek Scratch'tir. Bu programlama dilleri, ilk programlama dilinizi öğrenmenin zorluğunu büyük ölçüde azaltabilir. Ancak bu adım isteğe bağlıdır, bunu bir önceki adımdan önce de yapabilirsiniz.
  4. Prosedürel, nesne yönelimli ve işlevsel programlama modelleri hakkında bilgi edinin.
  5. Prosedürel programlama dillerinden birinde temel bir kursa katılın. Daha sonra hangi dili seçerseniz seçin, yine de bir dereceye kadar prosedürel programlamaya ihtiyacınız olacak. Ek olarak, programcılar prosedürel programlamanın genel olarak programlama fikrini kavramak için en kolay başlangıç ​​noktası olduğuna inanırlar.
  6. UML veya ORM gibi en az bir gelişmiş modelleme yöntemi öğrenin.
  7. Küçük bir konsol uygulaması veya buna benzer bir şey yazmaya başlayın. Küçük alıştırmaları programlama dili kitaplarında kullanabilirsiniz. Bunu yapmak için, yazmak istediğiniz programlama diline göre program yazmak için bir araç seçin.
  8. Seçtiğiniz programlama dilinde daha gelişmiş bir kursa katılın. Devam etmeden önce aşağıdaki kavramları anladığınızdan ve görece kolaylıkla uygulayabildiğinizden emin olun:
    • Bir programın kullanıcıları için girdi ve çıktı bilgileri.
    • Prosedürel dillerde programların mantıksal akışı ve yürütme akışı.
    • Değişkenleri bildirin, atayın ve karşılaştırın.
    • İf..then..else ve select / switch..case gibi programlamadaki dal ifadeleri.
    • While..do, do.. while / until, for..next gibi döngü ifadeleri.
    • Prosedür ve işlevleri oluşturmak ve çağırmak için programlama dili sözdiziminiz.
    • Veri türleri ve bunların işlenmesi.
    • Kullanıcı tanımlı veri türleri (kayıtlar / yapılar / birimler) ve kullanımları.
    • Diliniz aşırı işlev yüklemesini destekliyorsa, anlayın.
    • Seçtiğiniz dilin hafıza erişim yöntemleri (işaretçiler, herhangi bir hücrenin içeriğini nasıl okuyacağınız ...)
    • Diliniz operatörün aşırı yüklenmesini destekliyorsa, anlayın.
    • Diliniz işlev işaretçilerini destekliyorsa, anlayın.
  9. Öğrendiğiniz ileri teknikleri uygulayın.
    • Nesneye yönelik model.

  10. Başka bir programlama modelinde en az bir başka programlama dilinde temel bir kurs alın. Her model için bir programlama dili öğrenmelisiniz, çoğu gelişmiş programcı öğrenir. Ancak, genellikle bir dille başlamalı, üzerinde bir süre çalışmalı, bilginizi uygulamalı ve pratik yapmalısınız. Pratik programlama deneyimi yaşadıktan sonra, yeni bir dil öğrenin. Aşağıdaki dil dizilerinden birini deneyin:
    • Mantıksal programlama modeli.
    • Fonksiyonel programlama modeli.

  11. Şimdiye kadar öğrendiğiniz iki programlama dilini karşılaştırmaya çalışalım. Her dilin güçlü ve zayıf yönlerini değerlendirin. Bu genellikle şu şekilde yapılır:
    • İlk programlama dili ile daha önceki basit bir iş modelini alın ve ikinci programlama dilinde yeniden yazın.
    • Yeni bir proje oluşturun ve her iki dilde deneyin. Bazen hangi projeyi seçtiğinize ve seçtiğiniz dile bağlı olarak, bunu iki dilde de yapamazsınız!
    • İki dildeki iki benzer ifadeyi ve her birinin benzersiz özelliklerini hızlı bir arama tablosu veya özet tablosu gibi karşılaştırın.
    • Diğerindeki dillerden birinin benzersiz özelliklerini taklit etmenin bir yolunu bulmaya çalışın.

  12. Öğrendiğiniz dillerden birini kullanarak programlama kavramlarını öğrenin. Çoğu programlama dilinin görselleştirmeyi ve iletişime veya benzerine yardımcı olan diğer programlama türlerini destekleyen sürümleri / kitaplıkları vardır. Bunu şu şekilde yapabilirsiniz:
    • Etkinlik programlama hakkında biraz bilgi edinin. Çoğu görsel programlama, bir dereceye kadar olaylara ve olayların işlenmesine dayanır (seçtiğiniz programlama dilini kullanarak).
    • Mümkün olduğu kadar çok masaüstü yazılımı deneyin ve ne yaptıklarını öğrenin. Çoğu yazılım geliştirme şirketi, yazılımı test etmek için kullanıcılara ürünlerin test (beta) sürümlerini sağlar. Bu nedenle, kullanıcı arayüzü gelişmelerinden haberdar olun.
    • Grafik kullanıcı arayüzleriyle ilgili birkaç makale veya öğretici okuyun.
  13. Bilginizi tasarladığınız küçük yazılım projelerine uygulamaya başlayın. Programlama becerilerinizi her gün karşılaştığınız sorunlara uygulamayı deneyin. Örneğin, dosyaları toplu olarak yeniden adlandırmak için bir program yazın, metin dosyalarını görsel olarak karşılaştırın, bir dizindeki dosyaların adlarını bir bellek / metin dosyasına kopyalayın, vb. Unutma, ilk önce bu kadar basit.
  14. Sanal bir "mezuniyet projesi" oluşturun. Şimdiye kadar öğrendiğiniz görselleştirme tekniklerini uygulayarak projeyi sonuna kadar tamamlayın.
  15. Gelişmiş kurslar alarak, ayrıntılara daha fazla dikkat ederek ve çerçeve için daha fazla ipucu ve püf noktası öğrenerek önceden öğrendiğiniz görsel çerçeveler / kitaplıklar / paketler hakkındaki anlayışınızı genişletin. çalışmalarınız çevrimiçi kaynaklardan.
  16. Programlama diliniz için diğer görsel öğe paketleri / kitaplıkları arayın ve bunları inceleyin.
  17. Bir grafik dersi alın (grafik tasarım değil). İlgi çekici UI öğeleri yazmak isteyen programcılar için çok faydalı olacaktır.
  18. Oyun programcısı olun (isteğe bağlı). Oyun programlama hala büyük ölçüde masaüstü programlama olarak kabul edilmektedir. Oyun geliştirici olmayı planlıyorsanız, bu adımları tamamladıktan sonra oyun programlama hakkında daha fazla bilgi edinmeniz gerekecektir. Oyun programcıları için bir grafik kursu gereklidir ve önceki adımlarda tercih edilen ikinci dil mantıksal / işlevsel bir programlama dili olmalıdır (Prolog veya Lisp seçilmelidir). İlan

Yöntem 3/6: Dağıtılmış Uygulama Programlama

  1. Dağıtılmış uygulama programlama hakkında bilgi edinin. Dağıtılmış uygulama programlama, çoğu kişi tarafından öğrenilmesi en zor programlardan biri olarak kabul edilir ve bilgisayar ve iletişim teknolojileri hakkında zengin bilgi gerektirir.
  2. Ses sistemlerine ve donanımlarına hızlıca göz atın. Bu adım isteğe bağlıdır. Bununla birlikte, ağ topolojilerini anlamak çok yararlıdır.
  3. Merkezi yoğunlaştırıcılar (hub'lar), anahtarlar ve yönlendiriciler (yönlendiriciler) gibi donanım mimarisine ve ağ aygıtlarına aşina olun.
  4. Protokoller ve temel bilgiler üzerine bir kursa katılın. Dağıtılmış uygulamaları programlamaya başlamadan önce Açık Sistem Bağlantısı (OSI) modeli, Ethernet, IP, TCP, UDP ve HTTP'yi iyi anlamanız gerekir.
  5. XML dilini öğrenin ve kendinizi tanıyın.
  6. Komut yorumlayıcısı için bir betik dili öğrenerek başlayın. Windows tabanlı programlama için, Windows Scripting Host ile çalışan herhangi bir komut dosyası olabilir. Linux tabanlı programlama için Bash ve Perl betikleri yeterli olacaktır. Bunun için her iki platformda da aşağıdaki nedenlerden dolayı JavaScript şiddetle tavsiye edilir:
    • Herhangi bir işletim sistemindeki çoğu komut dosyası oluşturma aracı tarafından desteklenir (Windows Komut Dosyası Sistemi varsayılan olarak JavaScript'i destekler, çoğu Linux dağıtımında JavaScript komut dosyası oluşturma iletişim destek paketi bulunur) .
    • Birçok programcı tarafından öğrenmenin daha kolay olduğu düşünülmektedir.
    • İkinci bir programlama dili C, C ++, C #, Java ve J # seçmeniz gerektiğinde diğer birçok programlama diline aşina olmanızı sağlayan ALGOL'den türetilmiş bir sözdizimine sahiptir.
    • JavaScript öğrenerek, web sayfaları için istemci komut dosyası yazmayı öğrenmiş olacaksınız, bu kesinlikle faydalı bir yan etki!
  7. İlk olarak, prosedürel programlamayı yalnızca seçtiğiniz betik dilinde uygulayın. Daha sonra, kodlama dilinize ve desteklediklerine göre daha gelişmiş programlama kalıplarını ve tekniklerini kullanabilirsiniz. Tüm komut dosyası dilleri bir dereceye kadar prosedürel programlama ile ilgilidir.
  8. Makineler arasındaki iletişimi yapan komut dosyaları yazmak için öğrendiğiniz komut dosyası dilini kullanın. Bunu yapmak için ne yapılması gerektiğini öğrenin. Sadece basit iletişim bilgileri yeterlidir.
  9. Bir masaüstü programlama / komut dosyası diline geçin. Best, Python gibi çok paradigmalı bir dildir. Bu ikinci dil hakkında ön çalışma. Java, pek çok nedenden dolayı çoğu programcının tercih ettiği dildir. Bununla birlikte, C # bu dizide daha hızlı momentum oluşturmaya yardımcı olur. Java ve C # aşağıdaki nedenlerden dolayı tercih edilmektedir:
    • Büyük gruplardaki programcıların parçaları uygulamaktan kaçınmalarına yardımcı olan nesne yönelimli programlama dilleridir, çünkü hepsi bileşenleri destekleme yeteneğine sahiptir (yani, kod birimleri, sınır belirli bir görev için yapılan çeviri diğer programlarda kullanılabilir)
    • Olay odaklı programlamanın yanı sıra OO (nesne yönelimli) ve prosedürel programlamayı bir dereceye kadar desteklerler.
    • Dilin üzerine inşa edildiği çerçeve, dağıtılmış bir yapı ile karakterize edilir (Java durumunda).
    • Ağ iletişimi için açık kaynak kodlu veya çerçeveye yerleşik önceden hazırlanmış programlama paketleri vardır; Bu, geliştiricilerin diğer kişilerin ürünleri üzerinde çalışmasını kolaylaştırır.
  10. Temel dil özelliklerine, özellikle ağ iletişimini destekleyenlere daha fazla odaklanın. Çalışma penceresi için bilgi çıkışı, tasarım ve teknikler ve UI öğeleri gibi UI öğelerine daha az dikkat edin.
  11. Dağıtılmış bir uygulama mimarisi ve tasarım eğitimi kursuna katılın. Kitaplar, çevrimiçi eğitimler veya akademik kurslar aracılığıyla çalışabilirsiniz. Her iki durumda da, dağıtılmış uygulamaların mimarisini ve konseptlerini kavramanız gerekir.
  12. Hizmet bileşenlerini nasıl oluşturacağınızı ve seçtiğiniz programlama dilini nasıl kullanacağınızı öğrenin.
  13. Aşağıdaki teknolojilerden birini veya birkaçını öğrenin. En azından hepsinden geçmelisin. Dağıtılmış uygulama geliştiricilerin çoğu, yalnızca bir veya iki programlama dili değil, aynı zamanda işletim sistemi başına en az bir programlama dili öğrenir. Bunun nedeni, uygulamanızın "dağıtılmasını" istiyorsanız, her popüler işletim sistemi için en az bir sürümünü sağlamanız gerektiğidir.
    • Ortak Nesne İsteği Aracı Mimarisi (CORBA)
    • Basit Nesne Erişim Protokolü (SOAP)
    • Eşzamansız JavaScript ve XML (AJAX) (eşzamansız JavaScript ve XML)
    • Dağıtılmış Bileşen Nesne Modeli (DCOM) (Dağıtılmış Bileşen Nesne Modeli)
    • .NET Remoting (Uzaktan hesaplamayı işleme çözümü)
    • XML Web Hizmetleri
    İlan

Yöntem 4/6: Kitaplık / Platform / Çerçeve / Çekirdek Programlama

  1. Çekirdek programlamanın ne olduğunu anlayın. Çekirdek programcılar, programlama uygulamalarını diğer programcılar tarafından kullanılmak üzere programlama kodu birimlerine dönüştüren yalnızca gelişmiş programcılardır.
  2. Henüz yapmadıysanız, yeniden kullanılabilir bileşenler / paketler oluşturmaya yardımcı olan bir programlama dili öğrenin.
  3. UML ve ORM'de ileri düzey bir kursa katılın. Çoğu kütüphane geliştiricisi bunlardan birini veya her ikisini birden kullanır.
  4. Yazılım mühendisliği kursuna katılın.
  5. En azından modüler, bileşen tabanlı, nesne yönelimli ve olay güdümlü programlama kavramlarını ve tekniklerini öğrenin. Ne kadar çok programlama modeli ve dili anlarsanız, bir kitaplık / paket geliştiricisi olarak o kadar başarılı olursunuz.
  6. Bunlar tarafından desteklenen farklı işletim sistemleri ve programlama çerçeveleri hakkında daha fazla bilgi edinin.
  7. Öğrenme çabalarınızı platformdan bağımsız çerçevelere, programlama dillerine ve teknolojilere odaklayın.
  8. Şimdiye kadar okuduğunuz dillerde ANSI / ISO / IEEE / W3C standartlarının sürümleri varsa, standartlara hakim olun. Mümkün olduğunca standart kodları kullanmaya çalışın.
  9. Önceden yapılmış basit kitaplıkları, özellikle de açık kaynak kitaplıklarını taklit etmeyi deneyin. Bu, bir kütüphane / paket geliştiricisi olmanın ilk aşamalarında kullanışlıdır. Ara bilimsel hesaplama ve birim dönüştürme paketleri gibi basit paketlerle başlayın. Öğrenciyseniz, denklemlerini uygulamaya ve bilimi kütüphaneler olarak çoğaltmaya çalışarak programlama dışı disiplinlerden yararlanın.
  10. Programlama alanınızda açık kaynak paketleri arayın ve deneyin. Önce paketin ikili / çalıştırılabilir dosyalarını indirin. Kullanmayı deneyin ve güçlü ve zayıf yönlerini bulun. Bittiğinde, kaynak kodunu indirin ve nasıl yapıldığını bulmaya çalışın. Bu kitaplıkları veya bir kısmını yeniden oluşturmayı deneyin. Her şeyden önce, kaynak kodunu gördükten sonra yapın ve sonra kaynak kodunu görmeden önce yapın. Daha sonraki aşamalarda, bu kitaplıkları iyileştirmeye çalışın.
  11. Programcılara bileşenleri dağıtmak ve dağıtmak için farklı yaklaşımları inceleyin.
    • Çoğu zaman, kütüphane / paket programcıları kendilerine sunulan tüm problemler hakkında özyinelemeli ve / veya tekrar tekrar düşünme eğilimindedir. Her problemi daha küçük problemlerin bir koleksiyonu (bir dizi daha basit görev) veya problem kapsamını daha küçük kapsamlara indirmenin yinelemeli bir süreci olarak düşünün ve ardından Aralıkları üst üste istifleyin.
    • Kütüphane / paket geliştiricileri genelleme eğilimindedir. Bu, kendilerine basit ve belirli bir problemle sunulduğunda, genellikle daha genel bir problemi düşünürler ve bu genel problemi, daha küçük problemleri otomatik olarak çözecek şekilde çözmeye çalışırlar.
    İlan

Yöntem 5/6: Sistem Programlama

  1. Sistem programlamanın ne gerektirdiğini anlayın. Sistem programcısı, programlamanın özel uygulamaları ile değil, programlamanın "bilimi" ile ilgilenir. Kendinizi belirli bir geçmişe bağlamayın.
  2. Masaüstü Uygulama Programcısı olmak için ilk üç adımı izleyin.
  3. Doğrusal Cebir üzerine bir giriş kursuna katılın.
  4. Bir Bilgisayar Kursu Alın.
  5. Ayrı bir Matematik ve / veya Mantık kursuna katılın.
  6. Kendinizi farklı temel işletim sistemlerine alıştırın. Bu şu şekilde yapılabilir:
    • İşletim sistemlerinin nasıl kurulduğunu anlayın.
    • Bir bilgisayara farklı işletim sistemlerinin nasıl kurulacağını öğrenin (isteğe bağlıdır, ancak önerilir).
    • Birden fazla işletim sistemi kurun. Sisteme başka bir eklenti kurmayın; bunun yerine yalnızca işletim sistemi tarafından sağlanan temel işlevleri kullanın.
  7. Bilgisayar donanımı mimarisi hakkında bir kursa katılın (veya belki bir kitap okuyun) [[.
  8. Farklı bilgisayar donanımı platformları hakkında anlayış geliştirin.
  9. Seçtiğiniz işletim sistemi / donanım platformunun montaj diliyle başlayın. Daha sonra diğer işletim sistemleri / platformları için daha fazla montaj dili öğreneceksiniz.
  10. Yordamsal kavramların yanı sıra ANSI C ve C ++ dillerini öğrenin.
  11. Seçtiğiniz platformda standart C / C ++ kitaplıklarını anlayın ve uygulayın. Standart Şablon Kitaplığı'na (STL) ve muhtemelen Etkin Şablon Kitaplığı'na (ATL) özel dikkat gösterilmelidir.
  12. Seçtiğiniz platformda C'nin özelliklerini anlamak için çevrimiçi kaynakları, kitapları ve kursları arayın.
  13. C ve C ++ ile gelişmiş kod oluşturmayı uygulayın.
  14. Daha gelişmiş assembly dili öğrenin.
  15. İşletim sistemi tasarımı konusunda bir kurs alın.
  16. Seçtiğiniz belirli platformda materyal bulun ve okuyun. Unix tabanlı bir işletim sistemi seçerseniz bu daha kolay olacaktır. Daha sonra üzerinde çalışacağınız sisteme hakim olun.
  17. Ne kazandığınızı uygulayın. Önce bazı küçük sistem yardımcı programları oluşturalım. Genellikle şu durumlarda yardımcı olur:
    • Sisteminizde bulunan küçük araçları yeniden oluşturmayı deneyin.
    • Diğer işletim sistemlerinde bulunan yardımcı programları kendi işletim sisteminize taşımayı deneyin.
  18. Dilleri en yararlı oldukları sırayla öğrenin. Bu, ilk programlama dilinin anlamının öğrenildiği tek dizidir.Önce C ++, C #, Java veya D değil ANSI C öğrenin. Ardından C ++ öğrenin.
    • İlk dili C ve yalnızca C ile sınırlayın çünkü programlama sistemleri, programcıların aşağıdaki kavramlara aşina olmasını gerektirir:
      • Gerçek ve tüm kaynak kodunu derleyin.
      • Düşük seviyeli nesne çıktı dosyaları.
      • İkili bağlantılı kodlar.
      • Düşük seviyeli makine dili / montaj dili programlama. Birçok insan C dilinin hem alternatif hem de assembly dilini öğrenmenin daha kolay olduğuna inanır. Ayrıca, istediğiniz zaman koda montaj kodu eklemeyi de destekler ve sadece prosedürseldir (montaj gibi).
    İlan

Yöntem 6/6: Programlama Bilimi

  1. Bir programcının ne yaptığını bilin. Programlama bilim adamları, uygulamalar geliştirmek yerine kodlama, programlama dilleri ve veri madenciliği algoritmaları gibi hesaplama teknolojileri geliştiren çok gelişmiş programcılardır. Bu derece, derinlemesine akademik araştırma yapılmadan nadiren elde edilir.
  2. Kümülatif bilimsel bilgi, bilgisayar bilimlerinde 4 yıllık bir dereceye eşittir. Bu, aşağıdaki yollardan biriyle başarılabilir:
    • Gerçek bir akademik derece alın (bu genellikle böyledir).
    • Mevcut üniversitelerden birinden böyle bir derece için bir kurs planı bulun ve konuları kendi başınıza inceleyin veya özel kurslar alın. Teorik olarak bunu başarabilirsiniz, ancak ilk yoldan gitmelisiniz.
  3. Özel bir dizi seçin. Daha spesifik olun, daha iyi. Bu, tercihinize bağlıdır. Bununla birlikte, bilgisayar programlama bilimindeki ana konuların bir listesi aşağıdadır:
    • Tasarım algoritmaları (iletişimdeki hataları bulma, sınıflandırma, kodlama, çözme ve algılama hataları birkaç örnektir)
    • Programlama dillerinin / derleyicilerin tasarımı / optimizasyonu
    • Yapay zeka dizileri (örüntü tanıma, konuşma tanıma, doğal dil işleme, sinir ağları)
    • Robotik
    • Bilimsel programlama
    • Süper hesaplama
    • Bilgisayar destekli tasarım / modelleme (CAD / CAM)
    • Sanal gerçeklik
    • Bilgisayar grafikleri (Bilgisayar grafikleri, genellikle grafik tasarım veya grafik kullanıcı arayüzü tasarımı ile karıştırılır.) Bilgisayar grafikleri, bilgisayar sistemlerinde grafiklerin nasıl temsil edileceği ve işleneceği üzerine çalışma alanıdır. hesaplama).
  4. Daha yüksek bir akademik derece almayı düşünün. Bir yüksek lisans veya doktora eğitim programına devam edebilirsiniz.
  5. Seçtiğiniz programlama alanıyla ilgili programlama dillerini ve teknolojilerini öğrenin. İlan

Tavsiye

  • Ne tür bir programlamayı denemek isterseniz isteyin ve hangi seviyeye ulaşmak istiyorsanız, yerel okulunuzda veya toplum kolejinizde dersler almayı düşünün. "Bilgisayar Bilimi" gibi terimler sizi korkutmasın. Başlangıç ​​gereksinimleri veya gereksinimleri gerektirmeyen aldığınız herhangi bir sınıf, programlamanın temellerini öğretmeye odaklanacaktır, ancak yine de daha önce eğitmeninize veya mentorunuza danışmalısınız. "Bilgisayar Becerileri" gibi sınıflar daha çok ofis uygulamalarına veya benzeri bir şeye alışmaya odaklanabileceğinden, aradığınız şeyin bu olduğundan emin olun.