Bài viết mới nhất


Chào các bạn!

Hôm nay mình xin chia sẻ một số từ khóa để các bạn có thể học lập trình Java Core từ cơ bản đến nâng cao.




JAVA BASIC
  • Java - Home
  • Java - Overview
  • Java - Environment Setup
  • Java - Basic Syntax
  • Java - Object & Classes
  • Java - Basic Datatypes
  • Java - Variable Types
  • Java - Modifier Types
  • Java - Basic Operators
  • Java - Loop Control
  • Java - Decision Making
  • Java - Numbers
  • Java - Characters
  • Java - Strings
  • Java - Arrays
  • Java - Date & Time
  • Java - Regular Expressions
  • Java - Methods
  • Java - Files and I/O
  • Java - Exceptions

JAVA OBJECT ORIENTED
  • Java - Inheritance
  • Java - Overriding
  • Java - Polymorphism
  • Java - Abstraction
  • Java - Encapsulation
  • Java - Interfaces
  • Java - Packages
  • 3. Java Advanced
  • Java - Data Structures
  • Java - Collections
  • Java - Generics
  • Java - Serialization
  • Java - Networking
  • Java - Sending Email
  • Java - Multithreading
  • Java - Applet Basics
  • Java - Documentation

Các từ khóa để học về Java Swing hoặc Android sẽ được mình cập nhật trong các bài viết sau.Tham khảo bài viết tương tự với ngôn ngữ lập trình C# tại: Trình tự học C# từ cơ bản đến nâng cao

Chào các bạn, chúc các bạn học tốt!



Chào các bạn!

Hôm nay mình xin chia sẻ một số từ khóa để các bạn có thể học lập trình C# từ cơ bản đến nâng cao.




  • C# - Overview
  • C# - Environment
  • C# - Program Structure
  • C# - Basic Syntax
  • C# - Data Types
  • C# - Type Conversion
  • C# - Variables
  • C# - Constants
  • C# - Operators
  • C# - Decision Making
  • C# - Loops
  • C# - Encapsulation
  • C# - Methods
  • C# - Nullables
  • C# - Arrays
  • C# - Strings
  • C# - Struct
  • C# - Enums
  • C# - Classes
  • C# - Inheritance
  • C# - Polymorphism
  • C# - Operator Overloading
  • C# - Interfaces
  • C# - Namespaces
  • C# - Preprocessor Directives
  • C# - Regular Expressions
  • C# - Exception Handling
  • C# - File I/O
  • C# - Advanced Tutorial
  • C# - Attributes
  • C# - Reflection
  • C# - Properties
  • C# - Indexers
  • C# - Delegates
  • C# - Events
  • C# - Collections
  • C# - Generics
  • C# - Anonymous Methods
  • C# - Unsafe Codes
  • C# - Multithreading


Các bạn cứ học theo từng mức độ, search các từ khóa này mà học thì sẽ dễ học và tiện nắm bắt các kiến thức hơn
Tham khảo các từ khóa tương tự với ngôn ngữ Java tại: Trình tự học Java Core từ cơ bản đến nâng cao

Chúc các bạn thành công!




Bài viết được dịch từ website Skilledup

Python - ngôn ngữ lập trình hiện đại và dễ học


Tất cả chúng ta đều từng được nghe những lời khuyên rằng: Đại học sẽ trang bị cho chúng ta những hành trang để tiến tới thành công, sẽ là những chiến mã đưa chúng ta những thung lũng sương mù để đến với những giấc mơ của chúng ta.

Chẳng bao giờ là quá muộn để học lập trình cả. Nhưng bạn nên bắt đầu từ đâu? Chúng tôi khuyên bạn nên bắt đầu với Python, ngôn ngữ lập trình được lấy cảm hứng từ nhóm hài Monty Python. Vậy bạn kì vọng gì vào một ngôn ngữ lập trình mang tên theo tên của một nhóm người chuyên làm mọi thứ trở nên buồn cười?
Well, Có rất nhiều lý do rõ ràng nhưng chúng tôi sẽ cung cấp cho bạn 5 lý do thuyết phục nhất về tại sao Python là ngôn ngữ mà bạn nên học đầu tiên.



    1. DỄ HỌC

