it-swarm.asia

Bilgisayar Bilimleri mezunuyum ama nasıl programlayacağımı bildiğimi düşünmüyorum

Bir Bilgisayar Bilimi derecesi ile mezun oluyorum ama Stack Overflow gibi web siteleri ve Google gibi arama motorları görüyorum ve böyle bir şey yazmaya nereden başlayacağımı bile bilmiyorum. Bir yaz boyunca bir iPhone geliştiricisi olarak çalışma fırsatım oldu, ancak çoğunlukla diğer insanların yazdığı kütüphaneleri, kaputun altında gerçekleşen mekaniği çok az anlama ile birleştirdiğimi hissettim.

Algoritmaları inceleyerek bilgimi geliştirmeye çalışıyorum, ama bu uzun ve acı verici bir süreç. Algoritmaları zor buluyorum ve kitaptaki materyale hakim olmadan önce on yıl geçtiğini öğreniyorum. Mevcut durumum göz önüne alındığında, iş aramak için bir ay geçirdim ama becerilerim (C, Python, Objective-C) nispeten sığ ve C #, Java ve web geliştirmenin çok daha yüksek olduğu yerel pazarda çok arzu edilmiyor aranılan. Bu C ve Python fırsatların mevcut olmadığı anlamına gelmez, ancak sahip olmadığım 3 yıldan fazla deneyim talep etme eğilimindedirler. Benim GPA tamam (3.0), ancak IBM gibi büyük şirketlere başvurmak veya lisansüstü eğitim için geri dönmek için yeterince yüksek değil.

Temelde Bilgisayar Bilimleri bölümünden mezun oluyorum ama nasıl programlanacağımı öğrendiğimi düşünmüyorum. Bir şirkete katılmanın ve tam zamanlı programlamanın becerilerimi geliştirme ve kendimden daha deneyimli olanlardan öğrenme şansı vereceğini düşündüm, ancak iş bulmakta zorlanıyorum ve gerçekten sinirlenmeye başlıyorum.

Ağımı daha geniş bir alana dökeceğim ve büyüdüğüm şehrin ötesine bakacağım, ancak benzer durumdaki diğer insanlar ne yapmaya çalıştı? Çok çalıştım ama kendi başıma çıkıp kendi uygulamamı yazmak için kendime güvenmiyorum. (Yani, iPhone uygulama pazarında bağımsız bir geliştirici olun.) Hiçbir şey ortaya çıkmazsa, daha popüler becerileri yükseltmeyi ve öğrenmeyi veya BT gibi marjinal olarak ilgili bir şey denemeyi düşünmeliyim, ancak bu çabalarım göz önüne alındığında, dışarı çıkmak gibi.

1050
wp123

Vay be ... birçok ilginç yorum iyi.

Programlamayı tek başıma öğrendim, bu demek zorunda değilsiniz. Oğlum üniversiteye gidiyor ve bitirmek üzere. İlk mezun olduğunuzda iş bulmak her zaman zordur.

Ders sırasında basit programları ne zaman yaptınız? İlk başta yaptıysanız, doğru yerde olabilirsiniz, eğer belgeleri yazmak isterseniz gereksinimleri yerine getirmiyorsanız.

Daha fazla şey öğrenmek istiyor gibi görünüyorsunuz çünkü iPhone'ları bir araya getirme deneyimini beğenmediniz. Bu iyi bir işaret, kötü bir işaret değil.

Bir sonraki iş bulmak, Büyük bir şehirde veya ülkede yaşıyor olmanıza bağlıdır.

Kendi küçük sitenizi oluşturarak HTML öğrenin. Bir web dili seçin ... (PHP, ColdFusion, DotNet) Birkaç basit site oluşturun.

Size bir iş sunacak herhangi bir web geliştirme işi veya programlama işi alın. İlk başta $$ hakkında endişelenmeyin. Amacınız iş programlama. Kendi projenizle evde programlamak zordur. Ancak iş yerinde bir şey yapmak için gerekli olduğunda çok daha fazla çalışma eğilimindedir ve eğlenceli olmadığını fark ederseniz, farklı bir BT kariyer seçin. Olur.

HERHANGİ bir iş al ... öğreneceksin ... eğer hoşuna giderse üstesinden geleceksin.

Nasıl programlayacağımı bilmiyordum, bu çok iyi bir işaret. Çok kötü kodlama eğiliminde olduklarını bildikleri ve yaptıkları hiçbir şeyi belgelemediklerini düşünenlerle çalışmaktan nefret ediyorum.

Umarım yorumlarım diğer tüm harika yorumlarda size yardımcı olur.

1
Nathan Stanford

