Học Python tại Đà Lạt

 Khóa học Python tại Đà Lạt.

Python căn bản:


Số 3 cần nhớ

 [Lấy trên mạng về, để đây để nhắc bản thân]

NHỮNG CON SỐ 3 CẦN NHỚ SUỐT ĐỜI
1. BA THỨ QUÝ VÔ GIÁ
- Sức khoẻ,
- Lương thiện,
- Trí tuệ.
2. BA THỨ CẦN HẾT LÒNG GÌN GIỮ
- Gia đình,
- Bạn tốt,
- Tình yêu.
3. BA THỨ LÀM NÊN GIÁ TRỊ CON NGƯỜI
- Siêng năng,
- Chân thật,
- Thành đạt.
4. BA THỨ ĐỂ BIẾN MƠ ƯỚC THÀNH HIỆN THỰC
- Đam mê,
- Nỗ lực,
- Kiên trì.
5. BA THỨ CẦN HOÀN THIỆN
- Kỹ năng,
- Tư duy,
- Thái độ.
6. BA THỨ ĐỂ VUI VẺ HẠNH PHÚC
- Cho đi giúp người,
- Yêu thương,
- Biết đủ.
7. BA THỨ ĐỂ CÓ BẠN TỐT
- Cởi mở,
- Nhiệt tình,
- Chính trực.
8. BA TRÁCH NHIỆM CỦA ĐÀN ÔNG
- Để cha mẹ tự hào,
- Để vợ hạnh phúc,
- Để làm gương sáng cho con.
9. BA TRÁCH NHIỆM CỦA PHỤ NỮ
- Hỗ trợ sự nghiệp chồng,
- Chăm sóc tổ ấm và giáo dục con,
- Kết giao quan hệ gia đình và xã hội.
10. BA CÁi ĐỪNG
- Đừng hiền quá để bị bắt nạt,
- Đừng ngốc quá để bị đùa giỡn,
- Đừng tin quá để bị lừa dối.
11. BA THỨ CẦN RÈN LUYỆN
- Nhìn cho thấu,
- Nghĩ cho thông,
- Buông bỏ được.
12. BA THỨ VÔ THƯỜNG
- Thành công,
- Tài sản,
- Sức khoẻ, nhan sắc.
13. BA LỜI KHÔNG NÊN NÓI
- Nói xấu tổn thương người khác,
- Nói lời oán hận tiêu cực,
- Buôn chuyện thiên hạ.
14. BA VIỆC KHÔNG ĐƯỢC QUÊN
- Không quên tâm nguyện ban đầu,
- Không quên gia đình,
- Không quên người đã giúp mình.
15. BA THỨ NUỐI TIẾC Ở ĐỜI
- Không biết lựa chọn,
- Không kiên trì lựa chọn,
- Không kiên quyết lựa chọn.
16. BA THỨ MẤT KHÔNG LẤY LẠI ĐƯỢC
- Thời gian,
- Cơ hội,
- Lời nói.
17. BA THỨ HUỶ HOẠI CUỘC ĐỜI
- Nóng giận,
- Tham lam,
- Ích kỷ đố kị.
18. BA THỨ BI AI Ở ĐỜI
- Gặp thầy tốt không học,
- Gặp người tốt không kết giao,
- Có bạn tốt lại để mất.
19. BA ĐIỀU TỰ LÀM KHỔ MÌNH
- Nghĩ quá nhiều,
- Biết nhiều điều thừa,
- Quá cả nể người.
20. BA THỨ KHÔNG NÊN SO
- So giầu nghèo,
- So con cái,
- So hôn nhân.
21. BA ĐIỀU KHÔNG NÊN TRANH
- Không tranh hơn thua,
- Không tranh đúng sai,
- Không tranh danh tiếng với thiên hạ.
22. BA LỐI SỐNG CẦN HIỂU
- Sống vì quá khứ là mê muội,
- Sống vì tương lai là ảo vọng,
- Sống vì hiện tại là khôn ngoan.
11/9/2024
(ST)

Tự học IELTS(1): Lộ trình học

1. Tổng quan

1.1 Lộ trình học

Xem clip và ghi lại lộ trình học

https://www.youtube.com/watch?v=fPL3-cODrVU


Thời gian học: khoảng 1 năm

Quá trình học chia thành 4 giai đoạn:

- Giai đoạn 1: củng cố nền tảng

- Giai đoạn 2: IELTS - ôn theo dạng bài

- Giai đoạn 3: IELTS - luyện đề từng phần

- Giai đoạn 4: IELTS - giải đề thi (full test)

1.2 Giai đoạn 1 - củng cố nền tảng

1.2.1 Phát âm

IPA (International Phonetic Alphabet) - Anh Mỹ

Bài 1. Vowels: https://www.youtube.com/watch?v=c97xwLdSsXU


----
Phí tham gia: 25K (1 ly trà sữa)/buổi = 200.000VNĐ/tháng

TinHocPhoThong(2): Tổ chức, lưu trữ dữ liệu

Bài trước: TinHocPhoThong(1)_Gõ bàn phím

-----

1.2       Tổ chức, lưu trữ dữ liệu

1.2.1       Lưu dữ liệu trong máy tính

Dữ liệu trong máy tính tồn tại ở nhiều dạng, như văn bản, hình ảnh, âm thanh, video, mã thực thi,…v.v.

Dữ liệu được lưu trong các tập tin (file).

Tập tin là một đơn vị dữ liệu được đặt tên.

Tên của tập tin thường có định dạng như sau:

TenTapTin.PhanMoRong

Ví dụ: tập tin DuLieu.docx, sẽ có tên là DuLieu và phần mở rộng là docx.

Tên tập tin giúp người dùng nhận diện và phân biệt giữa các tập tin, phần mở rộng giúp máy tính biết dùng chương trình nào để mở tập tin. Ví dụ, nếu phần mở rộng là docx thì sẽ dùng chương trình Microsoft Word để mở; nếu phần mở rộng là jpg thì dùng chương trình xem/xử lý ảnh để mở.

Khi có nhiều tập tin, việc quản lý, tìm kiếm và sử dụng sẽ gặp khó khăn nếu chúng ta không sắp xếp, và tổ chức chúng một cách hợp lý. Để sắp xếp và tổ chức tập tin, trong máy tính có khái niệm Thư Mục (folder, directory). Có thể hiểu đơn giản, thư mục là ngăn chứa, dùng để chứa tập tin. Nếu coi các tập tin là các cuốn sách, thì thư mục giống như các ngăn của giá sách, dùng để chứa các cuốn sách. Mỗi thư mục cũng có một cái tên, ví dụ: DuLieu2024, GhiChep, CongViec.

Bạn có thể tạo thư mục trong ổ đĩa cứng của máy tính, trong các ổ đĩa gắn ngoài (USB, DVD), trên mạng nội bộ hoặc trên Internet (Google Drive).


1.2.2       Quy ước đặt tên thư mục, tập tin

Để đặt tên thư mục và tập tin một cách chuyên nghiệp, bạn có thể thực hành theo các gợi ý sau đây.

Nguyên tắc đặt tên cho thư mục và tập tin:

-          Tên nên có tính mô tả chính xác nội dung bên trong của thư mục/tập tin, tránh dùng các tên chung chung, mơ hồ. Ví dụ: không nên đặt tên tập tin là abc.docx, word2.docx

-          Tên nên đặt ngắn gọn, dễ hiểu, dễ nhớ; không nên có các từ ngữ không cần thiết. Ví dụ chỉ cần đặt tên là DuLieu2024.docx, chứ không cần dài dòng là DuLieuCuaNam2024.docx

-          Lựa chọn và sử dụng nhất quán một cách đặt tên cho bản thân. Điều này giúp cho hệ thống thư mục và tập tin của bạn rất chuyên nghiệp và thuận tiện trong quá trình sử dụng. Ví dụ: có thể luôn viết Hoa chữ cái đầu tiên của mỗi từ trong tên, không sử dụng khoảng trắng, không dùng tiếng Việt có dấu; ví dụ có thể đặt tên là DuLieu.docx, BaiTap1.pptx;

-          Sử dụng các kí tự hợp lệ để đặt tên, gồm chữ hoa (A-Z), chữ thường (a-z), kí số (0-9), dấu gạch ngang (-), dấu gạch chân (_); không sử dụng các kí tự đặc biệt (!, khoảng trắng)

Có thể sử dụng thêm một số quy tắc khác khi đặt tên như: thêm số thứ tự cho các tập tin, thư mục; thêm thời gian (tháng, năm); thêm các từ khóa vào tên.