Hãy đối mặt với thực tế rằng, học Python không thú vị như là một cuộc thi breakdance tổ chức trên tàu sân bay. May mắn thay, Python được thiết kế để dành cho những người mới bắt đầu. 
Ngôn ngữ Python dễ đọc như toán học Mẫu giáo, cú pháp của Python rất sáng sủa vì đã loại bỏ sự rườm rà trong việc khai báo biến tẻ nhạt và cặp dấu ngoặc xoắn. Python cũng yêu cầu viết ít code hơn để hoàn thành các tác vụ cơ bản, làm cho nó trở thành một ngôn ngữ rất tiện lợi. Code Python thường ngắn hơn 3-5 lần so với Java, và ngắn hơn 5-10 lần so với C++
Nhưng mặc dù Python dễ dàng để tự học, chúng ta đều biết được sự nguy hiểm của việc học một mình và không chuẩn bị trước. May mắn thay, sau nhiều năm phát triển, cộng đồng Python đã có một bộ sưu tập tài nguyên phong phú giúp bạn học lập trình một cách nhanh chóng và hiệu quả.

Ngôn ngữ lập trình Python được lấy tên từ nhóm hài kịch Monty Python


   2. NỀN TẢNG VỮNG CHẮC

Python có thể tạo nền tảng vững chắc để bạn tiến vào thế giới lập trình. Các nhà tuyển dụng đang tìm kiếm những lập trình viên full-stack và Python sẽ giúp bạn đáp ứng được yêu cầu đó. Python là một ngôn ngữ hướng đối tượng, giống như Javascript, C++, C#, Perl, Ruby,... và những ngôn ngữ lập trình lớn khác. Đối với những ai đang có kế hoạch để trở thành nhà phát triển phần mềm, thì việc học ngôn ngữ này sẽ giúp bạn thích nghi dễ dàng với các môi trường khác.

Cụ thể, kinh nghiệm làm việc với Python có thể là một nền tảng vững chắc bởi vì các phương thức của Python có thể được sử dụng trong một loạt các ứng dụng. Ví dụ, Tổ chức mã nguồn và cấu trúc của Python có thể hoạt đông như Rosetta Stone khi cố gắng giải mã ngôn ngữ lập trình bí ẩn hơn.
Sau đây là một so sánh ngắn của Python với hai ngôn ngữ khác: Ruby và PHP. Ruby có cấu trúc tương tự như Python trong khi PHP có cú pháp rất khác.

Vòng lặp "for" trên một danh sách [Python]:

Vòng lặp "each" với một mảng [viết bằng Ruby]:

Vòng lặp "while" trong Python:
Vòng lặp "while" trong PHP:
Nếu chưa có kinh nghiệm lập trình trước đây, bất cứ ai cũng có thể dễ dàng phát hiện những điểm tương đồng và khác biệt giữa cú pháp của Python và những ngôn ngữ khác. Dù sao đi nữa, một sự hiểu biết cơ bản về Python khiến cho việc nhảy qua Ruby dễ như trở bàn tay, và việc hiểu code PHP trở thành một nhiệm vụ dễ dàng hơn. Một khi bạn tìm hiểu về triết lý Python (Zen of Python), bạn có thể áp dụng thành công khi viết code trong bất kỳ ngôn ngữ nào.


3. THẾ LẬP TRÌNH RAPSBERRY PI THÌ SAO?

Biến công việc lập trình trở thành niềm vui là điều không hề dễ dàng chút nào, cho dù bạn là người mới bắt đầu, lập trình viên dày dặn, hoặc chỉ là trẻ em. Ngay cả những giáo viên nhiệt tình nhất cũng phải rất vất vả để cho học viên trở nên hào hứng khi học lập trình. Nhưng có một nơi mà lập trình luôn mang lại niềm vui: cầu nối thu hẹp khoảng cách giữa máy tính trừu tượng và các ứng dụng thực tế giờ đây được thực hiện dễ dàng bằng Pi.