Yazılım geliştirme kariyerinize bilgisayar bilimleri alanında bir temel ve bunun için gösterme derecesi ile mi başlıyorsunuz ?! Ne kadar harika!

Bir iş bulma ve yazılım mühendisliği için gerekli becerilere sahip olmama konusunda endişeleriniz olsa da, ile CS derecesi, aynı yerde olduğunuzu düşünün olmadan CS derecesi. Tam olarak bir yıl önceydi.

VBA kullanarak Excel ve Access'te monolitik makrolar oluşturarak dişlerimi programlamada kestim ve yol boyunca küçük bir SQL almayı başardım. Yaklaşık bir yıl önce, yazılım geliştirme alanında bir kariyere başlamak istediğime karar verdim, ancak CS derecesi olmayan bir iş bulabileceğimi hayal edemedim (felsefede, her şeyde BA'm var) ve sıfır "profesyonel "geliştirme deneyimi. Aklı başında kim beni işe alır?

Odak noktası iş uygulamaları yazmak olan bir iş bulmaya odaklanmaya karar verdim, bu yüzden .NET ve C # becerilerimi geliştirmeye karar verdim. 9 ay önce hiçbir zaman tek bir satır .NET kodu yazmamıştım. Ama içeri girdim; ve başımın üzerinden geçtim; Mücadele ettim; Bulabildiğim kadar çok kullanıcı grubuna gittim; Kodlama ile ilgili blogları okudum; Stack Overflow'da kendimi utandırdım (ve hala yapıyorum); Tonlarca podcast dinledim ki orada olanlara aşina olabildim. Yine de geride hissettim, ama Sonunda bir şey yapamadığım korkusunu yenmiştim.

2,5 ay önce, ilk işimi profesyonel bir geliştirici olarak indirdim ( ilgilendiğiniz takdirde işi blogumda nasıl bulduğumu yazdım . Şimdi VB.NET, VB6 ve javascript kodlama yapıyorum ve her gün programlama hakkında tonlarca öğrenmeye devam ediyorum. Ama bir iş bulabilirsem CS derecesi olmadan, becerilerinizi geliştirebileceğinizden ve bir tane de bulabileceğinizden eminim.

1
Ben McCormack

Bunun gerçekten okunup okunmayacağını bilmiyorum, ama eşik ihtiyacını oraya koyuyorum.

Üniversite bana çok şey öğretmedi. Bazı temel programlama ve veri yapıları. Akıllara durgunluk veren bir şey yok. Ancak bana en iyi nasıl öğrendiğimi gösterdi. Buradaki birçok gönderiyle aynı olanı yaparak öğreniyorum. Ayrıca, bir ahşap işçisinin ahşaptan bir şeyler yaratmayı sevdiği gibi kod yoluyla bir şeyler oluşturmayı sevdiğimi de öğrendim. Bu iki şey arasında, öğrenmek için bir şeyler yapmaya zaman ayırdım.

Bir işveren bir üniversite mezunundan ne aldığını bilir. Mezunun çok şey bilmediğini biliyorlar. Ancak bazı işverenler buna bayılır çünkü o zaman yeni insanı kültürlerine ve zihinlerine göre şekillendirirler. Sizi yuvarlamak için ipleri öğretecekler. Sadece öğrenmeye hazır olun. Bunun iniş ve çıkışları var.

Terleme. BT endüstrisi son dönemdeki gerilemeden en az etkilenen sektörlerden biriydi. İşler var. Çalıştığım şirket bir sürü yeni mezun aldı. Hile onları buluyor.

İyi şanslar.

1
Tony

Kendim için ne hissettiğimi ifade ettin. Neredeyse Bilgisayar Bilimi mezunuyum ve çoğumuz teorik algoritmalar öğrendim ve çok az ilginç proje geliştirdim. Ama Keith Nicholas'ın dediği gibi

Daha iyisini yapmaya eğilimli insanların, kariyerlerinin başlarında becerilerini kendi zamanlarında geliştirme çabası içinde olduklarını görüyorum. Genellikle yazılım geliştirme konusunda gerçekten tutkulu oldukları için.

Bu önemli noktayı kaçırdım ve benden Üniversitede ne yapmamı istediklerini yaptım. Bu benim ilk adımım olacak.

Daha fazla bir şey yapmaya çalıştığım an için söylediğiniz kadar tekrar hissediyorum:

Diğer insanların yazdıkları kütüphaneleri, mekaniği çok az anlamakla birleştirdiğimi hissettim.

Gönderiniz ve "bize" yazdıkları birçok cevap, tavsiye ve bağlantı için minnettarım.

1
soneangel

Kontrol edin http://greatmaps.codeplex.com/ . Başlangıçta nasıl yapılacağına dair hiçbir fikrim yoktu;} Yani basitçe yaparak yapıyorsun.

PS. 'Resmi' derecem yok, zaman kaybım var.

1
radioman

+1. İlgi çok önemlidir ve kodlama bazen daha fazla sabır gerektirir!

1
Fisher

İki şeyi aklınızda bulundurun:

  1. Bir Bilgisayar Bilimi programında nasıl programlanacağını (uygulamalar) öğrenemezsiniz. Gerçek hayattaki uygulamalar bir ya da iki haftalık "ısırık büyüklüğünde" ödev problemleri değildir. Gerçek bir yaşam uygulamasını başlatmak ve çalıştırmak çok planlama ve koordinasyon gerektirir. Bu alışkın olduğunuzdan farklı bir zihniyet, ama güven bana oraya varacaksınız.

  2. Belki şimdi işler farklıdır; ama üniversiteye gittiğimde profesörlerimden sadece iki ya da üç tanesi programcı olarak çalıştı (lisans ve lisansüstü). Belki de uygulama programlama için hazırlıksız hissediyorsunuz çünkü gerçek uygulamalarda hiç çalışmayan insanlar olmanız öğretildi. Bu öğrendiklerin işe yaramaz olduğu anlamına gelmiyor ... uygulama oluşturmak için programlamaktan çok daha fazlası var. Bu sadece öğrenecek daha çok şeyiniz olduğu anlamına gelir. Ve sorun değil, öğrenmeyi asla bırakmayacağınız bir alana giriyorsunuz.

1
Giovanni Galbo

Sadece öğrenmeye devam edin ve güveninizi kazanacaksınız :)

