Kitap okurken egzersizleri yapıyor musunuz? [kapalı]


14

Kaçınız aslında bir kitaptan (programlama ile ilgili herhangi bir kitap) öğrenirken alıştırmalar yapıyor, şu anda bir C ++ kitabında yolumu buluyorum ve bazı alıştırmaları atlayabileceğimi düşünüyorum. Çoğu insan bunu yapıyor mu? Yoksa tüm kitabı okuyorlar ve zor görünen alıştırmalara mı dönüyorlar?



4
Okurken sabit bir bisiklet sürmekten hoşlanıyorum, lisans sırasında fiziksel egzersiz yapmayı ve eğitim almayı kolaylaştırdım. Fiziksel egzersizin burada bağlamda olduğundan şüphelenmeme rağmen.
Chris

Üzgünüm, diğerleri gibi, ders kitaplarında hiç alıştırma yapmayan birkaç kişiydim, arkadaki cevaplara baktım ve ne söylediklerini ve cevapların neden böyle olduğunu anlamaya çalıştım.
Buhake Sindi

Başka hiç kimse bunun StackOverflow'dan taşındığını ve ardından Programcılar'da derhal kapatıldığını komik bulmuyor. Bu Sovyet büyüklüğünde bürokrasi! XD
Drew

Yanıtlar:


17

Alıştırmaların çözümlerini yazıp çalıştırmayı faydalı buluyorum. Bazen ilk denemede cevap alırsınız ve bazen ilk göründüğünden biraz daha zordur. Çalışma kodunuz olana kadar neyi kaçırdığınızı asla bilemezsiniz.

Eğer hata ayıklama alıştırması alıyorsanız alıştırmaları kendiniz yazmanın büyük bir yararı. Yeni bir dil ve yeni bir ortam varsa, kaçınılmaz olarak hatalar yaparsınız. Çalışmak için en basit sorunlara bile çözüm bulmak iyi bir uygulamadır.


5

Hâlâ yeni bir dilin sözdizimi etrafına sarılmamda bile zorluk çekmediğim aşamada önemsiz egzersizleri atlama eğiliminde olduğumu fark ettim. Düşünce uyandıran bir meydan okuma kadar pratik yapmak için bir şeyler vermek için oradalar.


4

Bir dili bir kitaptan, bilgisayar dilinden veya insandan öğrenmek oldukça zordur, pratikler olmadan asla ustalaşmayacaksınız.

Genellikle eksizyonları yapmanın ve örneklerde yazmanın size çok daha fazla bağlam sağladığını ve kolay görünenleri bile anlamanızın derleyicinin nasıl çalıştığı ve kişinin gerçekten kullanmak için bilmesi gereken diğer şeyleri öğretebileceğini görüyorum. dil.

Öte yandan, tüm alıştırmalardan geçmek yıllar sürdüğü için, neredeyse hiçbir zaman yeni bir dil hakkında bir kitabı bitirmeyi başaramıyorum, ama en azından her konuda bir özür yapmaya çalışacağım.

Bir başka büyük yardım da "thorsten müller" in önerdiği gibi, uygulamaya başlayacak bazı projelerin olması, fx. bir B-ağacı sıralama ya da bir şey uygulamak her zaman eğlencelidir :).


4

Kitaba bağlı. Örneğin K & R'deki bulmacalar oldukça destansı ve öğretici ve C Cevap Kitabı adlı bir kitabı bile var , alıştırmaları hak ettikleri ayrıntılarla kaplıyor.

Knuth okuyorsanız, bir kurşun kalem ve kağıtla birlikte okumadığınız sürece, bundan gerçekten bir şey almazsınız. Elbette, bazı Knuth problemleri iyi bilinen açık problemlerdir, bu yüzden hepsini almayı beklemeyeceksiniz.

Bununla birlikte, bir eğitmen olarak, birçok iyi kitaptaki birçok alıştırmanın sadece korkunç olduğunu buldum. Bazıları sadece BS. Sonuç olarak, sınıfta problemler atarken, kendiminkini yapmak zorundayım. Doğru kitaplara ve doğru sorunlara odaklandığınız sürece, bundan çok şey elde edersiniz. Hedefiniz C ++ öğreniyor olsa bile, K & R'de olanları yapmanızı tavsiye ederim.


+1 K&R için, çok hızlı bir şekilde okudum ve alıştırmaların çoğunu yaptım ve aslında her biri hakkında bir şeyler öğrendiğimi hissettim. Diğer kitaplar seçiyor ve seçiyormuşum gibi görünüyor
Adam

2

Sadece ilginç ve zorlayıcı olanlar. Cevabı biliyorsam, yazarken fazla bir faydası yok.