Raspberry Pi là một máy tính siêu nhỏ giá rẻ có kích thước bằng một tấm card, đang được sử dụng rộng rãi để tạo ra những thứ thú vị như robot, ô tô điều khiển từ xa, và video game console. Với Python là ngôn ngữ lập trình chính của nó, Raspberry Pi đang được sử dụng rộng rãi ngay cả bởi trẻ em để tạo ra các radio, máy ảnh, robot đối kháng, hay cả máy cho thú cưng ăn... 
Với chứng cuồng Raspberry Pi có xu hướng ngày càng tăng, có vô số các dự án DIY, tài liệu hướng dẫn, và sách trên internet để bạn lựa chọn. Chúng sẽ giúp bạn đi từ chương trình "hello world" đến một cái gì đó mà bạn có thể thực sự tự hào. Mặc dù bạn sẽ không thể xây dựng một mini Voltron trong tương lai gần, cảm giác hài lòng khi hoàn thành một dự án DIY sẽ thúc đẩy bạn tiến xa hơn trong việc học tập.



   4. TIỀN TIỀN VÀ TIỀN

Nếu việc thiết kế một con robot biết hát ngẫu nhiên những bài hát của Gun N' Rose bằng Raspberry Pi và Python vẫn chưa làm bạn thấy hài lòng, vậy còn triển vọng của việc làm dày túi tiền của bạn hơn chỉ với ngôn ngữ Python thì như thế nào? Các công ty như Google, Yahoo!, Disney, Nokia, và IBM đều sử dụng Python. Trong thực tế, trong số các ngôn ngữ lập trình, Python có sự tăng trưởng lớn nhất ở số lượng việc làm - luôn ở mức 19%  - (tháng 3, 2013) 

Đáng chú ý, nhu cầu tuyển dụng chung cho các chuyên viên IT giảm 5% so với năm trước (tháng 1 - 2014), nhưng nhu cầu tuyển dụng các lập trình viên Python được tăng thêm tới 8,7%. Tại NewYork, các developers Python đứng thứ 8 trong bảng xếp hạng nhu cầu tuyển dụng nhân viên công nghệ cao, với mức lương trung bình là 106 000 $/ năm. Ở bên kia Đại Tây Dương, nhu cầu tuyển dụng lập trình viên Python cũng rất cao, như trong biểu đồ sau đây:



    5. NHIỀU WEBSITE LỚN SỬ DỤNG

Phát triển web vẫn là một mảnh đất màu mỡ, là "một nền kinh tế bùng nổ" dành cho các lập trình viên. Bạn có thể sử dụng Python trong nhiều lĩnh vực khác nhau. Django - là một web framework mã nguồn mở phổ biến được viết bằng Python - là nền tảng của các trang web lớn như Pinterest, The New York Times, The Guardian, Bit Bucket, và Instagram. Django là một framework hoàn chỉnh và khá phức tạp trong phát triển web nhưng vẫn đem lại cho bạn nhiều sự kiểm soát như bạn muốn. Là một framework mã nguồn mở, tất cả các thông tin bạn cần để bắt đầu có thể được tìm thấy tại DjangoProject.com.

Python là ngôn ngữ kịch bản duy nhất bạn cần để bắt đầu thiết kế trang web và các ứng dụng của riêng mình. Những gì là đúng với Python thì cũng đúng với Django. Phát triển web với Django có nhiều tài liệu và một cộng đồng hỗ trợ lớn, giúp bạn mất rất ít thời gian để viết code. Với Django, những ý tưởng tuyệt vời có thể trở thành sản phẩm thực tế một cách nhanh chóng, tiết kiệm hàng giờ code. 
Điều này giúp bạn có nhiều thời gian hơn đê cải thiện các concept của mình, và biến chúng trở thành các sản phẩm cao cấp và chuyên nghiệp! Hơn nữa, Django không phải là framework phát triển duy nhất dành cho các lập trình viên Python. Có rất nhiều framework Python khác mà bạn có thể khám phá.