1
joven

Yaklaşık bir yıl içinde aynı teknede olacağım arkadaşım (kabaca 2011/2012). Okulumuz Java'da gelişim öğretirken, boş zamanımın çoğunu ASP.NET, PHP, Ruby, TDD, MVC, DDD vb. Kod alma ve milyonlarca kullanıcıya potansiyel olarak yardımcı olabilecek bir şey haline getirme ve para kazanma yeteneği hakkında bir şey var. Bana sorarsan bir sanat gibi.

Sadece pratik yaparak daha iyi olabilirsiniz. Herhangi bir zamanda web projelerim, winform projelerim, WPF'ler ve daha fazla projem aynı anda devam ediyor, bu yüzden sıkılmıyorum. Bu projelerin pazarlanan ürünler olması bile gerekmez (ancak potansiyel olarak olabilir). Esas olarak farklı teknolojileri öğrenmeme yardımcı olmak için.

Sana iyi şanslar!

1
Jack

Ben bir ya da iki kişisel projeye takılmayı önerecek biriyim.

Kişisel olarak hiçbir resmi programlama yeterliliğim yok, bilgisayar bilimi olmayan öğrenciler için birkaç lisans programından başka - uzmanlık alanım aslında makine mühendisliğindedir.

Bundan bahsetmemin sebebi, şu anda, programlamanın tek sorumluluğum olduğu büyük bir araştırma kuruluşu için yazılım mühendisi olarak çalışmamdır. Nasıl? Çünkü sadece hobi olarak programlamak için olağanüstü miktarda deneyim kazandım. Boş zamanlarımda ne kadar uğraşmamın işimi indirmeme yardımcı olduğunu yeterince vurgulayamıyorum.

Karşılaşmaya çalıştığım şey, gerçek programlama yaparak öğreneceğinizin alabileceğiniz en değerli deneyimlerden biri olması ve resmi bir kursun parçası olması ya da sadece yedeklemenizde karışıklık yapması önemli değil. saati.

Bu, kursunuzun bir parçası olarak öğrendiklerinizin önemli olmadığı anlamına gelmez - deneyiminizi geliştirmeniz için değerli bir çerçeve oluşturur. Resmi bir bilgisayar bilimi arka planında çok daha iyi olacağımı kesinlikle biliyorum - Kaç kez basit bir şeye takıldığımın sayısını kaybettim ya da patronumun neden bahsettiğinin izini kaybettim, çünkü hepsi bu eksikti.

Bence "gerçek" dünyada iyi olacaksın. Sadece çalışarak deneyim kazanacaksınız ve iyi bir işveren bunu biliyor ve sizden en iyi çabanızdan ve deneyiminizden öğrenme taahhüdünden daha fazlasını beklemeyeceksiniz. Birçok işveren (benimki dahil) özellikle bu deneyimi geliştirmek için danışmanlar ve eğitim programları kullanarak lisansüstü işe alımlarına bakar. Ve daha fazla deneyim kullanabileceğinizi düşünüyorsanız, boş zamanlarınızda biraz zaman geçirmenizi tavsiye ederim.