1.2.3       Lưu dữ liệu trên mạng

Để lưu trữ dữ liệu trên mạng, bạn có thể lưu trong mạng nội bộ của công ty/cơ quan, hoặc lưu trên Internet.

Lưu dữ liệu trong mạng nội bộ

Bạn sẽ lưu dữ liệu trên các máy chủ, các thiết bị lưu trữ của riêng công ty/cơ quan (Hình 4. Lưu trữ dữ liệu trong mạng nội bộ). Điều này giúp dữ liệu của bạn được bảo mật, an toàn. Khi vào làm việc tại các công ty/cơ quan, bạn sẽ được hướng dẫn, để có thể sử dụng các hệ thống lưu trữ này. Các thao tác liên quan đến truy cập, quản lý, sử dụng thư mục và tập tin cũng khá giống khi thực hiện trên máy cục bộ.


Lưu dữ liệu trên Internet

Lưu trữ dữ liệu trên Internet hay còn gọi là lưu trữ trên đám mây (cloud) là việc lưu trữ dữ liệu của bạn trên các máy chủ của nhà cung cấp dịch vụ ở nơi khác. Bạn sẽ thực hiện việc lưu trữ, truy cập dữ liệu thông qua kết nối Internet.

Một số nhà cung cấp dịch vụ phổ biến như: Google Drive, Dropbox, Onedrive, Box, Mega.


1.2.4       Lưu dự phòng dữ liệu

Một điều chắc chắn là máy tính không thể hoạt động ổn định mãi được. Tới một thời điểm nào đó sẽ bị trục trặc phần cứng, phần mềm, hoặc bị virut tấn công, dẫn tới mất dữ liệu.

Để không bị rơi vào tình trạng bị mất dữ liệu, ảnh hưởng tới công việc; bạn nên có kiến thức và thực hiện các biện pháp lưu dự phòng dữ liệu.

Để lưu dự phòng dữ liệu, chúng ta cần xác định nhu cầu lưu dự phòng, lựa chọn phương pháp lưu dự phòng và lựa chọn phần mềm lưu dự phòng.

Xác định nhu cầu lưu dự phòng:

-          Xác định loại dữ liệu cần lưu dự phòng (văn bản, hình ảnh, âm thanh, video)

-          Ước lượng dung lượng cần lưu dự phòng (để chuẩn bị thiết bị lưu trữ phù hợp)

-          Xác định tần xuất lưu dữ phòng

-          Xác định ngân sách cho việc lưu dự phòng

Lựa chọn phương pháp lưu dự phòng:

-          Lưu trữ cục bộ

-          Lưu trữ trên Internet

-          Lưu trữ kết hợp

Lựa chọn phần mềm lưu dự phòng:

-          Tùy theo nhu cầu sử dụng, bạn có thể sử dụng các phần mềm lưu trữ cho phù hợp

-          Phần mềm có phí hay miễn phí

-          Phần mềm dùng để lưu dự phòng cho cá nhân hay tổ chức

-          Lưu dự phòng trên máy cá nhân, mạng nội bộ, hay trên Internet

Một vài kinh nghiệm cho cá nhân:

-          Không lưu dữ liệu trên ổ đĩa chứa hệ điều hành (hệ điều hành thường được cài đặt ở ổ đĩa C:\)

-           Chỉ lưu dự phòng các tài liệu do quá trình làm việc hàng ngày tạo ra, các tài liệu có sẵn trên Internet hoặc chép từ nguồn khác về thì không cần phải lưu dự phòng.

-          Tập thói quen lưu dự phòng cho các tài liệu cá nhân hàng ngày hoặc hàng tuần

1.2.5       Xem và đọc thêm

Tìm kiếm trong google, hoặc ra lệnh trong chatbot để đọc thêm, sử dụng các từ khóa: tổ chức, lưu trữ dữ liệu trong máy tính;

1.2.6       Bài tập và thực hành

Bài tập 1. Bật và tắt chế độ xem phần mở rộng của tập tin trong File Explorer.

Bài tập 2. Tổ chức thư mục lưu trữ như sau, thực hiện trên máy tính cá nhân:

|\CongViec

|  |--\2024

|  |  |--\Thang1

|  |  |  |----DoanhThu.xlxs

|  |  |  |----Luong.xlxs