HÃY BẮT ĐẦU HỌC VÀ LÀM VIỆC VỚI PYTHON NGAY HÔM NAY!

Tại sao lại là Python? Vì nó rất dễ học và sẽ cung cấp cho bạn một kiến thức nền tảng để bạn có thể chuyển sang các ngôn ngữ khác. Một thiết bị ngoại vi như Raspberry Pi sẽ giúp bạn nhận ra Python có thể được sử dụng theo một cách rất thú vị và vui nhộn. Cuối cùng, với các công cụ phát triển web như Django, Python có thể giúp bạn biến bất kỳ ý tưởng kiếm tiền nào trở thành hiện thực.


Nếu đã cảm thấy thích Python, minh xin trích dẫn một số công cụ và diễn đàn học tập python:
 - Cộng đồng Python Việt Namhttp://pythonvietnam.info/index.php
 - Các khóa học Python online trên CodecademyCoursera
 - Web hỗ trợ học tập Tutorialspoint: http://www.tutorialspoint.com/python/index.htm
 - Series dạy lập trình Python của anh Lê Trần Đạthttps://www.youtube.com/playlist?list=PLyiioioEJSxEh_S_XFvG0d2xKRMSWLfN_
 - Bài chỉ dẫn Python: http://www.vithon.org/tutorial/2.5/tut.html
 - Tài liệu, ebook: http://sinhvienit.net/forum/ebook-ve-lap-trinh-python.265250.html 

Trên là bài viết về 5 lý do để chọn Python làm ngôn ngữ lập trình đầu tiên được dịch lại và một số công cụ để bước đầu học lập trình Python. 
Chào các bạn, và chúc các bạn học tốt!


Chào các bạn!
Hôm nay mình xin giới thiệu với các bạn cách thêm control động hay còn gọi là dynamic control trong C# windows form.


GIỚI THIỆU

Trong nhiều chương trình, đôi khi bạn cần tạo thêm một control mới ngay trong lúc chương trình đang thực thi, hoặc xóa một control hiện có sẵn.
Vậy thì làm thế nào? Lấy đâu ra giao diện thiết kế của Visual Studio để thêm?
Khi đó ta phải sử dụng control động (Dynamic controls)

Dynamic control trong lập trình C#

Visual Studio .NET không có mảng chứa control như Visual Basic 6.0. Nhưng tin vui là bạn vẫn có thể tự thiết lập để làm những điều tương tự. Các ưu điểm của C# Dynamic controls là chúng có thể được tạo ra để phản hồi với cách mà người dùng tương tác với các ứng dụng. Các control được thêm vào trong lúc chương trình thực thi thường là textbox hoặc button. Nhưng tất nhiên, hầu như tất cả các C# control đều có thể được tạo ra như là một dynamic control


LÀM THẾ NÀO ĐỂ TẠO CONTROL ĐỘNG TRONG C#

  • Đầu tiên các bạn cần khai báo một đối tượng Control (nhớ using các namespace cần thiết cho control cần dùng)
  • Thiết lập các thuộc tính cần thiết cho đối tượng vừa khai báo như: Vị trí (top, left, bottom, right), Text, Font, Color,....
  • Thêm control vào danh sách controls của form chứa nó.

Ta thực hành thôi :D 
Đầu tiên trong trình thiết kế, ta thêm một button, và cài đặt sự kiện click cho nó, mục đích khi bấm vào nút nó sẽ tự thêm một textbox mới như hình ở đầu bài.
Sau đó sử dụng đoạn code sau, và xem kết quả xảy ra nhé :) 

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int count = 1;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            AddNewTextBox();
        }

        public System.Windows.Forms.TextBox AddNewTextBox()
        {
            System.Windows.Forms.TextBox txt = new System.Windows.Forms.TextBox();
            this.Controls.Add(txt);
            txt.Top = count * 25;
            txt.Left = 100;
            txt.Text = "Icetea Viet TextBox " + this.count.ToString();
            count = count + 1;
            return txt;
        }
    }
}

   - Vậy là xong phần tạo. Tiếp theo là thao tác hoặc xóa controls. Để xóa control xác định thì bạn cần biết được một trong các thông tin sau (thứ tự của control đó trong list Controls của form, Key của control, Name hoặc Text của control...)
   - Bạn hãy tham khảo các method sau: this.Controls.RemoveAt(int index), this.Controls.RemoveByKey(string key),...