Öğrenmeyi gerçekten bırakmadığımızı göstererek bitireceğim. Kariyerinize yeni başlamış olabilirsiniz, ancak işiniz, işvereniniz, danışmanlarınız ve kendi başınıza öğrenmeye ve deneyim kazanmaya devam edeceksiniz. Henüz hepsini öğrenmediğinizden korkmayın - deneyim kazanmak için henüz çok zamanınız var.

Gelecekteki kariyerinizde en iyisi! Yakında size iş ile ilgili sorular bataklık SO bulmak için umut!

1
Mac

Kısa bir not, daha önce aldığınız diğer akıllıca cevaplarda eksik olduğum bir şey. Yararlı tavsiyeleri "bir şey yap" uyarsanız, kendinize işleri kolaylaştırmanızı öneririm. Şaka kullanmayı seviyorum "su üzerinde yürümek ve bir şartname yazılım geliştirmek hem de donmuş ise kolaydır" ...

Yani "bir şeyler" yapmaya karar verirseniz,

  • programınızın ne yapacağına karar verin (gereksinimler)
  • hangi şekilde davranacak (işlevsel)
  • nasıl uygulayacaksınız (teknik)

ve yaz!

Oyun sırasında kağıtları değiştirirseniz, basamaklı sonuçları kontrol etmeyi unutmayın.

Eğlenin ve (çok) sabırlı olmaya hazır olun.

1
mariotomo

Birincisi, profesyonel bir programcı olmaya hazır olmadığınızı düşünüyorsanız, doğru duygu ile ilgilidir. CS derecemde yaklaşık yarı yolda olduğumda böyle hissettim ve uni ile yoluma girmemiş olsaydım, bir kağıt torbadan çıkış yolumu kodlamak için kalifiye olmayan sahneyi geçirdim.

Ancak, ilk işi alırken ve bu "yazılım mühendisliği" işinin nasıl yapıldığını diğerlerinden öğrenmeye başlarken becerilerinizi oldukça hızlı ve hatta tahmin edilebilir bir şekilde geliştireceksiniz. Başarının anahtarı, katılmadığınız veya çok iyi anlaşamayacağınız diğerleri de dahil olmak üzere başkalarından öğreneceğinizi anlamaktır. CS kariyerimin zirvesinde (o zamandan beri başka şeylere geçtim), büyük bir yazılım satıcısı için 12 geliştiriciden oluşan bir takıma liderlik ediyorum. Tüm yeni çalışanlar gerçekten akıllı olduklarını düşünüyorlardı. Çok iyi dinleyenler ve gerçekten zeki olduklarını düşünmeye devam edenler.

Ama yeterli. Yazılım işinde 31 yıl sonra gözlemlerimi sizinle paylaşmama izin verin.

İlk başladığımda kodu girdim. Ve bu oldukça normal - uni'deki görevlerinizin çoğu muhtemelen çok küçüktü ve birçok insan küçük kodlama projelerinde böyle yapıyor. Bilgisayarlarında otururlar ve sorun çözülene kadar yazmaya devam ederler. Bunda yanlış bir şey yok ve eğer bazı iyi hızlı prototipleme becerileri geliştirirseniz, sling koduna sahip olma yeteneği gelecekte iyi sonuç verecektir.

Yaklaşık beş yıl sonra oldukça büyük bir çalışma grubum vardı - bir kısmı açık kaynaklıydı (buna "kamu malı" derdik - kaynak kodunda "bu yazılım kamu malıdır. "), bazıları" Ticari kullanım yok "veya" Satmak dışında bir şey yapabilirsiniz. " GPL yoktu. Ama yaklaşık beş yıl sonra öğrendiğim şey, kodumun tutarlı olması, çünkü birkaç yıl önce yaptığım hiçbir şeyi anlayamıyordum. Ve bundan, yorumların arkadaşınız olduğunu öğreneceksiniz - 80'lerin sonlarında yazdığım kodun Güzel bir kod/yorum oranı vardı. 80'lerin başından itibaren kod - çok fazla değil. Ancak bu size sorun hakkında bir fikir verir - dört yıllık bir uni derecesi yanlış yaptığınızı öğrenmek için yeterli zaman değildir.