Çoğu zaman yeni bir dil veya teknoloji hakkında kitap okuduğumda uygulamaya çalıştığım küçük projelerim var. Conway'in Yaşam oyunundan başlayarak bir Sudoku çözücüsü gelir. Bunun avantajı var, onları diğer dillerde zaten çözdüm ve sonuçları karşılaştırabilirim.

Rağmen şu anda Racket öğreniyorum ve sözdizimi bazı detayları ile bazı zorluklar var beri alışmak için normalden çok daha fazla egzersiz yapıyorum.


1

En basit olanları hızlıca kafamda yaparım, eğer bu basit egzersizler bile varsa. Ayrıca alıştırmalardan birini nasıl uygulayacağım hakkında bir fikrim olup olmadığını görmeye çalışıyorum, ancak çoğu zaman bunları uygulamaz. Aslında uygulamaya nedeni olmadığını görmek için gerçekten doğru şeyler var derleyici zihniniz olacak şekilde daha bilgiçlik olacağı gibi, ve daha iyi yanı dilini bilecek. Ancak bu, egzersizlerin yapılmasının nedeni en son bölümden aldığınız bilgileri tekrarlamak ve aslında şeyleri bildiğinizden emin olmaktır.

Egzersizler yoksa, kendi başıma biraz uydururum. Ayrıca her zaman en azından bölümdeki şeyleri kullanmaya çalışın (kodu Vim'e yazın, çalıştırın, değiştirin vb.).

Bazen daha sonra ya da okuma oturumunun sonuna kadar bazı alıştırmalar bırakıyorum (birden fazla bölüm okursam).

Alıştırmalar öğrenmeye yardımcı olmak için orada ve bu yardıma ihtiyacım olduğunda kullanıyorum.


1

Ne yazdığını anlamadığınız ve hatırlamadığınız sürece kitap okumak zaman kaybıdır. Egzersizler yaptığınızdan emin olun. Ayrıca, bazen egzersiz yapmak eğlencelidir!


1

Hayır. Sadece kitaptaki kodu okudum ve bazen bunu bile yapmıyorum. Bunun gerekli olduğunu düşünmeyin. Sonuçta nasıl kod yazacağımı öğrenmek için kitabı okumuyorum. Kavramları öğrenmek ve yeni fikirler edinmek için kitabı okudum.


0

Yaşadığım kitaba bağlı. Genellikle, daha önce oynamadığım bir özellikle karşılaşırsam, örneği yazıp çalıştıracağım.


0

Bu alıştırmalar üzerinde çalışmayı tercih ederim. Bu sorular bizi daha fazla düşünmemizi ve analiz etmemizi sağlıyor ve aynı zamanda bu egzersizin sonucu gerçekten ne kadar iyi anladığımızın bir göstergesi. Daha sonra daha iyi ezberlemek için daha az çaba anlamak.


0

Eğer yeni bir dil öğrenirsem ve içinde çok çalışacağımı bilirsem, her egzersizi ve her egzersizi defalarca yapacağım. Bunu yaparak dili "emerim" ve temel sözdizimim güçlenir. Ayrıca bu şekilde sadece kodlamayı öğrenmekle kalmaz, aynı zamanda belirli bir dilde "düşünmeyi" öğrenirsiniz. İkinci kez gözden geçirdiğimde, exersise yapmam gerekmeyebilir.

Aynı zamanda IMO tüm diller için aynı değildir. Örneğin, C / C ++ için uzmanlaşmak için SQL'i çok fazla zorlamak zorunda kalmama rağmen, en az dört kez (üniversite dersim dahil) uzmanlaşmak için uyguladım.


0

Asla. Bununla birlikte, geçmiş deneyimlerin kütlesinden (başka bir deyişle başarısızlıklar) bu çözüm çizimiyle bir şeyler yazmaya çalışıyorum ve çözmeye çalışıyorum. Bu, mevcut bağlamla ilişkilendirdiğim için yeni şeyi gerçekten beynime çekiyor gibi görünüyor.


0

En azından iyi kitapların ilk okunmasında değil, çünkü çoğu zaman bir sonraki bölümde neler olduğunu öğrenmek için sabırsızlanıyorum.


0

Hayır.

Bazı insanlar aslında kitaplardan geçip alıştırmalar yapma disiplinine sahiptir, ama ben onlardan biri değilim ve birçoğunun da aynı şekilde olduğundan şüpheleniyorum.

Kitap öğrenme modelinin modası geçmiş bir model olduğunu düşünüyorum. Denemek ve çevrimiçi dersler / laboratuarlar bulmak ve bunu yapmak.

Örneğin, Google Code Üniversitesi kursunu yaparak Python'un temellerini öğrendim.

Sonunda, gerçek dünya deneyiminin yerini tutamaz ve önemli olan tek şey malzemeyi nasıl yaptığınızı değil, aslında öğrenmenizdir. Benim tavsiyem, kendinizi cezalandırmak yerine en hızlı / en kolay yolu yapmaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.