Hoặc các bạn có thể sử dụng vòng lặp foreach, duyệt qua tất cả các control trong list Controls và xét điều kiện
foreach (TextBox txtBox in this.Controls.OfType< TextBox >())
{
        if(txtBox.Text == "IceTea Viet")
        {
               //Do something
        }

        //other condition
}
Như vậy là ta đã biết cách tạo và sử dụng một dynamic control cho mình rồi.
Chúc các bạn học tốt, và nhớ để lại bình luận của mình bên dưới nhé :)



   Chào các bạn! 

    Đã lâu không trở lại với blog mình nhỉ :D dạo này mình lười quá, đồ án và deadline cũng nhiều. Thôi không dài dòng nữa, mình sẽ đi vào vấn đề chính.

   GIỚI THIỆU
   Đã bao giờ bạn nghĩ một phần mềm khi có quá nhiều control thì làm sao để quản lý nhanh các control đó. Hoặc khi có những "nhóm" các control phục vụ các chức năng liên quan đến nhau, khi cần show, hide chúng đồng loại lại phải gọi từng control??? 
   Panel đã ra đời để giải quyết vấn đề đó
   Panel dùng để tạo nhóm các control. Là một container với dạng một khung đơn giản để chưa các sub-control (button, textbox, ...) ở trong nó.




THUỘC TÍNH CỦA PANEL

   Cũng tương tự như các control khác Panel có những thuộc tính rất cơ bản.
   Lưu ý: Các sub-control nằm trong panel, thì sẽ bị ảnh hưởng bởi thuộc tính EnableVisible của panel. Cả hai thuộc tính này đều phụ thuộc vào thuộc tính của panel chứa nó. Đây cũng là lý do dùng panel để show/hide một cụm các control

   Có lẽ các bạn đang thắc mắc khi panel có những chức năng tương tự như Groupbox, vậy thi nó khác gì với groupbox mà chúng ta đã tìm hiểu qua các bài trước. Bạn hãy mở Properties của panel, xem và kiểm tra thử nhé


   Điểm khác nhau giữa Panel và Groupbox:
 - Panel có khả năng Scrollable trong khi groupbox thì không. Panel khi chứa nhiều control có kích thước quá lớn thì thanh cuộn sẽ hỗ trợ việc hiển thị các control đó.
 - Panel còn có hỗ trợ khung viền (borders) đa dạng hơn groupbox
 - Groupbox có thuộc tính Text, dùng làm Caption hiển thị trên đầu khung, trong khi Panel không có


THÊM CONTROL VÀO PANEL

   Để thêm control vào panel bạn có thể kéo thả control đó trực tiếp vào panel chứa nó. Hoặc sử dụng code để thêm
   Ví dụ: Với hàm sau
private void btnCreate_Click(object sender, EventArgs e)
{
        Panel dynamicPanel = new Panel();
        dynamicPanel.Location = new System.Drawing.Point(26, 12);
        dynamicPanel.Name = "Panel123";
        dynamicPanel.Size = new System.Drawing.Size(228, 200);
        dynamicPanel.BackColor = Color.LightBlue;
        dynamicPanel.BorderStyle = BorderStyle.Fixed3D;

        TextBox textBox1 = new TextBox();
        textBox1.Location = new Point(10, 10);
        textBox1.Text = "Học lập trình cùng IceTea Việt";
        textBox1.Size = new Size(200, 30);

        CheckBox checkBox1 = new CheckBox();
        checkBox1.Location = new Point(10, 50);
        checkBox1.Text = "Check Me";
        checkBox1.Size = new Size(200, 30);

        dynamicPanel.Controls.Add(textBox1);
        dynamicPanel.Controls.Add(checkBox1);

        Controls.Add(dynamicPanel);
}
   Kết quả trước và sau click button sẽ là:





TỔNG KẾT

Panel control là một container hay hay là một cơ chế nhóm control trong C# WinForms, và phù hợp cho cả mục đích hình ảnh giao diện và logic chương trình. Với nhiều phong các border, bạn có thể  tổ chức giao diện các sub-control trong panel. Và vì khả năng điều khiển các thuộc tính của các sub-control bạn có thể làm giảm độ phức tạp của code cho chương trình.

Chào các bạn và chúc các bạn học tập tốt!!!


Chào các bạn!

Hôm nay mình xin chia sẻ một số kinh nghiệm học tập của mình khi là sinh viên năm nhất. Lưu ý, với trình độ giới hạn của mình thì những chia sẽ này chỉ dành cho các bạn mới bắt đầu bước vào lập trình thôi nhé :D


   TÌM KIẾM BẠN BÈ


Các bạn nên sớm tìm kiếm cho mình một nhóm bạn cùng sở thích, tính cách để cùng nhau giúp đỡ trong việc học tập. Bởi vì môi trường và cách thức học tập ở Đại học khác rất nhiều so với phổ thông. 
Và bạn cũng không thể nào ôm trọn tất cả các môn mà học tốt được. Bạn cần thời gian để học những thứ mới, lạ, và cần thiết cho chuyên ngành mình hơn là ôm trọn các môn đại cương.

ĐI HỌC ĐẦY ĐỦ




  • Sinh viên năm nhất thì giờ tốt nhất là đi học đầy đủ, đừng bỏ bất cứ một buổi nào mặc dù kiến thức buổi đấy đã biết rồi. Bạn đừng nên chú trọng vào sách vở, cũng đừng nên ỉ lại vào quyển đề cương, vì nếu bạn không siêng thì 2 thứ đấy bạn cũng sẽ không bao giờ đụng tới đâu :)
  • Đến lớp đầy đủ cũng chưa đủ, phải rèn luyện kỹ năng mềm, giao tiếp, thuyết trình, làm nhiều bài tập, luyện tập và tự đề ra mục tiêu cho chính mình (tuần 1 học for, tuần 2 học switch - case,...) , cứ thế thì bạn sẽ nắm được cơ bản và dễ dàng đi sâu vào trong lĩnh vực.
  • Cố gắng làm cho bảng điểm càng đẹp càng tốt và vẫn có thời gian để học lập trình sẽ tốt cho CV của các bạn sau này khi đi xin việc