On yıl sonra kendi kodumu hiç hayal etmeyeceğim şekilde tekrar kullanmaya ihtiyaç duydum. Kodun bazıları işe yaradı, bazıları işe yaramadı ve önümüzdeki birkaç yıl boyunca kodumu yeniden işlemekten yoruldum ve bir yazılım mimarı olmayı öğrendim. Şu anda 23 yaşında olan açık kaynak dünyasında kodum var ve orijinal yapının bir kısmı hala orada. İyi bir tasarım ve sağlam bir mimari böyle görünüyor - zamanın testini yapan eski kod, çünkü bugün bilgisayarlar 23 yıl önce bilgisayarlar gibi bir şey değil. Telefonum, 20 yıl önce sahip olduğum bilgisayarlardan daha çok bir bilgisayar. Yani, aslında design yazılımını öğrenmeye başlayacaksınız ve bu gerçekten haftada 3 saat buluşan 14-18 haftalık bir CS sınıfında öğrenebileceğiniz bir şey değil. Sağ? Bir mimarken, bir sonraki sürümde geliştirilecek olan yazılımı tasarlamak için aylar alırdım. Öyleyse, kalıpları aramaya başlayın - ve bu, nesne yönelimli diller hakkında onları çekici kılan şeylerden biridir (düzgün kullanılırsa). Seni daha çok düşündürüyorlar. Ne zaman bir şeyler yazarsan, geleceği düşün.

15-25 yaşları arasında bir geliştirici ekibine liderlik ediyorum. Bazıları yeni işe alındı, bazıları deneyimlendi ve sahip olduğum şeylerle uğraşmak zorunda kaldım çünkü sadece istediğim insanları işe alabilecek bir yönetici değildim. Çizgi boyunca bir yerde başa çıkmayı öğrenmek zorunda kalacaksınız - ekibinizdeki farklı insanlar farklı beceri ve yeteneklere sahip olacaklar. İyi ağ oluşturma becerilerine sahip, çok iş parçacıklı becerilere sahip ve sadece genel geliştiriciler olan adamlara sahiptim. Kariyerinde ilerleyen insanlar, başkalarıyla iyi geçinip onlardan öğrenebilen insanlardı. İlk işi bulduğunuzda bir akıl hocası bulun. En parlak ya da her neyse, en azından ne öğretildiğini anlayabileceğin kadar kıdemli olan birini ara. Ama ne yaparsan yap, etrafındaki diğer insanlardan öğren.

Son birkaç yılda bir iş olarak yazılım işinde olmaktan yoruldum. Hala yazılım geliştiriyorum (şu anki uygulamam yaklaşık 100KLOC = Java - hepsi kendim yazdım), ancak çoğunlukla yazılım endüstrisinin dışında çalışıyorum. Harika bir kariyer alanı ve 30 yıl Güzel bir yolculuktu.

1
Julie in Austin

Harika bir soru. Bir dereceye kadar sorunuz bana üniversiteden mezun olduğum zaman nasıl düşündüğümü düşündürdü.

C ve Python'u bildiğinizi söylediğiniz için önerim, bu dilleri kullanan herhangi bir açık kaynak projesine katılmaya başlamak olacaktır. Sourceforge.net veya code.google.com adresine gidin ve C veya Python kullanan projeleri arayın. Bazı projelerin de danışmanları olacaktır. Açık kaynaklı projelerin güzelliği, kendinizi rahat hissettiğiniz ve oradan büyüdüğünüz kısma katkıda bulunmaya başlayabilmenizdir. Kodla daha rahat hale geldikçe daha fazla görev üstlenebilirsiniz.

Girişimlerinizde iyi şanslar. Yardımınıza ihtiyaç duyabilecek bazı güzel projeler bulacağınızdan eminim. En iyi yanı, deneyiminizi elde etmeniz ve iş avında kanıt olarak gösterebilmenizdir.

1
yasouser

Programlama bir araçtır. Çoğu CS derecesi sadece programlamayı öğretir. Bu, nasıl bir şey yapılacağını öğrenmeden çekiç kullanmayı öğrenmek gibidir. Bir sorunun etki alanı hakkında çok az bilginiz varsa, çözmek için bir program yazmakta zorlanacaksınız. Sağlayacağınız gerçek değer bir programcı değil problem çözme olacaktır.

Üniversiteden bir işe girdikten sonra, şirketin çalıştığı problem alanı ile ilgili birçok kitap satın aldım. Şimdi bilgisayar bilimi derecemle alakasız bir alanda "uzman" olarak kabul ediyorum.

1
dwayne963

Bence çaba göstermeye devam etmelisin. Her başarılı insan bu süreçten geçti, yani kendinizi doğru hissettiğiniz şeyleri kastediyorum, ama ısrarlı çabalar kesinlikle aklın güzelliğini getiriyor. Her seferinde belirli bir probleme odaklanın, zamanınızı verimli bir şekilde kullanmak için çözümü kullanarak çözümü arayın.

1
Subodh

Timothyawiseman'a katılıyorum. Sertikalı olmak!

