Tài liệu tham khảo 1. Hill, C. (2020). Learning scientific programming with Python. Cambridge University Press. 2. Stephenson, B. (2019). The Python Workbook 2nd. Springer. 3. Pine, D. J. (2019). Introduction to Python for science and engineering. CRC Press. 4. Kong, Q., Siauw, T., & Bayen, A. M. (2021) Python Programming and Numerical Methods - A Guide for Engineers and Scientists. Elsevier Inc. Lập trình Python: Giới thiệu 2 Hướng dẫn cài đặt Python • Download file cài đặt python tại https://www.python.org/downloads/windows/ • Chọn version mà bạn muốn cài đặt. Giả sử cài version 3.7 bản Windows x84-64 executable installer • Click đúp vào file.exe vừa tải về để cài đặt • Chọn tick vào ô Add Python 3.7 to PATH (lựa chọn này giúp bạn chạy lệnh python trên cmd, powershell trên windows) Lập trình Python: Giới thiệu 3 Hướng dẫn cài đặt Python
Lập trình Python: Giới thiệu 4
Hướng dẫn cài đặt Python
Lập trình Python: Giới thiệu 5
Hướng dẫn cài đặt Python
Lập trình Python: Giới thiệu 6
Hướng dẫn cài đặt Python
Lập trình Python: Giới thiệu 7
Hướng dẫn cài đặt Visual Studio Code • Download file cài đặt Visual Studio Code tại https://code.visualstudio.com/docs/?dv=win • Click đúp vào file.exe vừa tải về để cài đặt. • Giao diện sau khi các bạn cài xong. • Cài extension và sử dụng nó cho python. (Bạn bấm : Ctrl + Shift + x . Tìm python bấm install)
Lập trình Python: Giới thiệu 8
Hướng dẫn cài đặt Visual Studio Code
Lập trình Python: Giới thiệu 9
Hướng dẫn cài đặt Visual Studio Code
Lập trình Python: Giới thiệu 10
Hướng dẫn cài đặt thư viện • Nhấn tổ hợp Windows + S để mở cửa sổ tìm kiếm, nhập vào từ khóa cmd, chọn Command Prompt.
Lập trình Python: Giới thiệu 11
Hướng dẫn cài đặt thư viện • Gõ lệnh python --version để kiểm tra version Python mà các bạn đã cài,
Lập trình Python: Giới thiệu 12
Hướng dẫn cài đặt thư viện • Cài thư việc Numpy bằng lệnh: pip install numpy
Lập trình Python: Giới thiệu 13
Hướng dẫn cài đặt thư viện • Cài thư viện Matplotlib bằng lệnh: pip install matplotlib
Lập trình Python: Giới thiệu 14
Hướng dẫn cài đặt thư viện • Cài đặt scipy bằng lệnh: pip install scipy
Lập trình Python: Giới thiệu 15
Lịch sử các ngôn ngữ lập trình • 1800: Joseph Marie Jacquard dạy một cái máy đọc những tấm thẻ đục lỗ, tạo ra đơn vị xử lý đa luồng đầu tiên. Phát minh của ông đã bị các nhà sản xuất tơ tằm phản đối kịch liệt những người đã thấy trước sự ra đời của Skynet. • 1842: Ada Lovelace một phụ nữ quý tộc bắt đầu phác thảo trong một quyển sách (notebook), cái mà sau này được biết đến như là chương trình máy tính đầu tiên được xuất bản, chỉ hơi bất tiện bởi thực tế là máy tính không tồn tại vào thời điểm đó.
Lập trình Python: Giới thiệu 16
Lịch sử các ngôn ngữ lập trình • 1936: Alan Turing được coi là cha đẻ của khoa học máy tính, nhưng ông đã bị tòa án Anh thiến về mặt hóa học. Nữ hoàng sau đó đã ân xá cho ông ta, nhưng tiếc rằng ông đã qua đời được nhiều thế kỷ tại thời điểm đó. • 1936: Alonzo Church cũng phát minh ra mọi thứ vói Turning, nhưng ở phía bên kia đại dương và không bị thiến bởi nữ hoàng.
Lập trình Python: Giới thiệu 17
Lịch sử các ngôn ngữ lập trình • 1957: John Backus tạo ra FORTRAN là ngôn ngữ đầu tiên được các lập trình viên thực sự sử dụng. • 1959: Grace Hopper phát minh ra ngôn ngữ lập trình hướng thương mại và gọi nó là "common business-oriented language" hay viết tắt là COBOL. • 1964: John Kemery và Thomas Kurtz thấy rằng các ngôn ngữ lập trình hiện tại quá khó và họ đã tạo ra một ngôn ngữ đơn giản, dễ sử dụng và gọi nó là BASIC.
Lập trình Python: Giới thiệu 18
Lịch sử các ngôn ngữ lập trình • 1970: Niklaus Wirth tạo ra Pascal cùng với một số ngôn ngữ khác, ông thích tạo ra các ngôn ngữ. Ông cũng phát minh ra luật của Wirth cái làm cho luật của Moore thành lỗi thời bởi vì các lập trình viên phần mềm sẽ viết các phần mềm cồng kềnh đến nỗi ngay cả các máy tính lớn (mainframe) cũng không thể theo kịp. Điều này sau đó sẽ được chứng minh là đúng với phát minh của Electron.js.
Lập trình Python: Giới thiệu 19
Lịch sử các ngôn ngữ lập trình • 1972: Dennis Ritchie cảm thấy buồn chán khi làm việc tại Bell Labs vì thế ông quyết định tạo ra C ngôn ngữ có những dấu ngoặc nhọn {} và nó là một thành công lớn. Sau đó ông bổ sung thêm secmentation faults và các tính năng thân thiện với các lập trình viên để tăng hiệu xuất. Ông và bạn bè của mình tại Bell Labs cũng làm một chương trình demo cho C, kết quả họ đã tạo ra một hệ điều hành gọi là Unix.
Lập trình Python: Giới thiệu 20
Lịch sử các ngôn ngữ lập trình • 1980: Alan Kay phát minh ra ngôn ngữ lập trình hướng đối tượng gọi là Smalltalk, trong Smalltalk mọi thứ đều là đối tượng. Không một ai thực sự có thời gian để hiểu ý nghĩa của small talk. • 1987: Larry Wall với kinh nghiệm tôn giáo, trở thành một nhà thuyết giảng và làm cho Perl trở thành một học thuyết. • 1983: Jean Ichbiah nhận thấy rằng những chương trình Ada Lovelace chưa bao giờ thực sự chạy và đã quyết định tạo ra một ngôn ngữ với tên của bà nhưng ngôn ngữ này tiếp tục không chạy. Lập trình Python: Giới thiệu 21 Lịch sử các ngôn ngữ lập trình • 1986: Brac Box và Tol Move quyết định tạo thêm một phiên bản C dựa trên Smalltalk, cái được gọi là Objective-C. • 1983: Bjarne Stroustrup bổ sung thêm nhiều tính năng nâng cao mà ông có thể nghĩ ra cho C và đặt cho ngôn ngữ lập trình này là C++. • 1991: Guido van Rossum phát minh ra Python, cú pháp được chọn lấy cảm hứng từ Monty Python và Flying Circus.
Lập trình Python: Giới thiệu 22
Lịch sử các ngôn ngữ lập trình • 1993: Roberto Ierusalimschy và bạn của mình quyết định học cần một ngôn ngữ kịch bản cho Brazil, trong quá trình địa phương hóa một lỗi phát sinh làm cho chỉ số đếm bắt đầu từ 1 thay vì 0, họ đặt tên nó là Lua. • 1994: Rasmus Lerdorf làm một động cơ mẫu cho các kịch bản (scripts) CGI trên trang cá nhân của mình, ông phát hành dotfiles trên web. Thế giới quyết định sử dụng các dotfiles cho mọi thứ và trong cơn sốt này Rasmus tung ra một vài liên kết cơ sở dữ liệu mở rộng cho nó và gọi nó là PHP. Lập trình Python: Giới thiệu 23 Lịch sử các ngôn ngữ lập trình • 1995: Yukihiro Mastsumoto - Matz không thấy hạnh phúc, ông nhận thấy các lập trình viên khác cũng vậy. Vì thế ông tạo ra Ruby để giúp các lập trình hạnh phúc. Sau khi tạo ra Ruby "Matz" hạnh phúc, cộng đồng Ruby cũng hạnh phúc và mọi người hạnh phúc.
Lập trình Python: Giới thiệu 24
Lịch sử các ngôn ngữ lập trình • 1995: Brendan Eich sử dụng những ngày cuối tuần để thiết kế một ngôn ngữ sẽ được sử dụng rộng rãi trên mọi trình duyệt và cuối cùng là Skynet. Ban đầu khi làm việc tại Netscape ông gọi nó là LiveScript nhưng Java trở thành một một ngôn ngữ lập trình phổ biến vì thế họ đã quyết định đổi tên nó thành JavaScipt. Java trở thành một thương hiệu và điều này đem đến rắc rối cho họ, JavaScript sau đó được đổi tên thành ECMAScript nhưng mọi người vẫn gọi nó là JavaScript.
Lập trình Python: Giới thiệu 25
Lịch sử các ngôn ngữ lập trình • 1996: James Gosling phát minh Java, ngôn ngữ đầu tiên thực sự hướng đối tượng nơi các quy tắc design patterns được chú ý hơn chủ nghĩa thực dụng. • 2001: Anders Hejlsberg viết lại Java và gọi nó là C# bởi vì lập trình trong C tuyệt hơn Java. Mọi người thích phiên bản Java mới này vì nó hoàn toàn không giống Java. • 2005: David Hanselmeyer Hansen tạo ra một web framework được gọi là Ruby on Rails, và mọi người không còn nhớ rằng chúng là hai thứ riêng biệt.
Lập trình Python: Giới thiệu 26
Lịch sử các ngôn ngữ lập trình • 2006: John Resig viết một thư viện cho JavaScript, và mọi người nghĩ nó là một ngôn ngữ và sử dụng nó bằng cách copy và pate những đoạn code jQuery từ internet. • 2009: Ken Thompson và Rod Pike quyết định tạo một ngôn ngữ giống C, với Gophers như là linh vật. Họ gọi nó là Go, biến nó thành open source và bán những chiếc gối và mũ bảo hiểm có thương hiệu Gopher.
Lập trình Python: Giới thiệu 27
Lịch sử các ngôn ngữ lập trình • 2010: Gray Hoare cũng muốn tạo một ngôn ngữ giống C, anh ấy gọi nó là Rust. Sau đó, Graydon chuyển sang làm việc trên Swift cho Apple. • 2012: Angers Hjelsberg muốn viết C# trong các trình duyệt web, anh đã thiết kế TypeScript tương tự JavaScript nhưng vay mượn nhiều ý tưởng từ Java.
Lập trình Python: Giới thiệu 28
Lịch sử các ngôn ngữ lập trình • 2012: Angers Hjelsberg muốn viết C# trong các trình duyệt web, anh đã thiết kế TypeScript tương tự JavaScript nhưng vay mượn nhiều ý tưởng từ Java. • 2013: Jaremy Ashkenas muốn hạnh phúc giống như các lập trình viên Ruby vì thế anh tạo ra CoffeeScript ngôn ngữ trông giống Ruby nhưng được biên dịch thành JavaScript. Nhưng Jeremy chưa bao giờ thực sự hạnh phúc như Matz và các lập trình viên Ruby.
Lập trình Python: Giới thiệu 29
Các khái niệm cơ bản • Câu lệnh là đơn vị cơ bản của một ngôn ngữ lập trình. Trong trường hợp đặc biệt, nó có thể cũng trở thành một đơn vị thao tác của máy tính điện tử hay còn gọi là một chỉ thị. • Cú pháp câu lệnh của một ngôn ngữ lập trình là các quy tắc luật lệ về trật tự và hình thức viết của một câu lệnh. Tùy theo ngôn ngữ mà các cú pháp này có sự thay đổi khác nhau.
Lập trình Python: Giới thiệu 30
Các khái niệm cơ bản • Thuật toán (giải thuật) là một tập hợp hữu hạn các hướng dẫn được xác định rõ ràng, có thể thực hiện được bằng máy tính, thường để giải quyết một lớp vấn đề hoặc để thực hiện một phép tính. • Các thuật toán luôn rõ ràng và được sử dụng chỉ rõ việc thực hiện các phép tính, xử lý dữ liệu, suy luận tự động và các tác vụ khác.
Lập trình Python: Giới thiệu 31
Các khái niệm cơ bản • Thuật toán có các đặc điểm sau: Đầu vào: Một thuật toán có thể yêu cầu đầu vào hoặc không Đầu ra: Mỗi thuật toán được mong đợi tạo ra ít nhất một kết quả. Tính xác định: Mỗi chỉ dẫn phải rõ ràng và không mập mờ. Tính hữu hạn: Nếu các lệnh của một thuật toán được thực thi, thuật toánsẽ kết thúc sau số bước hữu hạn. Lập trình Python: Giới thiệu 32 Các khái niệm cơ bản • Lưu đồ là một loại sơ đồ biểu diễn một thuật toán hoặc một quá trình, biểu hiện các bước công việc dưới dạng các loại hình hộp khác nhau theo thứ tự được biểu diễn bởi các mũi tên. • Sơ đồ này có thể thể hiện giải pháp cho vấn đề cần giải quyết từng bước từng bước một. Các bước quá trình được hiển thị dưới dạng các hình hộp được nối với nhau bằng các mũi tên để thể hiện dòng điều khiển.