HỌC TIẾNG ANH, ĐỌC SÁCH ĐỌC TIN TỨC CÔNG NGHỆ MỚI




  • Các bạn cũng biết thời đại hội nhập, ngoại ngữ là cần thiết cho bất kì sinh viên nào, nhất là IT. Bởi vì phần lớn thời gian chúng ta làm việc trên môi trường hoàn toàn bằng tiếng Anh, đâu có IDE nào hỗ trợ tiếng Việt đâu nhỉ :D
  • Khi bạn giỏi tiếng Anh bạn sẽ dễ dàng tiếp cận với các cộng đồng hỗ trợ lập trình, các diễn đàn nước ngoài (như stackoverflow.comhttp://www.codeproject.com/http://www.cplusplus.com/), search lỗi, tài liệu bằng tiếng Anh thì sẽ dễ tìm hơn với ngành IT chúng ta
  • Đa số công ty khi tuyển dụng IT đều cần bạn nói tốt ngoại ngữ, dù bạn lập trình không tốt nhưng vốn ngoại ngữ và giao tiếp tốt thì bạn sẽ chắc chắn thành công ngang hoặc hơn người giỏi lập trình mà ngoai ngữ lại quá tệ
  • Sách học lập trình cũng đa phần là tiếng Anh mới hay và chất, còn sách tiếng Việt thì ít thấy quyển nào thực sự là hay. Sẵn đang nói về sách mình giới thiệu luôn. Quyển C++ Primer Plus là một quyển cũng hay. Quyển Code Complete là dành cho việc thiết kế và viết code hoàn chỉnh hơn. Nếu bạn muốn đầu tư C++ thì tiếp tục đọc quyển C++ Primer Plus. Còn nếu muốn học Code một cách chung / hoàn chỉnh thì đọc Code Complete. Nó bàn luận về cách lập trình tốt hơn, giống Clean Code. Các bạn có thể tham khảo 10 quyển sách lập trình "kinh điển" mà các lập trình viên đều nên đọc
    => Vậy nên hãy cố gắng học tiếng Anh hoặc tiếng Nhật để dễ học và dễ đi làm sau này hơn nhé


QUAN TRỌNG NHẤT: TẬP TRUNG NHIỀU VÀO CÁC MÔN CHUYÊN NGÀNH




  • Các bạn nên học và thành thạo các kiến thức nhập môn - kỹ thuật lập trình. Tài liệu các bạn có thể tham khảo ở đây
  • Tập trung học tư duy, rèn luyện các thuật toán (Sắp xếp, đệ qui, qui hoạch động,...)
  • Dành nhiều thời gian nghiên cứu cơ bản. Có thể nó sẽ chán, à mà không, rất chán. Nhưng bạn sẽ có lợi về sau đấy.
  • Bất cứ khi nào cảm thấy nhàm chán vì các kiến thức quá cơ bản, cứ làm đi làm lại với những cấu trúc chán ngắc, bạn nên tự đưa ra những project nho nhỏ, và hiện thực hóa nó bằng các kiến thức đã học (Ví dụ: Học các cấu trúc, đọc ghi file xong thì làm phần mềm quản lý học sinh, thư viên bằng Console, Học các thuật toán sắp xếp thì làm phần mềm so sánh thời gian thực thi của các loại Sort, Học đệ qui - qui hoạch động xong thì làm các bài thuật toán tám hậu, Mã đi tuần,....)
  • Các bạn cũng nên dành thời gian tham gia các diễn đàn dạy lập trình như daynhauhoc.comhttp://congdongcviet.com/
  • Dành thời gian tham gia các contest trên http://codeforces.com/ sẽ rèn cho bạn tư duy thuật toán và các giải quyết vấn đề một cách nhanh nhất
  • Và lưu ý, đối với các bạn chỉ mới bước chân vào lập trình thì năm nhất chỉ nên dừng ở mức độ thành thạo về một ngôn ngữ duy nhất là  C/C++ nó sẽ làm bàn đạp vững chắc cho các bạn sau này. (Đừng xem thường C/C++ nhé, nó khó hơn các ngôn ngữ khác đấy :D nếu học Master được C/C++ thì lương cao gấp 2, 3 lần lương LTV các ngôn ngữ khác)
  • Đối với các bạn nào đã được học lập trình khá tốt từ cấp ba cũng có thể học theo hướng trên và cộng thêm việc nghiên cứu sơ qua về một ngôn ngữ mới, công nghệ mới (như Java, C# .Net, Python,...) sẽ giúp ích cho các bạn sau này

--------------------------------------------------------------------------------------------------------------------------
 


Cuối cùng, sau khi kết thúc năm nhất đồng nghĩa với việc nghỉ hè, các bạn nên dành thời gian hè đó để suy nghĩ xem mình thích cái gì, mình giỏi cái gì, mình sẽ theo hướng lập trình mobile, hay lập trình web, hay học Khoa học máy tính, trí tuệ nhân tạo (AI),... Và bắt tay vào làm - học thử một ít để xem mình thực sự hứng thú với cái gì, và đâu sẽ là con đường dành cho tương lai mình :)

Bonus cho các bạn tấm ảnh này, hãy góp ý, chia sẻ cảm nghĩ, và bình luận phía dưới để hoàn thiện cho bài viết hơn nhé




Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget