MỤC LỤC 1 Coding và tính cần thiết của coding 2 2 Tại sao các chương trình coding online lại cần thiết 3 3 Các chương trình coding online phổ biến 4 3 1 Codechef 4 3 1 1 Giới thiệu 4 3 1 2 Các tính nă.
MỤC LỤC Coding tính cần thiết coding Coding, hay programming, hay lập trình việc lập chương trình cho máy tính hay thiết bị có xử lý thực Đó tập hợp dịng lệnh mà máy tính phiên dịch thực Vì lập trình lại quan trọng? Từ lâu, người biết chế tạo công cụ phục vụ cho đời sống sản xuất Theo dòng phát triển xã hội, người ngày chứng tỏ khả sáng tạo việc việc tạo cơng cụ Một phát minh mang tính cách mạng ngơn ngữ lập trình, giúp việc thao tác với máy móc người nâng lên tầm cao 500 trước, người chưa nghĩ họ giao tiếp với cơng cụ họ Làm để kêu máy dệt tự dệt vải, hay bắt đèn tự động tắt tối Nhưng với khả người, việc hồn tồn tầm tay với trợ giúp mạnh mẽ ngơn ngữ lập trình Ngồi ra, ngơn ngữ lập trình cịn tảng cho cơng nghệ tự động hóa, mở khả sản xuất hỗ trợ sống đáng kinh ngạc máy móc Về mặt đó, việc lập trình có ý nghĩa hành cách mơ hành động giới thực, cơng việc máy móc thực Các thiết bị thân thuộc với thường gán với tính từ “smart” Từ điện thoại, đồng hồ, tivi tủ lạnh, máy giặt, máy lạnh, Các thiết bị ngày trở nên thơng minh ngày đó, chúng thật tự tư cách kỳ vọng vào trí tuệ nhân tạo Và để đạt thơng minh đó, tất nhiên khơng thể thiếu vai trị thiết yếu ngơn ngữ lập trình Bên cạnh ứng dụng to lớn ngơn ngữ lập trình, thân việc tiếp cận ngơn ngữ lập trình giúp trở nên tốt Thật vậy, giới xung quanh tồn quy luật, quy tắc phối hợp với cách logic để thứ vận hành bình thường Ngơn ngữ lập trình địi hỏi người sử dụng phải thật logic, có mục đích rõ ràng tuân theo quy tắc đặt trước Việc học lập trình giúp chúng có mục tiêu rõ ràng, hành động logic, có kế hoạch, có tư trừu tượng hóa việc sống Tại chương trình coding online lại cần thiết Thay việc viết chương trình code cài cài riêng phần mềm vào máy tính trước ngày việc viết code online không gian mạng nhiều người dùng tin Tại lại vậy? - Sự tiện lợi, dễ sử dụng Trước bạn cần viết chương trình, đoạn code sử dụng ngơn ngữ lập trình phải cài phần miền máy Một điều người hay đắn đo khơng biết máy tính có cấu hình đủ mạnh để cài sử dụng chúng không Và việc cài đặt rườm rà Mặt khác, việc đôi lúc bạn cài đặt nhiều phần mềm máy sử dụng chúng lưu trữ khối lượng liệu lớn Ít nhiều ảnh hưởng đến chất lượng, tuổi thọ máy Tuy nhiên với chương trình coding online bạn viết code trực tiếp không gian mạng không cần quan tâm vấn đề - Tính lúc nơi Cho dù máy tính có kết nối internet cần bạn đăng nhập viết chương trình, viết code tiếp cơng việc cịn dở dang lúc nơi Chứ khơng bị cài đặt riêng phần mềm máy cố định máy Điều giúp thúc đẩy làm việc linh hoạt, tăng suất - Khả trao đổi, chia sẻ thơng tin Bạn dễ dàng chia sẻ chương trình đoạn code, tài nguyên với người dùng khác tảng để phát triển - Tiết kiệm, thời gian chi phí Bạn khơng cần phải tốn chi phí nâng cấp máy đủ mạnh để cài phần mềm riêng cho máy Ngoài ra, giả sử bạn thực dự án phần mềm cần viết phải tốn x chi phí để sử dụng Nếu bạn cài chương trình xuống cho từ máy thành viên dự án tốn chi phí x.n Nhưng bạn sử dụng chương trình coding online đăng ký tài khoản với mức chi phí x thành viên dự án chia sẻ cho Nó giúp bạn tiết kiệm rất nhiều chi phí Bên cạnh đó, người làm dễ dàng theo dõi tiến độ cách kịp thời để đưa định xác Từ rút ngắn thời gian hoàn thành mang lại hiệu làm việc cao Như tiết kiệm nhiều thời gian chi phí Cũng lý nói nên đời chương trình coding online bước ngoặt quan trọng tạo nên tiếp lợi, giúp tiết kiệm thời gian chi phí Nên khơng qua bất người sử dụng rộng rãi Các chương trình coding online phổ biến 3.1 Codechef 3.1.1 Giới thiệu CodeChef tảng lập trình cạnh tranh tồn cầu, phổ biến lớn giới, sinh viên lập trình viên chun nghiệp ưa thích CodeChef khuyến khích học hỏi liên tục thi lập trình thân thiện cho người dùng, với hỗ trợ cộng đồng lớn nhà quản lý vấn đề (problem curators) Codechef biên dịch chạy mã với the CodeChef online IDE, hỗ trợ nhiều ngôn ngữ lập trình Python, C++, C, Kotlin, NodeJS nhiều ngơn ngữ khác 3.1.2 Các tính Tính - Thực hành học tập - Cung cấp cho người học khơng gian nhập đoạn mã lập trình chạy chương trình với IDE trực tuyến CodeChef Khơng gian soạn code chạy code Codechef - Cung cấp học để người học luyện tập học theo mức độ khó từ người bắt đầu học, dễ, trung bình tới mức độ cạnh tranh thi đấu Các học theo cấp độ Codechef - Người học tìm kiếm vấn đề, học Codechef dựa vào thẻ Ví dụ người học tìm kiếm theo tác giả u thích, mức độ khó khác nhau, chủ đề cụ thể, Các thẻ Codechef - Cung cấp chuỗi kiến thức DSA: chuỗi cộng tác viên Codechef tổng hợp lại Ở Codechef tổ chức thi thực hành bao gồm vấn đề xếp từ chủ đề định Codechef cung cấp Danh sách tài nguyên tuyển chọn để học hỏi, với Gợi ý cho vấn đề phiên Học tập Các vấn đề thi vấn đề có CodeChef Các phiên học tập thực tình nguyện viên CodeChef Mục đích buổi học thảo luận chủ đề lý thuyết sau chuyển sang cách giải vấn đề thi Giao diện chuỗi DSA Learning Series Tính - Cạnh tranh - Nơi cung cấp thi để người học có hội áp dụng thứ học luyện tập thi đấu với người dùng khác Gồm có thi: + Code long challenge: thi viết mã tổ chức hàng tháng kéo dài 10 ngày Cuộc thi tạo thử thách cho người học cách tạo khoảng thời gian để suy nghĩ vấn đề, thử cách khác để công vấn đề + CodeChef SnackDown 2021: SnackDown 2021 giải đấu lập trình tồn cầu nhiều vòng thường niên CodeChef thực - Nơi cung cấp lịch thi thi, để người dùng chủ động tìm hiểu xếp thời gian tham gia - Nơi tiến hành xếp hạng người dùng thông qua điểm số thi Giao diện thi Codechef Tính - Thảo luận - Cung cấp diễn đàn để người dùng đặt câu hỏi trả lời câu hỏi Người dùng tìm kiếm câu hỏi diễn đàn theo danh mục, thẻ, câu hỏi bật, Diễn đàn Codechef - Cung cấp Blog: Blog chia theo nhiều chủ đề khác để người đọc dễ dàng tìm kiếm Blog theo nhu cầu Codechef Blog 3.1.3 Nhược điểm -Số lượng truy cập Codechef có 503 lượng truy cập lúc trang web khác xử lý lưu lượng truy cập lớn 10 -CodeChef có nhiều thi hay hấp dẫn thời gian thực thi dài dẫn đến xảy trường hợp gian lận làm cho thi cân 3.2 W3schools 3.2.1 Giới thiệu W3Schools trang web giáo dục cho việc học công nghệ web trực tuyến Nội dung bao gồm hướng dẫn tài liệu tham khảo liên quan đến HTML, CSS, JavaScript, JSON, PHP, Python, AngularJS, SQL, Bootstrap, Node.js, jQuery, XQuery, Ajax, XML W3Schools hướng dẫn web với 1000 ví dụ cụ thể Bằng cách sử dụng TryIt editor, người đọc đọc chỉnh sửa code sandbox Ví dụ W3Schools bị trích "xấu bị định dạng sai", nhiên trang họ đánh giá "nhanh" liên kết xác 3.2.2 Các tính - W3schools cung cấp hướng dẫn học tập cho ngơn ngữ lập trình Có danh mục ngơn ngữ lập trình để người học dễ dàng tìm kiếm ngơn ngữ theo nhu cầu 11 Danh mục hướng dẫn - Trong hướng dẫn có: lý thuyết, ví dụ, tập, câu hỏi trắc nghiệm, tài liệu tham khảo Ví dụ 12 Bài tập - W3schools cung cấp công cụ test code trang để người dùng luyện tập ví dụ, tập Người dùng tự soạn lại đoạn chương trình run (chạy) code để test kết Soạn chạy code online - W3school cung cấp danh mục Exercises gồm có: Danh mục tập, Danh mục câu hỏi trắc nghiệm, Danh mục khóa học, Danh mục khóa học cấp tín để người dùng tìm kiếm dễ dàng theo nhu cầu học 13 - W3school cung cấp video hướng dẫn: dành cho người thích xem video đọc website 3.2.3 Nhược điểm W3School nơi tuyệt vời để học kiến thức ba ngơn ngữ lập trình Mỗi chương có học hướng dẫn với ví dụ tập thực hành Hạn chế hệ thống W3School bao gồm điều 14 Loạt hướng dẫn hoàn hảo để chọn phát triển web sở thích nâng cao học kinh nghiệm trường học lập trình 3.3 Ideone 3.3.1 Giới thiệu Ideone website hỗ trợ phiên dịch, gỡ lỗi chạy thử code PHP online, công cụ tập trung vào việc lập trình phát triển phần mềm Nổi bật khả debug ngơn ngữ lập trình khác từ trang, hỗ trợ lập trình nhiều ngơn ngữ, Ideone cho phép lập trình với 60 ngôn ngữ khác nhau: C#, Java, SQL, Python… 3.3.2 Các tính - Chia sẻ code (Đây pastebin: sử dụng để dễ dàng lưu trữ chia sẻ snippet code với người khác hình thức trực tuyến) Kí hiệu “mắt kính” - Khả debug ngơn ngữ lập trình khác từ trang, chạy (run) code máy chủ hỗ trợ 60 ngôn ngữ lập trình C#, Java, Objective-C tới SQL, VB.NET,…(tương lai hỗ trợ thêm nhiều ngôn ngữ hơn) 15 - Cung cấp liệu đầu vào (input data) cho chương trình riêng cá nhân - Ideone.com cung cấp miễn phí ideone API có sẵn webservice Chức cho phép xây dựng dịch vụ riêng giống ideone - Cho phép người dùng đăng nhập Ideone cung cấp chức quản lý code riêng người nhiều chức khác 3.3.3 Nhược điểm - Bố cục trang web rối quảng cáo nội dung khác (nhược điểm IDEOne khó dùng bố cục trang web rối rắm đủ thứ quảng cáo nội dung khác Nếu có thêm nhiều thư viện code thay tuyệt vời hơn.) - Tốc độ thực thi chậm 3.4 Scratch 3.4.1 Giới thiệu Scratch ngơn ngữ lập trình dạng kéo thả, hướng đến đối tượng sử dụng trẻ em Người dùng tạo dự án cách kéo thả khối lệnh Ngơn 16 ngữ lập trình Scratch phát triển MIT Media Lab dịch sang 70 loại ngôn ngữ khác Ngôn ngữ lập trình Scratch phát triển theo hướng tương tác trực quan, đồ họa sống động, sản phẩm liền tay mà đảm bảo tính khoa học, tính liên thơng tri thức 3.4.2 Các tính - Dễ dàng sử dụng Scratch, trực quan dễ học cho lứa tuổi đặc biệt trẻ em Khơng địi hỏi q nhiều quy tắc hay luật lệ sử dụng khối lệnh đơn giản ngơn ngữ tảng để bắt đầu học ngôn ngữ lập trình khác - Scratch 3.0 thiết kế với HTML5 kết hợp với JavaScript chun nghiệp hồn tồn tích hợp nhiều tính vượt bậc như: Chuyển văn thành giọng nói, tạo tiện ích mở rộng riêng mình, LEGO MINDSTORMS EV3,… - Cộng đồng lớn người dùng phần mềm lập trình Scratch giới hình thức trực tuyến, nên thuận tiện chia sẻ học hỏi lẫn 17 - Phần mềm Scratch hỗ trợ sử dụng máy tính bảng: Phiên Scratch xây dựng HTML5 thay Flash Vì thế, từ Scratch hỗ trợ viết code máy tính bảng, chí smartphone - Phần mềm Scratch có hệ thống tiện ích: Scratch cho phép trẻ lập trình thiết bị vật lý bao gồm Micro:bits LEGO robotics kits Phần mềm tích hợp với nhiều dịch vụ web, điển hình Google Translate Bên cạnh đó, cảm biến video hoạt động để phát chuyển động có liên kết với camera thiết bị - Phần mềm Scratch sở hữu trình chỉnh sửa âm thanh, hình ảnh mới: Thư viện âm Scratch chia thành danh mục: Space, Sports Wacky Đồng thời, đội ngũ phát triển Scratch cải thiện cơng cụ khác để trẻ có trải nghiệm tuyệt vời sử dụng Cụ thể, công cụ dùng tăng giảm tốc độ, đảo ngược âm thanh, thêm hiệu ứng tiếng vang, tiếng robot việc tạo lập để giúp người dùng tạo chỉnh sửa nhân vật (Sprites) - Phần mềm lập trình game Scratch giúp: + Làm game 18 + Làm đồ họa : Học tốn tốt thơng qua Scratch + Âm nhạc: Có thể dùng Scratch để sáng tác đoạn nhạc đơn giản + Làm phim: Có thể dùng Scratch để làm đạo diễn những clip nhỏ, phim ngắn + Điều khiển robot: làm quen với việc lắp ghép lập trình robot lập trình điều khiển robot 3.4.3 Nhược điểm - Website có chút lộn xộn - Ngơn ngữ hồn tồn ảo máy tính, bé khơng cầm, nắm, quan sát kết lập trình cách thực tế ngồi đời sống, khiến nhiều bé chán nản khơng có hứng thú học tập tiếp So sánh chương trình online với offline Phần mềm code offline Phần mềm code online 19 Không cần kết nối internet: Ưu điểm Cần mạng để hoạt động: Để sử dụng việc sử dụng phần mềm offline chương trình code online Kết nối người dùng không cần kết nối internet yêu cầu Tuy internet để hoạt động Điều giúp có hạn chế mặt kết nối, bù cho người dùng chủ động lại, sử dụng chương trình code việc lựa chọn khơng gian thời gian online, người dùng thực làm việc cơng việc thiết bị đa dạng điện thoại, máy tính bảng, note, … Cần lưu trữ liệu: Khi lập trình Khơng cần lưu trữ liệu: Khi làm máy tính, người dùng cần nơi việc mạng, người dùng khơng cần để lưu lại sản phẩm để tránh phải lưu trữ lại liệu Các chương cố hỏng hóc máy tính dẫn đến trình làm người dùng tự liệu máy Các liệu động lưu trữ hệ thống cần phải lưu liên tục trang web trình làm việc để tránh điện mà sản phẩm chưa kịp lưu An toàn bảo mật: Dữ liệu sản phẩm Nguy hiểm bảo mật: Các liệu lưu lưu trữ máy tính ổ cứng hệ thống internet dễ bị đánh ngồi, đảm bảo cho liệu có cắp Đối với dự án lớn, việc để lộ tính bảo mật cao so với lưu hệ thông tin hay liệu vấn đề thống internet lớn Trao đổi khó khăn: Tính cá nhân Dễ dàng trao đổi: Đối với chương máy tính làm cho việc trao đổi trình coding online, việc trao đổi thông dự án với người khác trở nên khó tin dự án, sản phẩm dễ dàng khăn, đặc biệt tình hình dịch Cùng lúc, có nhiều người bệnh Covid-19 Để trao đổi thao tác với sản phẩm khơng được, lập trình viên phải đưa sản gian mạng Điều rút ngắn thời phẩm lên internet gian hồn thành sản phẩm bước 20 trao đổi rườm rà sử dụng phần mềm coding offline Tài liệu tham khảo Scratch gì? Tặng tài liệu hướng dẫn lập trình Scratch 3.0 miễn phí - Thiết bị giáo dục STEM (10/03/2021) OhStem Truy xuất ngày 15/12/ 2021, https://ohstem.vn/scratch-la-gi/ Top 10 website kiểm tra code online tốt cho developer (12/06/2020) Influxweb Technologies Truy xuất ngày 15/12/ 2021, http://influxwebtechnologies.net/top-10-website-kiem-tra-code-online/ Tính bật ngơn ngữ lập trình scratch gì? (24/10/2020) Truy xuất ngày 15/12/2021, https://makeblock.com.vn/ngon-ngulap-trinh-scratch Học lập trình nên biết IDE online hữu ích (19/03/2019) Truy xuất ngày 15/12/2021 https://csc.edu.vn/lap-trinh-va-csdl/tin-tuc/kien-thuc-laptrinh/hoc-lap-trinh-nen-biet-8-ide-online-huu-ich-mien-phi-nay-778 21