[Bağlantı metni] [1] öneririm. İnternet becerileri kesinlikle gereklidir ve Vakıflar sınavı sizi temeller üzerinde test eder. Javascript ve Perl sınavları size Profesyonel sertifikalarını verecektir.

Ayrıca, Microsoft'un ücretsiz web geliştiricisini ve sql sunucusu hızlı sürümlerini indirin ve web siteleri oluşturun. Pratik yapın ve pratik yapın, daha sonra MCTS (MS Sertifikalı Teknik Uzman) sertifikası almak için 70-536 ve 70-562 sınavlarına MS ders kitapları alın ve sınavlarına katılın.

İyi şanslar.

[1]: http://ciwcertified.com/certifications/program.asp CIW

1
Hal Noyes

İlk olarak, kolej veya iş avını bitirirken hepimiz böyle hissediyorum. Deneyim bir gecede olmaz.

Ancak, hızlı bir şekilde deneyim kazanmanıza yardımcı olabilecek şey, doğal olarak meraklı olmak ve istekli bir başlangıç ​​yapmaktır. Kendi başınıza öğrenmek ve becerilerinizi keskinleştiren kişisel hobiler bulmak için zaman ayırdığınızda çok hızlı bir şekilde öğreneceksiniz. Her zaman öğrenmeye istekli olun ve uzun bir yol kat edeceksiniz.

Şu anda iş arama yapıyorsanız, portföyü olan kişisel bir web sitesi oluşturmanızı öneririm. Öğrendiklerinize dayanarak yaptığınız projeleri yükleyin. Gerçekten havalı görünmesini sağlayın. Ayrıca aramanızda Indeed.com'u tavsiye ederim.

1
MattB

İş aramak için bir ay geçirdim ancak becerilerim (C, Python, Objective-C) nispeten sığ ve C #, Java ve web geliştirmenin talep çok daha yüksek olduğu yerel pazarda çok arzu edilmiyor.

Becerileriniz düşündüğünüzden daha değerli olabilir. Web çerçevesine Django bakın. CPython etrafında inşa edilmiş web geliştirme çerçevesi. Kullanımı oldukça kolaydır ve olağanüstü güçlüdür ve birçok büyük isim şirketi tarafından hızlı gelişim için kullanılır.

1
SC Ghost

Programlama için mantık ve düşünme geliştirmek istiyorsanız, C gibi dilleri kullanarak programlamayı öğrenin.

Kernighan & Ritchie'nin C kitabındaki örnekleri okuyun ve anlayın. Google'da arama yapın, e-kitabı bulacaksınız.

sorunların çözümlerini (küçük programlama sorunları) düşünmekte rahat olduğunuzda, farklı araçları, çerçeveleri veya her şeyi öğrenmeye çalışabilirsiniz.

Ayrıca SCJP sınavına hazırlanmak ve tüm konuları okumak için deneyebilirsiniz. Karşılaştığınız tüm küçük programları deneyin ve onlarla deneme yapın. Sun sitesini SCJP kaynaklarında okursanız, birçok küçük program bulacaksınız, anlamaya çalışın, kendi başınıza benzer yazmaya çalışın. Sonra rahat, salıncak, JSP, Servlet, Struts veya Bahar ya da ne olursa olsun hareket. Önce çok iyi bir temele ihtiyacınız var.

ACM programlama yarışmasıyla ilgili programlama problemlerine başvurabilir ve bunları çözmeye çalışabilirsiniz. yapamıyorsanız, çözümleri başkaları tarafından kontrol edin. Bu şekilde güçlü bir mantık ve düşünce oluşturacaksınız.

Rahat olduğunuzda, kütüphaneyi ezberlemeye ve bu konuda pratik yapmaya çalışabilirsiniz.

http://justetc.net/knowledge/index.php?table=Articles&categoryID=32&category=Java

Bir uygulama oluşturmaya çalışın. Küçük bir kişisel veya iş problemini düşünün ve bunun için eksiksiz bir başvuru yazmaya çalışın.

Belki daha iyi bir CS programına yatırım yapabilirsiniz

1
Sayed

Bilgisayar bilimi diploması ile mezun olmanız, kariyerinizin geri kalanı için program yapmanız gerektiği anlamına gelmez. Sistem analizi ve tasarımında hiç ders aldınız mı?

1
Dan

Genç programcılarla (yani son üniversite mezunları) görüştüğümde, onlara her zaman hangi projeler üzerinde çalıştıklarını, özellikle de çok kişili ekipleri içeren sınıf projelerini soruyorum. Sonuçta, bu genellikle gerçek bir işte yapacakları iş türüdür.

Bir kişi bir projede başka programcılar ile hiç çalışmadıysa, bu dik bir öğrenme eğrisi gerektirebilir.

Nasıl programlanacağını öğrenmenin yolu, hemen hemen her şeyi öğrenmenin yoludur: bunu yapmak için pratik yapın. Çok.

1
David R Tribble

Unutmayın, ilk adımdan bin mil başlar. Her şey kolej derecenize başlamaktan başlayarak sizi hayatın ilk adımına getiren bir köprüdür. Böylece yeni başladınız, tüm eylemleri aldığınız her plana koyun, bir gün olmak istediğiniz yerde olacaksınız. İyi şanslar dostum.

1
Vicheanak

Bilgisayar bilimi mezunuyken de aynı duyguyu yaşadım ama kitap okumaya devam ettim (hs, Visual Basic 6'dan başladı) ve sonra Oracle ve Java. Ne kadar çok okursanız o kadar çok denemenizi sağlar. Dört ay okuduktan ve uyguladıktan sonra, mezuniyette çok fakir olduğum alogitmleri çözdüm.

1
pakhtana

Hey!
Sorunuz çok iyi ve az önce incelenen birçok öğrenci için gerçek hayat senaryosu. Ayrıca mezun oldum ve eğitimim süresince okulun bana çok az değerli bilgiye ve çok anlamsız bilgiye verdiğini hissettim.

Üniversite ile ilgili olan şey, size çok derin bir bilgi vermek için zamanının olmamasıdır. Kursların çoğunda, alanın içindeki belirli bir alanın temellerine odaklanmak için sadece zamanınız var (evet, bu kabarık). Yaklaşım ya ya, ya da sadece alan hakkında genel bir bilgi vermeye çalışın (bu elbette kurs için zorluk derecesine bağlı olarak farklıdır).

Mezun olduktan hemen sonra bir geliştirme işi elde etme şansım oldu. Birçok kişi bunun haksız olduğunu düşündü, çünkü inanılmaz bir programcı değilim. Temelleri biliyorum ve bazı alanları biraz daha derinden biliyorum. Genelde iyi olduğumu ve insanların olması gerektiğini düşündüğüm şey, bilgiyi NASIL elde etmek. Bana göre, bu okulun bana verdiği en önemli bilgi. Birçok kişinin dediği gibi, her şeyi bilemezsiniz. Önemli olan, sonunda neyi bilmeniz gerektiğini bilmenizdir. Bu nedenle, gerekli bilgiye nasıl ulaşılacağını bilmek, aslında en baştan bilmekten çok daha önemlidir.

Göz ardı edilmemesi gereken bir şey sosyal becerilerin değeridir. Gerçekten iyi bir programcı olabilirsiniz, ancak sosyal olarak engelli olabilirsiniz. Kendinizi nasıl tanıtacağınızı veya insanlarla nasıl çalışacağınızı bilmiyorsunuz. Özellikle son şey, insanlarla birlikte çalışın. Bir projede, (çoğu zaman) insanlarla çalışmak zorunda kalırsınız. Bu konuda büyük sorunlarınız varsa ve aslında işiniz varsa, muhtemelen orada kalmak zor olacaktır.

Çok ilginç bir konu!

1
user373455

Ay için ateş edin ve yıldızların arasına ineceksiniz. Büyük şirketlere başvurmaktan çekinmeyin, ne aradıklarını asla bilemezsiniz ve mezun olduktan sonra gerçekten hiçbir şey hakkında çok fazla şey bilmediğinize, işteki deneyiminizin çoğunu kazanacağınıza inanıyorum. Sadece atlayın ve zamanla harika bir programcı olacaksınız.

1
Harry

user30997:

Kişisel bir proje başlatın. Okuldaki sorun, orada yaptığınız en karmaşık şeyin 15 hafta ila bir yıl süren ve birkaç başka insanı kapsayan bir proje olmasıydı. Sorun alanı iyi anlaşılmıştı (profesörünüz size döneminize düzgün uymayan görevler vermedi.) Bu, gerçek dünyanın sağladığı bir lüks değil.

Tutkulu olabileceğiniz büyük, baştan sona bir şey yapmanız gerekiyorsa, beyniniz sürecin etrafına sarılmaya başlayacaktır. Bu sadece bir kariyer olduğu ve bunun için bir sevginiz olmadığı sürece, henüz henüz yapmadığınızı hissedeceksiniz.

Bu konuda seninle tamamen aynı fikirde olup olmadığımı bilmiyorum. Yazılım mühendisliği derslerimdeki kendi kişisel deneyimlerimden, bunun bizim için böyle olmadığını biliyorum. Bu sınıflarda, beklentilerimizin, projelerimiz için bilmemiz gereken her şeyi kendimize öğreteceğimiz, profesörlerimiz aslında kodlamaya başladıktan sonra genellikle attığımız UML diyagramlarını öğretmek zorunda kaldıklarını gördüler.

Ama sanırım okulunuz muhtemelen benimkinden farklıydı. Sadece okul projelerinin düşündüğünüz kadar kolay olmadığını belirtmek istedim. Sadece profesörlere ve öğretim tarzlarına bağlıdır.

1
Liars_Paradox

Ama OP'nin neden algoritmaları incelemek istediğini görebiliyorum. Son zamanlarda bilgisayar bilimi mezunu için, sadece birbirimizle değil, bilgisayar bilimi almayan, aynı zamanda kolejde programlama alan ya da kendi kendini yetiştirmiş olanlarla da rekabet ediyoruz. Bizim için güçlü yönlerimiz kaç dil bildiğimiz, hatta bu dilleri iyi bildiğimizde olmazdı. Bilgisayar bilimcisi için en büyük gücü problemleri çözme konusundaki genel yeteneği olacaktır. Gerekirse daha sonra istediğiniz zaman belirli bir sınıfa veya belirli bir yönteme bakabilirsiniz. Bir dilde bilinmesi gereken her şeyi hatırlamanız gerçekten önemli değil, çünkü nasıl kullanılacağını bilmiyorsanız işinizi halledemezsiniz.

Yeni diller yaratılır ve eskileri değişir, ancak programlamanın ardındaki genel ilkeler, yani genel olarak bir sorunu çözmenin ilkeleri aynı kalır.

1
Liars_Paradox

Objective-C iPhone ve iPAD geliştirme de şu anda tüm öfke olduğunu fark ettim. Bir Mac satın alın veya Mac OS X'in VM görüntüsünü alın ve oluşturmaya başlayın. İPhone'da olmasını istediğiniz bir oyunu veya bir şeyi düşünün ve bunu bir hobi projesi olarak kabul edin. Çalıştığım lisansüstü geliştiricilerden biri birkaç iPhone oyunu geliştirdi ve işi burada aldı. Şimdi .NET, Java, PHP, Objective-C geliştirme ekibimizin değerli bir üyesi.

Herkesin dediği gibi pes etme, tüm işlere başvurmaya devam et.

1
Nickz

Akılda tutulması gereken en büyük şey, sadece programlamayı öğretmek için değil, bir derece almak için okula gittiniz. Okulda, size nasıl düşünüleceğini ve nasıl çözüleceğini öğretiyorlar. Harika bir programcı olmak size kalmış :) ve çok pratik gerektirir.