|  |  |--\Thang2

|\TaiLieu

|  |----MauCongVan.docx

|  |----MauGiayNghiPhep.docx

|\TuHoc

|  |----AITrongMarketing.docx

|  |----PhanTichDuLieu.docx

Chụp hình hệ thống thư mục và tập tin vừa tạo.

Bài tập 3. Tổ chức thư mục lưu trữ như sau, thực hiện trên Google Drive:

|\CongViec

|  |--\2024

|  |  |--\Thang1

|  |  |  |----DoanhThu.xlxs

|  |  |  |----Luong.xlxs

|  |  |--\Thang2

|\TaiLieu

|  |----MauCongVan.docx

|  |----MauGiayNghiPhep.docx

|\TuHoc

|  |----AITrongMarketing.docx

|  |----PhanTichDuLieu.docx

Chụp hình hệ thống thư mục và tập tin vừa tạo.

Gợi ý:

Bài tập 1. Trong chương trình File Explorer, vào mục View, đánh dấu chọn vào mục File name extensions để hiển thị phần mở rộng, bỏ dấu chọn để ẩn phần mở rộng.

1.2.7       Câu hỏi ôn tập

Câu 1: Phần mở rộng của một tập tin cho biết điều gì?

A. Tên của người tạo ra tập tin

B. Kích thước của tập tin

C. Dùng chương trình nào dùng để mở tập tin

D. Ngày tạo tập tin

Câu 2: 

-----

Cập nhật: 6/9/2024

-----

Bài sau: 

Lập trình hướng đối tượng với C# (1): Mở đầu

1          Mở đầu

1.1       Chương trình theo kiểu cấu trúc

Để viết một chương trình theo kiểu cấu trúc, chúng ta thường khai báo và định nghĩa dữ liệu ở một nơi; sau đó, viết các hàm xử lý dữ liệu, cuối cùng là gọi các hàm thực thi.

Ví dụ, chúng ta viết một chương trình thao tác với tài khoản, gồm các chức năng: nhập tên, xuất tên và sửa tên một tài khoản. Chương trình viết bằng ngôn ngữ C++.

Bạn có thể viết và chạy trên môi trường Visual Studio, hoặc trực tuyến.

Ví dụ: bạn có thể viết và chạy trực tuyến ở đây: https://www.programiz.com/cpp-programming/online-compiler/

[main.cpp]

1    #include <iostream>

2    #include <cstring>

3    using namespace std;

4        

5    char tenTK[50];

6   

7    void NhapTenTaiKhoan()

8    {

9        cout << "Nhap vao ten tai khoan:";

10       cin >> tenTK;

11   }

12   void XuatTenTaiKhoan()

13   {

14     cout << "Ten tai khoan la:" << tenTK << endl;

15   }

16   void SuaTenTaiKhoan()

17   {

18       char tenMoi[50] = "Virus";

19            strcpy(tenTK, tenMoi);

20   }

21  

22   int main() 

23   {

24       NhapTenTaiKhoan();

25        XuatTenTaiKhoan();

26        SuaTenTaiKhoan();

27        XuatTenTaiKhoan();

28        return 0;

29   }

Ở chương trình trên, chúng ta khai báo và định nghĩa dữ liệu ở dòng mã số 5, viết các hàm xử lý ở các dòng mã [7-20], cuối cùng là gọi các hàm thực thi ở các dòng [24-27].

Như vậy, việc lập trình sẽ xoay quanh việc định nghĩa cấu trúc dữ liệu cho hợp lý, viết các hàm xử lý trên dữ liệu và gọi hàm thực thi theo một thứ tự nhất định.

1.2     Chương trình theo kiểu hướng đối tượng

Để lập trình theo kiểu hướng đối tượng, chúng ta sẽ có cách tiếp cận khác so với lập trình theo kiểu hướng cấu trúc.

Về cơ bản, chương trình vẫn gồm các công việc: tổ chức, khai báo dữ liệu; viết các hàm xử lý dữ liệu và gọi hàm thực thi. Tuy nhiên, cách tổ chức các thành phần này có sự khác biệt so với lập trình hướng cấu trúc.

Chúng ta sẽ viết lại chương trình thao tác với tài khoản, để cảm nhận sự khác biệt này.

