12/08/2018, 18:11

Solving problems with Swift - Fibonacci

Việc học một ngôn ngữ lập trình mới luôn thú vị nhưng cũng đầy thử thách. Với mình, một việc vô cùng quan trọng khi bắt đầu học một ngôn ngữ đó chính là tìm tài liệu đủ tốt để có thể giúp mình hiểu sâu về bản chất cũng như những tính năng, đặc điểm mà ngôn ngữ đó mang lại. Với C, chúng ta không thể ...

Việc học một ngôn ngữ lập trình mới luôn thú vị nhưng cũng đầy thử thách. Với mình, một việc vô cùng quan trọng khi bắt đầu học một ngôn ngữ đó chính là tìm tài liệu đủ tốt để có thể giúp mình hiểu sâu về bản chất cũng như những tính năng, đặc điểm mà ngôn ngữ đó mang lại. Với C, chúng ta không thể bỏ qua "The C Programming Language", do chính tác giả của C viết, tương tự như vậy, với Swift, chắc chắn quyển sách đầu tiên các bạn nên đọc là "The Swift Programming Language" được phát hành bởi Apple. Tuy nhiên, để có thể sử dụng một ngôn ngữ lập trình một cách thành thạo và hiệu quả, bên cạnh việc đọc tài liệu tốt, chúng ta cần phải thực hành với nó thật nhiều. Có rất rất nhiều cách để bạn có thể thực hành với một ngôn ngữ: làm một ứng dụng nho nhỏ, nhái lại những đoạn code của các cao thủ,...Với mình cách hiệu quả nhất chính là áp dụng những kiến thức về khoa học máy tính, giải thuật, hay design pattern mà mình đã được học và được thực hành ở các ngôn ngữ khác vào ngôn ngữ mình muốn học.

Bài viết này mình không nhằm giới thiệu về Swift, mà mình muốn sử dụng Swift để giải quyết các vấn đề, các bài toán rất phổ thông trong quá trình các bạn tiếp cận với lập trình, vì thế, nó khá hợp cho những bạn nào muốn tìm hiểu cơ bản về khoa học máy tính, về giải thuật hay đơn giản là tò mò về cách mà chúng ta sử dụng máy tính để giải quyết các vấn đề.

Lưu ý rằng bài viết này không phải dành cho những bạn chưa biết gì về Swift, bạn cần phải có chút kiến thức cơ bản về ngôn ngữ này, không cần quá sâu, chỉ cần đi hết chuơng này là được (https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html), nếu bạn chưa lập trình bao giờ, hãy đọc qua những khái niệm cơ bản như biến, hàm,... trước khi bắt đầu

Do KHMT là một lĩnh vực rất rộng, nên thật khó để mình có thể trình bày mọi thứ được mà sẽ chỉ đề cập đến những vấn đề thường gặp nhất, phổ thông nhất mà mình được giới thiệu ở trường đại học. Những vấn đề này mình sắp xếp theo thứ tự phức tạp tăng dần, từ những vấn đề mà chỉ vài dòng code, 1 hàm nhỏ là có thể giải quyết, gói gọn trong 1 bài, cho đến những vấn đề phức tạp mà có lẽ phải vài bài, phải xây dựng cả một hệ thống mới xong. Ở mỗi bài viết mình đều đặt categories cho vấn đề mình sẽ để cập để các bạn có thể dễ theo dõi             </div>
            
            <div class=

0