Read-only archive. Login and posting are unavailable.
View Full Version : bắt đầu học lập trình thì nên làm những gì...
trungdeplao
10-06-2009, 23:02
Chào cáctiền bối:byebye:
Khi đọc thread này có thể bạn đang đặt nền tảng cho một tài năng IT tương lai của nước nhà :shot:. Số là đã từ lâu em mơ ước được biết về một thế giới gọi là lập trình, mà mù tịt. Quyết tâm từ ngày mai sẽ bắt đầu ngâm cứu.
Mong anh em chỉ em những bước đầu tiên (ví dụ cài cái gì, đọc cái gì...).
Em có tinh thần học tập thật, không giúp xin đừng nói lời cay đắng :beauty:
PS: em tiếng Anh khá, vi tính văn phòng ổn, flash, PS đều ok
nguoixua
10-06-2009, 23:04
down ebook về, chiến
trainvcads
10-06-2009, 23:06
Học tốt thuật toán! cái gốc rễ, sau đó tùy muốn làm gì thì làm vẫn ok :beauty:
nguyenthanhphu
10-06-2009, 23:14
Học tốt thuật toán! cái gốc rễ, sau đó tùy muốn làm gì thì làm vẫn ok :beauty:
Bro này nói đúng đó. Mình cũng xin bổ sung thêm 1 chút. Học lập trình thì ngôn ngữ chỉ là phụ, thuật toán mới là chính. Một khi đã nắm vững thuật toán rồi thì ngôn ngữ nào mình cũng viết đc cả (việc làm quen với 1 ngôn ngữ mới là khá dễ), chủ yếu là nắm đc cái tư duy lâp trình thôi. Rèn luyện cái tư duy cho sắc bén thì coding sẽ nhẹ nhàng. Mình thấy đôi khi suy nghĩ logic trong lập trình cũng có lợi trong cuộc sống lắm đấy --> giúp mình suy nghĩ nhanh và chính xác hơn. Vài lời cùng bro ^^.
Bạn nói vẫn còn chung chung wá
tumadanhsang
10-06-2009, 23:25
thuật toán là cái j nhỉ ??????????? toán logic à
winter_wind3009
10-06-2009, 23:26
thuật toán là cái j nhỉ ??????????? toán logic à
:| cấu trúc dữ liệu và giải thuật => nền móng cho mọi cơ sở lập trình
nên đi theo hướng lập trình hướng đối tượng.
winter_wind3009
10-06-2009, 23:46
nên đi theo hướng lập trình hướng đối tượng.
-.- lập trình tuần tự => lập trình cấu trúc => lập trình hướng đối tượng
nhưng cả 3 đuề phải đi từ cấu trúc dữ liệu và giải thuật :|
Trước tiên là phải xác định : bạn có đam mê hay ko, nếu đam mê thì hãy nghĩ tiếp
sau đó là học ngôn ngữ lập trình C :D
tieubavuong1312
10-06-2009, 23:50
Bạn nên chọn một ngôn ngữ lập trình để thực thi, cài đặt các thuật toán.
Hiện tại thì mình thường bảo mọi người học C#
Nhưng nếu bạn chưa có khái niệm nào về lập trình thì nên bắt đầu bằng C.
Khi hiểu các cấu trúc lập trình (syntax) thì bạn bắt đầu chuyển sang học thuật toán. Hiện tại thì ... sách tiếng việt chắc chỉ có sách của thầy "Đỗ Xuân Lôi" là khá khẩm về thuật toán.
Bạn đọc tiếng Anh tốt --> kiếm vài cuốn về giải thuật bằng tiếng Anh đọc thì hay hơn.
---------
sau khi nắm được cách cài đặt các giải thuật rồi thì....quay lại học ngôn ngữ lập trình ứng dụng và cơ sở dữ liệu.
Thường có 3 hướng ngôn ngữ: Java, .NET, PHP
Cơ sở dữ liệu thì có: SQL Server, My SQL, Oracle.
.....
Có gì,...mai post tiếp :D ngủ đã, đêm cuối cùng là sinh viên :byebye:
Đây, bạn đọc file này để biết cơ bản: Thuật tóan là gì :beauty:
Download here
(http://www.mediafire.com/download.php?wjjdymmyhyo)
Sau đó, bạn mua một quyển sách về ngôn ngữ lập trình mà bạn cho là dễ họăc cảm thấy thích và muốn học nó. Đọc vài ngày, làm ví dụ trong sách, thường trong sách có các projects từ nhỏ đến lớn. Nếu sau khi đọc và làm xong mà vẫn còn thấy thích lập trình thì mới tính tiếp :haha:
khanhquagioi
11-06-2009, 00:01
Mình làm quen với lập trình bằng Pascal, thấy thích lắm, sau đó học Víual Basic, hồi đó đam mê đến mức 1 ngày ngoại trừ giờ ăn, còn lại ngồi type code, bây giờ thì bỏ òi, thành lập công ty nhập khẩu bếp Gas coi bộ kiếm tiền được nhiều hơn :D
newbie09
11-06-2009, 00:07
Mình thì thích C , thấy học rất hay :beauty: xong C rồi bạn có thể sang C# hoặc C++, tùy sở thích :beauty:
Nhưng vẫn cần phải học mấy cái căn bản nữa, như các bác ở trên nói ấy, hãy đọc quyển Cấu Trúc Dữ Liệu Và Giải Thuật của thầy Lôi đi :byebye:
Đam mê quá thì học. Còn mún học cho giống thiên hạ thì thôi, bỏ đi, oải lắm
Còn mình đang nể mấy bạn lập trình C/C++ lắm nha. Học cái đó cho thật giỏi đi bạn :D
winter_wind3009
11-06-2009, 00:08
Mình thì thích C , thấy học rất hay :beauty: xong C rồi bạn có thể sang C# hoặc C++, tùy sở thích :beauty:
Nhưng vẫn cần phải học mấy cái căn bản nữa, như các bác ở trên nói ấy, hãy đọc quyển Cấu Trúc Dữ Liệu Và Giải Thuật của thầy Lôi đi :byebye:
thầy lôi ko hay = của thầy nguyễn đức nghĩa đâu :matrix::matrix:
mylove1412
11-06-2009, 00:13
nên học cách tư duy =/
em cũng giống chủ thớt, đang chuẩn bị bước vào giai đoạn học lập trình :beauty:
thanh.undp
11-06-2009, 00:30
Các khái niệm thuật toán + cấu trúc dữ liệu bạn chỉ có thể hiểu và thấy tầm quan trọng của nó sau khi bạn làm quen được với một ngôn ngữ lập trình nào đó qua một số bài đơn giản đầu tiên (biết các lệnh đơn giản, phân biệt một vài dạng biến số, viết các chương trình cộng trừ nhân chia...), còn khi mới bắt đầu đừng suy nghĩ quá nhiều xem nó là cái gì. Để vuợt qua bước đầu tiên này bạn nên tự học qua các cuốn về pascal cho người mới bắt đầu.
Sau khi có được các ý niệm và cơ sở ban đầu, bạn chuyển sang nghiên cứu các cuốn mà tiêu biểu như "cấu trúc dữ liệu và giải thuật" của thầy Đỗ Xuân Lôi như bạn TBV đã đề cập.
Và một nguyên tắc rất quan trọng là khi tự học bạn phải tự typing tất cả các dòng lệnh chứ đừng copy/paste, nếu không sau này kỹ năng của bạn rất kém, chỉ có thể edit lại cái có sẵn mà ko tự viết được cái mới. Cũng nên tránh kiểu học "mì ăn liền" như các cơ sở đào tạo lập trình web hay làm (bỏ qua cơ sở căn bản, bỏ qua winform nhảy bụp vào webform luôn...).
Học lập triình đòi hỏi sự kiên nhẫn qua hàng năm trời để tích luỹ kỹ năng, nếu bạn ko có ý thức thì sẽ thu được kết quả giốgn như rất nhiều các tay "lập trình web" hiện nay ở nước ta là có thể sửa một cái opensource theo kiểu vá víu chứ không viết được một chương trình nào ra hồn (dù là rất nhỏ)
trainvcads
11-06-2009, 00:33
Cứ học C đi, hình dung các khái niệm cơ bản trước :D
Mà theo mình thì mới học pascal hay hơn C. Nó mang tính sư phạm hơn
newbie09
11-06-2009, 00:33
thầy lôi ko hay = của thầy nguyễn đức nghĩa đâu :matrix::matrix:
:byebye: bọn em toàn mua sách của thầy Lôi bác ạ, quyển của thầy Nghĩa tên là gì hả bác để hnao` em mua về ngâm cứu, thấy sách của thầy Lôi viết cũng khá ổn (con gái thầy dạy cũng ổn :beauty:)
winter_wind3009
11-06-2009, 00:36
:byebye: bọn em toàn mua sách của thầy Lôi bác ạ, quyển của thầy Nghĩa tên là gì hả bác để hnao` em mua về ngâm cứu, thấy sách của thầy Lôi viết cũng khá ổn (con gái thầy dạy cũng ổn :beauty:)
:| con thầy lôi à =.=" chệp chệp cô đỗ bích dệp ấy à :|
chẹp , con thầy nghĩa mới khủng =]]
sách thầy nghĩa thì cũng chả bít có hay hơn ko, nhưng mà sách này lưu hành bên ITP, bác qua dó hỏi mua xem :| hay mượn ai photo ấy, em thấy chi tiết hnơ là sách thầy lôi, cũng khó hơn nữa, nhiều cái mới
_Nếu bạn ở HCM, thì bạn vào trường Tự Nhiên học ké. Đảm bảo nếu bạn chịu theo thì chắc như rễ (học chui free nghen =)) ). Có điều giai đoạn 1 học ở Linh Trung, bạn có can đảm thì bạn theo.
_Trường tự nhiên học theo thự tự như vầy :
_Giai đoạn 1 :
+Tin A1 : chủ yếu về những cái rất cơ bản về lập trình. Bạn nên đút tiền mua chuộc bạn nào giai đoạn 1, để mua quyển sách của thầy Khang, trong đó hơn 1000 bài rất căn bản, rát dễ theo, không quá khó. Theo xong bạn sẽ có một nền tảng khá chắc. Ngôn ngữ lúc này là C.
_Giai đoạn 2 :
+Tin A2 : bạn sẽ học cao hơn giai đoạn 1 một chút, sẽ học về đọc/xuất tập tin, mảng đa chiều, con trỏ, .... . Nói thì hơi đơn giản nhưng chưa có nền tảng A1 thì bạn sẽ rất khó với mảng và con trỏ. Đặc biệt lúc xem thuật toán hơi khó hiểu.
+Cấu trúc dữ liệu 1 : bạn học // tin A2. Đây là một môn mà sinh viên rất khó hiểu khi mới học lập trình lần đầu (cái này cố thôi). Bạn vào trường tự nhiên tìm mua quyển cấu trúc dữ liệu một, (hình như của thầy Dương Anh Đức thì phải). Môn này dạy về các thuật toán sắp xếp, và các dạng cấu trúc dữ liệu thông dụng hiện giờ : list, stack,...
_Khi nào xong 3 cái này rồi tính tiếp. Có một số người khuyên bạn dùng C# ngay từ đầu, nhưng theo mình bạn nên học C trước (không phải C++ nghen). Hồi đó mình cũng thấy nó hơi lảm nhảm, nhưng nếu bạn muốn học nhiều loại ngôn ngữ khác về sau thì nên học nó.
Em cũng có thắc mắc như bạn chủ thread, đi hỏi nhiều nơi mà chẳng đc gì. Quên xừ mất Voz mới chán chứ! Nay may quá có bạn hỏi, thấy các bro trả lời hay quá.
Tiếp tục làm sáng tỏ câu trả lời đi nhé các bro!
Kinh nghiệm của mình thì nên học theo kiểu trực quan, làm gì là thấy liền, rồi sau đó mới lần ngược về gốc, chính vì vậy mình đề nghị bạn học lập trình web, đầu tiên là html, kế đến là javascript,...để có ấn tượng ban đầu về lập trình là cái quái gì..., sau đó nếu có đam mê thì sẽ chỉ tiếp.
Em có một câu hỏi là lập trình web với lập trình phần mềm có phải là hai lĩnh vực hoàn toàn khác nhau không ạ?
Các bác trả lời và giải thích hộ em nhé, em đang rất quan tâm đến lĩnh vực này, cũng sắp học rồi ạ.
skydunkpro
11-06-2009, 11:01
Các khái niệm thuật toán + cấu trúc dữ liệu bạn chỉ có thể hiểu và thấy tầm quan trọng của nó sau khi bạn làm quen được với một ngôn ngữ lập trình nào đó qua một số bài đơn giản đầu tiên (biết các lệnh đơn giản, phân biệt một vài dạng biến số, viết các chương trình cộng trừ nhân chia...), còn khi mới bắt đầu đừng suy nghĩ quá nhiều xem nó là cái gì. Để vuợt qua bước đầu tiên này bạn nên tự học qua các cuốn về pascal cho người mới bắt đầu.
Sau khi có được các ý niệm và cơ sở ban đầu, bạn chuyển sang nghiên cứu các cuốn mà tiêu biểu như "cấu trúc dữ liệu và giải thuật" của thầy Đỗ Xuân Lôi như bạn TBV đã đề cập.
Và một nguyên tắc rất quan trọng là khi tự học bạn phải tự typing tất cả các dòng lệnh chứ đừng copy/paste, nếu không sau này kỹ năng của bạn rất kém, chỉ có thể edit lại cái có sẵn mà ko tự viết được cái mới. Cũng nên tránh kiểu học "mì ăn liền" như các cơ sở đào tạo lập trình web hay làm (bỏ qua cơ sở căn bản, bỏ qua winform nhảy bụp vào webform luôn...).
Học lập triình đòi hỏi sự kiên nhẫn qua hàng năm trời để tích luỹ kỹ năng, nếu bạn ko có ý thức thì sẽ thu được kết quả giốgn như rất nhiều các tay "lập trình web" hiện nay ở nước ta là có thể sửa một cái opensource theo kiểu vá víu chứ không viết được một chương trình nào ra hồn (dù là rất nhỏ)
Chuẩn ... !! :D chỉ có điều tớ không đồng ý đó là dùng pascal để bắt đầu, mà nên thay bằng một pure OOP language vd nhu : Java hoặc C#.
Em có một câu hỏi là lập trình web với lập trình phần mềm có phải là hai lĩnh vực hoàn toàn khác nhau không ạ?
tương tự nhau thôi chỉ khác ở phần presentation
Tự học thì nên làm quen lập trình bằng cách giải các bài toán bằng Pascal trước, ngôn ngữ này được cái trong sáng, dễ hiểu vì gần gũi với suy nghĩ của chúng ta.
Nếu Pascal qua hổng nổi thì khỏi học lập trình cho khỏe.
đọc sách để biết lập trình là gì => học một số hàm cộng trừ đơn giản => viết chương trình đầu tiên: nhập 2 số, xuất ra kết quả các phép cộng, trừ, nhân.
vukidrock
11-06-2009, 12:13
Tự học thì nên làm quen lập trình bằng cách giải các bài toán bằng Pascal trước, ngôn ngữ này được cái trong sáng, dễ hiểu vì gần gũi với suy nghĩ của chúng ta.
Nếu Pascal qua hổng nổi thì khỏi học lập trình cho khỏe.
hic, em bị thi lại pascal hồi năm 1, bây h ghét pascal :ah::ah:
Nguyễn Đức Nghĩa có phải thầy dạy bộ môn KHMT ở ĐHBKHN ko vậy?
Nếu đúng thế thì con gái thầy xưa học cùng tui, giờ đã làm giảng viên rồi cơ à? Ghê quá! :)
blackberry
12-06-2009, 19:44
bạn ở HCM hay HN??nếu ở HCM thì cứ chui vô BK hay tự nhiên mà học.không ai điểm danh nên free luôn.cứ tự nhiên mà vô.không việc gì phải xoắn.còn bắt đầu thì mình nghĩ nên bắt đầu với C++ còn muốn học tư duy thì học pascal đi.hồi năm 1 mình học C++ và pascal cùng 1 lúc(tự nhiên cứu thôi)đến hè thì thấy mình đủ trình để ra giang hồ(1 phần nào đó :D)đến năm 3 thì do chương trình học nên kì 1 học java kì 2 học C#.phải nói 2 thằng này vô đối(giờ đang học dotNet)
Bắt đầu học thì nên học C.
Học C xong học Java hoặc C#. C# hiện dễ kiếm ăn hơn. JAVA ít đồ chơi, phải nghĩ nhiều đau đầu lắm. Tuyển dụng cũng khắt khe.
Lập trình web cũng là lập trình phần mềm. Làm web đơn giản thì học thẳng PHP luôn cũng được vì thằng này dễ học. Dù gì nó cũng đi từ lập trình tuần tự đi lên OOP.
ko cần học C, nhẩy vào học C# cũng được. Học luôn hướng đối tựơng cũng chẳng sao. Vẫn cần có kiến thức về Tóan học tốt vì đơn giản là C# hỗ trợ lập trình quá nhiều và người giỏi hơn là người có nhiều kiến thức về Tóan hơn. Làm mấy chương trình có giao diện C# thì đơn giản nhưng làm nhiều cũng chán, muốn phát triển thì học như vậy là không đủ.
FengFeng
12-06-2009, 21:03
Học lập trình đầu tiên cần gì à?
Để xem nào: 1 cái bàn thật gọn gàng, 1 cái ghế thoải mái, máy móc mạnh vừa phải, bàn phím vừa ý.
Tiếp theo là gì?
- Học cái quái gì trước nhỉ? Trước hết phải hiểu mình học lập trình để làm gì? Lập trình có thể giải quyết được vấn đề gì?
Đối với người bắt đầu từ mo: Những người như thế này thường không có sẵn định kiến trong đầu, dễ tiếp nhận cái mới, đầu tiên thì phải biết sử dụng một shell script nào đó đã, Linux Shell (Borne Shell or Korn Shell), DOS Prompt, tiếp theo thì nên bắt đầu với Python (tiếp xúc với OOP luôn đi là vừa, muốn học C thì sau khi học Python C dễ ợt, vả lại môi trường phát triển C nó có vẻ ko được gần gũi với môi trường ứng dụng hiện tại, với phong cách lập trình hiện tại lắm). Lưu ý: C khác C++, ai chưa phân biệt được thì mình không bàn cãi nhá. Nếu cho là Python quá thiếu cấu trúc, hơi thiếu strict thì bắt đầu với ISO C++ luôn (đề nghị tránh xa VC++ 6 ko tốt cho tư duy lập trình của người mới bắt đầu lắm). Sau đó bổ túc các kỹ năng về HTML, XML, SQL, database, SDLC. Lúc đó bạn đã có 1 cái gốc tương đối vững rồi đó. Tự bạn sẽ biết mình cần gì khi đó.
Mấy lời...
FengFeng
12-06-2009, 21:05
ko cần học C, nhẩy vào học C# cũng được. Học luôn hướng đối tựơng cũng chẳng sao. Vẫn cần có kiến thức về Tóan học tốt vì đơn giản là C# hỗ trợ lập trình quá nhiều và người giỏi hơn là người có nhiều kiến thức về Tóan hơn. Làm mấy chương trình có giao diện C# thì đơn giản nhưng làm nhiều cũng chán, muốn phát triển thì học như vậy là không đủ.
À há, C# nó ko chỉ tầm thường thế đâu. Mình không biết trình độ của bạn đến mức nào không dám bàn nhưng đánh giá thế là chưa đúng và đầy đủ, nó hỗ trợ nhiều vì bạn có nghe câu: "Tôi vĩ đại vì tôi biết đứng trên vai người khổng lồ" chưa? Bạn phát minh lại cái cày thì có gì là hay?
À há, C# nó ko chỉ tầm thường thế đâu. Mình không biết trình độ của bạn đến mức nào không dám bàn nhưng đánh giá thế là chưa đúng và đầy đủ, nó hỗ trợ nhiều vì bạn có nghe câu: "Tôi vĩ đại vì tôi biết đứng trên vai người khổng lồ" chưa? Bạn phát minh lại cái cày thì có gì là hay?
??? tôi nói phát minh lại cái cầy lúc nào vậy? Hay bạn cầy như trâu nhiều nên bệnh rồi :go:
C# hỗ trợ nhiều như thế nào chắc bạn cũng biết chút ít. Lúc đó thì phải biết nhiều về các vấn đề khác không chỉ còn là ngôn ngữ lập trình nữa. Ý tôi là vậy đó.
Chắc bạn chỉ quen code như trâu bò nên :byebye:
nguyendinhdoan
12-06-2009, 21:12
Tớ thì:
Học ngôn ngữ trước !
Thạo rồi thì hãng học thuật tóan !
Ngôn ngữ thì học C hoặc nhảy vào học Java hay C# luôn cũng đc.
P/s: Đi du học thì ít nhất cũng phải thạo ngôn ngữ của nó đã rồi hãng học j thì học =))
FengFeng
12-06-2009, 21:14
Ngôn ngữ lập trình cuối cùng nó chỉ là ngôn ngữ, học lập trình đâu chỉ học ngôn ngữ, bạn phải hiểu cách diễn đạt bằng ngôn ngữ nào đó để giải quyết vấn đề. Nghiên cứu ngôn ngữ để trở thành nhà ngôn ngữ học à? :D
Tớ cày như trâu không thì ko rõ, vô ngành này, lại dính tới lập trình thì không cày còn lâu mới khá được. :D
Theo mình là học thẳng luôn C#, mò C# đương nhiên là phải mò luôn OOP. Vì thế tự dưng lại học tốt OOP. Xong thử luôn .NET, hiểu luôn .NET thì quá hay.
Trong quá trình học thì thử làm vài cái vớ vẩn: lúc đó sẽ liên quan đến CSDL nè, Web nè... lục sách lý thuyết CSDL ra>>>học, làm WEB >>>>học.
Để học cấu trúc dữ liệu thì lấy C#,C kết hợp làm mấy chương trình có xài môn TTN Tạo "game mê cung, tháp HN...."là tạm CTDL rùi!!! không biết đúng ko.... tui kém CTDL :surrender::surrender:
bro nào học ok CTDL đơn cử vài vd thực tiễn cho tớ sáng mắt cái!!!!:surrender::surrender:
blackberry
12-06-2009, 21:29
??? tôi nói phát minh lại cái cầy lúc nào vậy? Hay bạn cầy như trâu nhiều nên bệnh rồi :go:
C# hỗ trợ nhiều như thế nào chắc bạn cũng biết chút ít. Lúc đó thì phải biết nhiều về các vấn đề khác không chỉ còn là ngôn ngữ lập trình nữa. Ý tôi là vậy đó.
Chắc bạn chỉ quen code như trâu bò nên :byebye:
cũng công nhận là C# hỗ trợ rất nhiều.mấy vấn đề mà trong VC++ mình làm cả ngày mới ra thì trong thằng C# này chỉ 1 dòng.nói thiệt vấn đề cơ bản là tùy người và 1 phần nữa là tùy cái đầu của mình nhớ được bao nhiêu(theo kinh nghiệm cá nhân thôi)nhớ hết được thằng C# thì bạn là pro.còn nếu vận dụng được hết thì bạn không phải là kĩ sư lập trình bình thường nữa rồi:go:
Theo mình là học thẳng luôn C#, mò C# đương nhiên là phải mò luôn OOP. Vì thế tự dưng lại học tốt OOP. Xong thử luôn .NET, hiểu luôn .NET thì quá hay.
Trong quá trình học thì thử làm vài cái vớ vẩn: lúc đó sẽ liên quan đến CSDL nè, Web nè... lục sách lý thuyết CSDL ra>>>học, làm WEB >>>>học.
Để học cấu trúc dữ liệu thì lấy C#,C kết hợp làm mấy chương trình có xài môn TTN Tạo "game mê cung, tháp HN...."là tạm CTDL rùi!!! không biết đúng ko.... tui kém CTDL :surrender::surrender:
bro nào học ok CTDL đơn cử vài vd thực tiễn cho tớ sáng mắt cái!!!!:surrender::surrender:
Cấu trúc dữ liệu của C# hỗ trợ hết rồi vì vậy nếu như gọi là sài thì rất đơn giản, có các đối tượng List, Stack và Queue rồi. Hiểu định nghĩa 3 loại này là sài được. ( 3 loại này hay hơn mảng ở chỗ là cấp phát bộ nhớ động không bị tốn bộ nhớ, cần bao nhiêu ô nhớ là tự cấp phát được ).
Muốn hiểu chi tiết thì phải tự cài đặt các phương thức của các lớp này = C++, sử dụng con trỏ. Đó cũng là cái hay và dở của C# :sogood:, có nhiều cái nên biết thì hỗ trợ rồi. :look_down:
suvival198
12-06-2009, 21:35
theo thứ tự ở trg mình , cao cấp > rời rạc > C >OOP > java > C#
thuytuyet
12-06-2009, 21:47
học thật kỹ sao cho nhuyễn toán cao cấp (tập trung vào ma trận và hệ pt tuyến tính) và xác suất thống kê, sau khi ngon rồi thì học tốt pascal đồng thời học song song các môn cơ sở dữ liệu (acess chẳng hạn), sau khi nhẵn mặt pascal thì nâng lên c,c+,c++,c# (nếu đc học nốt luôn visual basic), sau khi nắm vững c các loại thì nâng lên visual studio (kèm theo các loại ngôn ngữ cơ sở dư liệu cao hơn như MySQL v.v..) và .netframework, học xong đc 2 cái cuối thì coi như đã đạt đc programmer và có thể tự nghiên cứu các loại ngôn ngữ khác đc rồi, lúc đó có thể bổ sung java, php nếu muón.
học thật kỹ sao cho nhuyễn toán cao cấp (tập trung vào ma trận và hệ pt tuyến tính) và xác suất thống kê, sau khi ngon rồi thì học tốt pascal đồng thời học song song các môn cơ sở dữ liệu (acess chẳng hạn), sau khi nhẵn mặt pascal thì nâng lên c,c+,c++,c# (nếu đc học nốt luôn visual basic), sau khi nắm vững c các loại thì nâng lên visual studio và .netframework, học xong đc 2 cái cuối thì coi như đã đạt đc programmer và có thể tự nghiên cứu các loại ngôn ngữ khác đc rồi.
_Không biết mọi người sao, tui thấy học đến ra trường rồi. Toán chả xài được gì (trừ những người theo môn khoa học máy tính thì dính liếu đến nó), thấy bỏ môn toán thay vào môn mà dạy cách lập trình bằng ngôn ngữ tự nhiên, cái này bổ ích hơn rất nhiều. Nó không những giúp tăng logic trong lập trình mà còn tăng tư duy nữa. Phân biệt giữa khoảng cách C#,vb, pascal, C/C++. Nó có khoảng cách giữa nhau đấy, bạn nên chọn C/C++ là ngôn ngữ đầu đời thứ nhất là do cú pháp nó sẽ rất quen thuộc trong C# và java, thứ hai là nó sát bên dưới hơn so với C#,vb, kể cả pascal. Thứ ba bạn chỉ cần học C# hoặc vb, vì nó na ná nhau, học cái nào nên tập trung vào một, không phải cứ ai biết nhiều ngôn ngữ là nội công cao đâu. Nội công cao là những người biêt vận dụng hết những gì mà ngôn ngữ đó cung cấp :look_down:
_Bạn nên đầu tư vào cấu trúc dữ liệu, nó khá quan trọng về sau. Còn phần thuật giải thì chỉ cần biết vài loại sort cơ bản, vì mấy cái cao cấp quá thì cũng ít có cơ hội mà xài :byebye:.
dualathlon
12-06-2009, 22:01
Con đường nghề nghiệp làm coder (có chỗ gọi là developer) tương đối gian khổ. Và kết cục của nó có 2 ngã rẽ, ngã rẽ đó nằm vào khoảng năm thứ 8 đến 10 trong quá trình đi cày:
_ xuống làm tester. Nguyên nhân: sau vài năm xài cái đầu + không update võ công :|
_ lên PM - project manager. Ai cũng mong muốn cái này. Sau 1 thời gian làm PM, bạn có thể chuyển ngành, đi ra làm tư vấn giải pháp software - nghề bán nước bọt.
-----------------------------------
Con đường tốt nhất để làm coder; tui trình bày theo thứ tự quan trọng giảm dần:
1. Học cách tư duy để làm sao diễn đạt ý tưởng của mình bằng 1 ngôn ngữ nào đó. Cái này rất rộng, đòi hỏi phải rèn luyện chứ chơi mì ăn liền không được đâu. Thông thường thì phần này đòi hỏi 50% tự học - nghĩa là bạn tư viết 1 app nho nhỏ nào đó. 50% còn là thì tốt nhất là nên đi học ở trường ĐH, vd như nguyên lý lập trình OOP ...
2. Hoc những thuật toán cơ bản. Vd như bubble sort, quick sort, đệ quy, duyệt cây B trees. Cái này thì có 1 cuốn sách khá nổi tiếng là cấu trúc dữ liệu + thuật toán = chương trình.
3. Học cách sử dụng thật thông thạo + nhuần nhuyễn 1 ngôn ngữ phổ biến nào đó. Theo ý kiến của tui thì là C++. Lý do vì đó là ngôn ngữ support nhiều programming paradigm.
4. Học cách sử dụng thư viện hỗ trợ đi kèm theo ngôn ngữ ở phần trên. Vd bạn chọn C++ thì học STL/Boost. Chọn Java thì thư viện JDK. C# thì .Net ...
Một khi bạn đạt đủ độ chín muồi, nghĩa là quăng cho bạn 1 yêu cầu nào đó; vd nhỏ nhặt như yêu cầu viết chương trình GUI chạy trên Win/Linux, tính số tiền net hàng tháng bạn phải trả xem ISP có ăn gian không chẳng hạn. Input của bạn là file log của DUMeter chẳng hạn. Bạn viết không cần lật sách, trong vòng ~ 1 tiếng là xong. Sử dụng đầy đủ mọi thứ của ngôn ngữ: GUI, input/output, OOP, regex, ... :)
Khi đó, việc học thêm 1, 2, 3, ... ngôn ngữ nào khác chỉ là việc đọc user guide của nó.
Sau đó, nếu bạn muốn leo lên vị trí cao hơn 1 tí thì phải học thêm Design Pattern, nghĩa là cách viết component làm sao để sau này bảo trì nó dễ dàng. Cái này thì cần học thuộc 26 patterns trong cuốn "Design Patterns - Elements of Reusable Object-Oriented Software".
-----------------------------
Programming paradigm là cách diễn đạt ý tưởng của bạn để ngôn ngữ đó chuyển sang chỉ thị máy.
1. Imperative: nghĩa là bạn mô tả chi tiết từng bước mà máy sẽ thực thi.
2. Object oriented: bạn mô tả bài toán thành những đối tượng, và chương trình hoạt động là do sự tương tác giữa các đối tượng.
3. Template based metaprogramming: bạn viết 1 thuật toán / container chung chung nào đó, chẳng có kiểu gì cụ thể (int, short, byte ...). Compiler sẽ tùy bài toán sẽ tạo ra mã thực thi cụ thể cho bạn. Cái này cụ thể nhất là toàn bộ các thuật toán trong header trong c++.
4. Functional: Bạn diễn đạt thuật toán của mình bằng đệ quy + dữ liệu bất biến. Python, Haskell, Scala, Ocaml, F# ... Cái này thích hợp cho các app nặng về toán học.
5. Còn rất nhiều nữa, tham khảo http://en.wikipedia.org/wiki/Programming_paradigm
Danh sách những ngôn ngữ nào thuộc paradigm nào: http://en.wikipedia.org/wiki/Multi-paradigm_programming_language
-----------------------
Cái này ngoài lề, bạn nào muốn tham khảo cú pháp ngôn ngữ phổ biến nào đó, tốc độ mã thực thi khi giải 1 bài toán nào đó, thì lên đây tham khảo.
http://shootout.alioth.debian.org/
thuytuyet
12-06-2009, 22:28
_Không biết mọi người sao, tui thấy học đến ra trường rồi. Toán chả xài được gì (trừ những người theo môn khoa học máy tính thì dính liếu đến nó), thấy bỏ môn toán thay vào môn mà dạy cách lập trình bằng ngôn ngữ tự nhiên, cái này bổ ích hơn rất nhiều. Nó không những giúp tăng logic trong lập trình mà còn tăng tư duy nữa. Phân biệt giữa khoảng cách C#,vb, pascal, C/C++. Nó có khoảng cách giữa nhau đấy, bạn nên chọn C/C++ là ngôn ngữ đầu đời thứ nhất là do cú pháp nó sẽ rất quen thuộc trong C# và java, thứ hai là nó sát bên dưới hơn so với C#,vb, kể cả pascal. Thứ ba bạn chỉ cần học C# hoặc vb, vì nó na ná nhau, học cái nào nên tập trung vào một, không phải cứ ai biết nhiều ngôn ngữ là nội công cao đâu. Nội công cao là những người biêt vận dụng hết những gì mà ngôn ngữ đó cung cấp :look_down:
_Bạn nên đầu tư vào cấu trúc dữ liệu, nó khá quan trọng về sau. Còn phần thuật giải thì chỉ cần biết vài loại sort cơ bản, vì mấy cái cao cấp quá thì cũng ít có cơ hội mà xài :byebye:.
thực chất các loại ngôn ngữ c bạn cảm thấy nó na ná giống nhau và quen thuộc là vì chúng đều từ gốc pascal phát triển lên (pascal->c=pascal+thêm một số thuật toán cao hơn->c+,c++=c+thêm thuật toán->c#) nên trình tự chính quy bao giờ cũng là từ pascal đi lên mà để hiểu đc pascal cần phải hiểu đc xác suất thống kê, ma trận và pt tuyến tính, ngoài ra học vb cái chính ko phải là ngôn ngữ mà chủ yếu là học cách truy xuất csdl còn ngôn ngữ thì chính là c rồi. Bạn thử nghĩ ngược lại xem, nếu ko học toán cao cấp và xác suât thống kê mà đùng một cái học luôn c#, vb thì có chắc bạn học đc ko giống như là ko học toán từ cấp 1 (+,-,x,/) lên mà đùng một cái học toán cấp 3 (đạo hàm, tích phân) thì có học đc ko hay thầy bảo sao làm vậy, làm nhiều rồi quen mà ko hiểu đc gốc căn bản nó như thế nào. Còn ra ngoài tất nhiên mỗi người thường chỉ sử dụng chủ yếu 1 hoặc 2 ngôn ngữ mình hiểu nhất, nắm rõ nhất kiếm cơm thôi.
Trong này có 1 số bạn chưa đi làm , bị nhồi sọ trên giảng đường Đại Học :">
Nhưng vẫn rất to mồm :(
thực chất các loại ngôn ngữ c bạn cảm thấy nó na ná giống nhau và quen thuộc là vì chúng đều từ gốc pascal phát triển lên (pascal->c=pascal+thêm một số thuật toán cao hơn->c+,c++=c+thêm thuật toán->c#) nên trình tự chính quy bao giờ cũng là từ pascal đi lên mà để hiểu đc pascal cần phải hiểu đc xác suất thống kê, ma trận và pt tuyến tính, ngoài ra học vb cái chính ko phải là ngôn ngữ mà chủ yếu là học cách truy xuất csdl còn ngôn ngữ thì chính là c rồi. Bạn thử nghĩ ngược lại xem, nếu ko học toán cao cấp và xác suât thống kê mà đùng một cái học luôn c#, vb thì có chắc bạn học đc ko giống như là ko học toán từ cấp 1 (+,-,x,/) lên mà đùng một cái học toán cấp 3 (đạo hàm, tích phân) thì có học đc ko hay thầy bảo sao làm vậy, làm nhiều rồi quen mà ko hiểu đc gốc căn bản nó như thế nào. Còn ra ngoài tất nhiên mỗi người thường chỉ sử dụng chủ yếu 1 hoặc 2 ngôn ngữ mình hiểu nhất, nắm rõ nhất kiếm cơm thôi.
_Đang nói tới xác suất thống kê và toán cao cấp, tự nhiên quay qua cấp 1,cấp 2, cấp 3. Thống kê và toán cao cấp nó khác hoàn toàn so với 1,2,3 đấy ~.~. Thi đại học mà nó ra toán cao cấp (theo thuần tý chứ đừng so sánh với mấy cái mấy trường dân lập nó dạy) và toán xác xuất. Thì ..... tỉ lệ đậu khá khác biệt ~.~
Trong này có 1 số bạn chưa đi làm , bị nhồi sọ trên giảng đường Đại Học :">
Nhưng vẫn rất to mồm :(
_Mọi người biết gì nói đó thôi. Nói như bạn thì .... Những người mà đi làm cũng chả có rảnh rồi vào trả lời đâu ~.~ (tuy co mà rất ít). Anh họ mình nó làm gì gần như suốt, công ty làm chưa đã về nhà còn làm ~.~, chả thấy nó dư thời gian, mà rủ chơi game chung :surrender:
huynhphan89
12-06-2009, 23:07
Trong này có 1 số bạn chưa đi làm , bị nhồi sọ trên giảng đường Đại Học :">
Nhưng vẫn rất to mồm :(
4rum mà bro, chia sẻ thôi, bro có kình nghiệm gì hay thì nói ra, anh em lắng nghe ngay, chứ chê bai thế cũng có lợi gì đâu :confident:
nhidaulau
16-11-2009, 19:55
học lập trình(nói chung là IT) trước hết phải co đam mê và mục đích.học cái gì,học như thế nào thì không co quan trọng. Nếu mún học>ok< phải có hệ thống.đầu tiên phải bò.rồi mới đi,sau đó là Maraton<kakakaka.tốt nhất là kiếm một sưpụ brò đi,ở đây bạn không thể biết hết được.củng không ai hỗ trợ được cho bạn nhiều đâu.
Bro này nói đúng đó. Mình cũng xin bổ sung thêm 1 chút. Học lập trình thì ngôn ngữ chỉ là phụ, thuật toán mới là chính. Một khi đã nắm vững thuật toán rồi thì ngôn ngữ nào mình cũng viết đc cả (việc làm quen với 1 ngôn ngữ mới là khá dễ), chủ yếu là nắm đc cái tư duy lâp trình thôi. Rèn luyện cái tư duy cho sắc bén thì coding sẽ nhẹ nhàng. Mình thấy đôi khi suy nghĩ logic trong lập trình cũng có lợi trong cuộc sống lắm đấy --> giúp mình suy nghĩ nhanh và chính xác hơn. Vài lời cùng bro ^^.
Chuẩn đấy.Tớ cũng đang lập trình này.Nhưng muk dốt quá:aboom:
DTT_11-1983
16-11-2009, 20:21
Theo mình nghĩ thì bạn nên học cho cứng 1 ngôn ngữ lập trình nào đó, lấy ngôn ngữ đó làm ngôn ngữ lập trình chính của mình. Như vậy là ổn. Những cái khác thì chỉ cần làm nhiều có kinh nghiệm là quen ngay thôi.
vBulletin® v3.8.0, Copyright ©2000-2026, Jelsoft Enterprises Ltd.