Trong phần mềm lập trình (Visual Studio hoặc trực tuyến), tạo tập tin AccountTest.cs với nội dung sau (Hình 2):

1 // Hình 2.AccountTest.cs

2 // Tạo và thao tác với một đối tượng của lớp Account

3 using System;

5 class AccountTest

6 {

7    static void Main()

8    {

9         // tạo một đối tượng của class Account 

10        // và gán cho biến myAccount

11        Account myAccount = new Account();

12

13        // hiển thị tên ban đầu của tài khoản myAccount 

14       // (tất nhiên là chưa có tên)

15        Console.WriteLine($"Ten ban dau la: { myAccount.GetName() }");

16

17     // cho người dùng nhập tên và lấy tên đó lưu vào trong tài khoản

18       // nhắc người dùng nhập tên

19        Console.Write("Nhap ten: "); 

20        // lấy tên lưu vào biến theName        

21        string theName = Console.ReadLine(); 

22       

23        // lưu tên vào đối tượng myAccount

24        myAccount.SetName(theName); 

25        

26        // hiển thị tên đã được lưu trong đối tượng myAccount

27        Console.WriteLine($"Ten cua tai khoan la: { myAccount.GetName() }");

28    }

29 }

Tạo tập tin Account.cs với nội dung như sau (Hình 3):

1 // Hình 3. Account.cs

2 // Lớp Account gồm 1 instance variable và

3 // 2 phương thức SetName() và GetName()

4 class Account

5 {

6    // instance variable

7    private string name;

8   

9    // phương thức để thiết lập tên cho đối tượng

10    public void SetName(string accountName)

11    {

12        // lưu tên tài khoản

13        name = accountName;

14    }

15   

16    // phương thức lấy tên của đối tượng

17    public string GetName()

18    {

19        // trả về tên tài khoản khi phương thức được gọi

20        return name;

21    }

22 }

[Trang programiz không cho tạo thêm tập tin, nên bạn có thể viết mã của class Account ngay phía dưới của class AccountTest.]

Kết quả khi chạy chương trình:

Ten ban dau cua tai khoan la:

Nhap ten: Teo

Ten cua tai khoan la: Teo

1.3      Một số khái niệm

- Lớp (class) là một bản thiết kế (blueprint), được sử dụng để tạo ra các đối tượng. Ví dụ lớp Account là bản thiết kế dùng để tạo ra đối tượng “tài khoản ngân hàng”. Thiết kế của lớp Account cho biết một tài khoản ngân hàng sẽ gồm các thông tin (thuộc tính) gì, và các thao tác (phương thức) gì? Lưu ý: lớp AccountTest được sử dụng để làm đầu vào của chương trình, dùng để thực thi các chức năng chung của chương trình nên nó khá đặc biệt so với một lớp thông thường.

- Đối tượng (object) là một thực thể (instance) được tạo ra từ một lớp. Mỗi đối tượng sẽ có giá trị thuộc tính của riêng nó. Ví dụ, đối tượng myAccount chính là một thực thể được tạo ra từ lớp Account. Đối tượng myAccount có tên cụ thể là Teo. Bạn có thể hiểu đơn giản hơn, lớp chính là khuôn để làm bánh, mỗi cái bánh làm ra từ cái khuôn đó chính là một đối tượng.

- Biến đối tượng (instance variable): là một biến, được khai báo bên trong một lớp, và thuộc về một đối tượng cụ thể của lớp đó. Nó được dùng để lưu trữ dữ liệu cho đối tượng. Ví dụ: trong lớp Account, name chính là một biến đối tượng, nó được sử dụng để lưu tên của tài khoản.

- Thuộc tính (property) là một thành phần của lớp, nó cung cấp một cách để truy cập và thay đổi giá trị của các biến đối tượng. Thuộc tính thường được sử dụng để kiểm soát cách truy cập vào dữ liệu bên trong của đối tượng. Ví dụ: chúng ta sẽ tạo ra thuộc tính có tên là Name để truy cập vào biến đối tượng name (xem ở phần sau).

- Phương thức (method) là một hàm (function), được định nghĩa bên trong một lớp. Nó thực hiện một hành động nào đó trên đối tượng. Ví dụ, trong lớp Account có 2 phương thức SetName(), và SetName(). 

-----

Cập nhật: 6/9/2024

Bài sau: Lập trình hướng đối tượng với C# (2): 

-----