1
damstr8

Her şeyden önce, kendinizi arkaya vurun çünkü sizinki tekil bir durum değildir. Bu gerçekleşme birçok CS mezunu için gerçekleşir. Ancak, değerlendirmeye değer birkaç nokta var:

  1. google gibi sitelere bakıyorsunuz ve uygulanmasını düşünüyorsunuz
  2. sen dürüstsün

Merak, itici gücünüz olacaktır ve özellikle sürekli öğrenmeyi gerektiren bir alanda, merak, bir varlık olarak değerlendirilebilir.

Dürüstlük çok yardımcı olacaktır. Bir grupta çalışırken, grubun başarısı için dürüstlük çok önemlidir.

Programlamayı öğrenmeye gelince, bir kerede algoritmaların tüm ayrıntılarını özümsemeye çalışmayın. Herkül gibi bir görev gibi görünecek. Bunun yerine beğendiğiniz bir görev seçin ve kodunuzu kademeli olarak geliştirin.

İki güzel dilde yeteneklisiniz: C ve python. Bunlardan birini içeren projeleri seçebilir, açık kaynak kodlu projelerin kodunu okuyabilir ve bunları kendi yararınıza değiştirmeyi deneyebilirsiniz. API'yi okumak ve kütüphaneleri birlikte çalışmak için birleştirmek kolaydır; ancak API'nın arkasındaki tasarım ilkelerini anlamaya çalışın.

Son zamanlarda, yeni bir projeye başladığımda, üzerinde arka plan okuması yapmaya başladım. Önemli URL'leri bir dosyaya kaydetmem gerekiyordu, böylece onları arkadaşlarıma yönlendirebilirim. Daha sonra, tarayıcımda, tıklandığında geçerli sekmenin URL'sini isteğe bağlı bir yorum içeren önceden atanmış bir dosyaya ekleyecek bir düğme vardı. Bu çok büyük bir görev değil; ama bu benim ve arkadaşlarım için faydalı olacak. Henüz yapmadım; ama onunla bir arkadaşımla konuştum ve yakında yapacak.

1
dknight