Cơ sở lập trình
Dành cho Ngành Thương mại điện tử
HTTT 3183
3 tín chỉ, 45 tiết
Cập nhật ngày 22 tháng 05 năm 2019
Mô tả môn học
Môn học này được thiết kế dành riêng cho Ngành Thương mại điện tử nhằm cung cấp những kiến thức cơ bản về lập trình và những kỹ năng lập trình cơ bản. Môn học giúp sinh viên hiểu được vai trò của tính toán trong việc giải quyết vấn đề bài toán và cũng như có khả năng viết các chương trình nhỏ cho phép hoàn thành các mục tiêu hữu ích. Môn học này sử dụng ngôn ngữ lập trình Python 3.6.
Khoá học này sử dụng các tài nguyên của khoá học Introduction to Computer Science and Programming in Python và khoá học Introduction to Computational Thinking and Data Science của MIT Open Coursewave.
Nội dung môn học
Nội dung môn học được chia làm 10 chủ đề:
Chủ đề 1 - Hour of code
Chủ đề 2 - Giới thiệu về lập trình và Ngôn ngữ lập trình Python
Bài thực hành 1
- Các bài tập trong phần Week 1: Python Basics của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python (file dự phòng 1, 2)
- Các bài Introduction, Variables, Strings, Condition expressions, Loops trong Khoá học Introduction to Python của phần mềm PyCharm Edu
Tham khảo :
- Introduction to Computation and Programming Using Python: With Application to Understanding Data (John Guttag): Ch. 1, 2 và 3.1 - 3.2
Chủ đề 3 - Các phương pháp cơ bản giải quyết bài toán trên máy tính và Hàm
Bài thực hành 2
- Các bài tập trong phần Week 2: Simple Programs của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python (file dự phòng 1, 2)
- Các bài Functions trong Khoá học Introduction to Python của phần mềm PyCharm Edu
Tham khảo :
- Introduction to Computation and Programming Using Python: With Application to Understanding Data (John Guttag): Ch. 3.3-3.5 và 4
Chủ đề 4 - Một số cấu trúc dữ liệu
Bài thực hành 3
- Các bài tập trong phần Week 3: .Structured Types của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python (file dự phòng 1, 2)
- Các bài Data structures trong Khoá học Introduction to Python của phần mềm PyCharm Edu
Tham khảo :
- Introduction to Computation and Programming Using Python: With Application to Understanding Data (John Guttag): Ch. 5
Chủ đề 5 - Kiểm thử chương trình
Bài thực hành 4
- Các bài tập trong phần Week 4: Good Programming Practices của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python
Tham khảo :
- Introduction to Computation and Programming Using Python: With Application to Understanding Data (John Guttag): Ch. 6 và 7
Chủ đề 6 - Lập trình hướng đối tượng
Bài thực hành 5
- Các bài tập trong phần Week 5: Object Oriented Programming của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python
- Các bài Classes and objects trong Khoá học Introduction to Python của phần mềm PyCharm Edu
Tham khảo :
- Introduction to Computation and Programming Using Python: With Application to Understanding Data (John Guttag): Ch. 8
Chủ đề 7 - Tìm kiếm và Sắp xếp
Bài thực hành 6
- Các bài tập trong phần 12.Searching and Sorting Algorithms - Week 6: Object Oriented Programming của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python
Tham khảo :
- Introduction to Computation and Programming Using Python: With Application to Understanding Data (John Guttag): Ch. 10
Chủ đề 8 - Trực quan hoá dữ liệu
Tài liệu tham khảo
Các tài liệu tham khảo cho môn học này gồm:
- Sách:
- Guttag, John. Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press. (PDF 2013, EPUB 2016)
- McKinney, Wes. Python for Data Analysis. O'Reilly Media, Inc. 2013. (PDF)
- McKinney, Wes. Python for Data Analysis. 2nd Edition. O'Reilly Media, Inc. 2018. (PDF)
- Severance, Charles. Python for Everybody: Exploring data in Python 3. (PDF, Interactive HTML)
- Segaran, Toby. Programming Collective Intelligence: Building Smart Web 2.0 Applications. O'Reilly Media, Inc. 2007. (PDF)
- Khoá học online:
- MIT Open Coursewave, Introduction to Computer Science and Programming in Python và Introduction to Computational Thinking and Data Science
- edX, 6.00.1x Introduction to Computer Science and Programming Using Python
- https://www.sololearn.com/Course/Python/
- Codecademy, Learn Python ($20/tháng để làm các project)
- Udacity, Intro to Computer Science - Build a Search Engine & a Social Network
- Kiến học, Python căn bản (video trên Youtube) và Python nâng cao - Các cấu trúc dữ liệu
- Các playlist trên Youtube :
- VNEGG, Khoá học Lập Python Căn Bản 101
- laptrinh.io, [Series] Làm quen với lập trình Python
- Tôi Lập Trình, Lập trình Python
- Tài liệu khác:
- Jupyter Notebook dạy Python
- Introduction to Python by Steve Phelps
- Learning to code with Python
- Introduction to Python by Eric Matthes
- Các bài tập để luyện tập
- Python Practice Book - tài liệu giảng dạy, bài tập được soạn bởi Anand Chitipothu.
- Python Challenge - một loạt các câu đố theo các cấp độ khác nhau để kiểm tra khả năng sử dụng ngôn ngữ Python của bạn
- Project Euler - các thử thách lập trình mà bạn có thể thử khi kiến thức về Python của bạn đã vững
- Coding Bat - các bài tập bạn có thể giải trực tiếp trên web
- Codewars - cải thiện kỹ năng của bạn bằng cách giải quyết các vấn đề thực tế
- và Hơn 100 bài tập Python có code mẫu
- Từ điển Thuật ngữ Lập trình Anh - Việt
Phần mềm
Để lập trình Python, bạn có thể sử dụng một trong 3 phần mềm sau:
- (Khuyên dùng) PyCharm Edu - đây là một sản phầm của JetBrains. Phiên bản này chính là phiên bản PyCharm Community kết hợp với tính năng học qua tương tác. Do đó, thông qua PyCharm Edu, bạn có thể vừa học Python, vừa có thể lập trình các dự án phần mềm với Python.
Hướng dẫn cài đặt và sử dụng PyCharm Edu.
- Jupyter Notebook - là một sản phẩm thuộc dự án Jupyter, dự án nhằm tạo ra một ứng dụng web cho phép bạn tạo và chia sẻ các tài liệu với mã nguồn, biểu thức, hình hoạ,... Bạn có thể tương tác với các thành phần này, biên dịch nó và xem kết quả trực tiếp ngay trên tài liệu.
- Jupyter Lab - là giao diện người dùng thế hệ mới cho dự án Jupyter.
Hướng dẫn cài đặt và sử dụng Jupyter Notebook và Jupyter Lab.
Phương pháp đánh giá
Kết quả học tập được đánh giá dựa vào các bài thực hành, bài tập và bài thi cuối khoá với các trọng số như sau:
- Hour of Code: 5%
- Bài thực hành: 15%
- Bài tập: 20%
- Thi kết thúc học phần: 60%
Bên cạnh đó, hình thức điểm thưởng / phạt sẽ được áp dụng để đánh giá chuẩn bị bài, trả lời câu hỏi. Cứ mỗi 10 điểm thưởng / phạt, sinh viên sẽ được cộng / bị trừ 1 điểm vào điểm quá trình (40%). Điểm danh chuyên cần sẽ trở thành điểm trừ và được trừ vào điểm quá trình (40%) với cách quy đổi là vắng 1 buổi trừ 1/40 điểm.
Bài thực hành và Bài tập
Môn học này sử dụng các Exercises, Problem Set và Exams của khoá học 6.00.1x Introduction to Computer Science and Programming Using Python, 6.00.2x Introduction to Computational Thinking and Data Science để làm Bài thực hành và Bài tập. Exercises sẽ là các Bài thực hành. Problem set và Exams là các Bài tập. Bên cạnh đó, các bài trong Khoá học Introduction to Python của phần mềm PyCharm Edu cũng sẽ được sử dụng để làm Bài thực hành trong môn học này.
Bài thực hành sẽ được làm chủ yếu tại lớp, nếu không đủ thời gian thì sẽ được làm tại nhà. Bài tập sẽ được làm tại nhà. Bài thực hành và bài tập đều được kiểm tra kết quả tại lớp.
Chú ý:
- Tất cả các bài thực hành và bài tập của môn học này đều là bài làm cá nhân và phải sử dụng ngôn ngữ lập trình Python và phần mềm PyCharm Edu hoặc Jupyter Notebook hoặc Jupyter Lab để phiên dịch chương trình.
- Hành vi sao chép là không được phép. Nếu bị phát hiện, người sao chép và người cho sao chép sẽ bị điểm 0 đối với bài tập đó
Đọc kỹ hướng dẫn của edX để có kết quả làm bài tốt nhất.
Thảo luận
Hãy đăng ký vào Nhóm mail Cơ sở lập trình để nhận thông báo, trao đổi, thảo luận về nội dung môn học này.
Địa chỉ web: https://groups.google.com/d/forum/cslt_tmdt_hce
Địa chỉ email: cslt_tmdt_hce@googlegroups.com
Cách đăng ký và sử dụng, xem tại Hướng dẫn sử dụng Nhóm mail.
Nhóm mail Cơ sở lập trình
Bạn phải đăng ký thành viên, sử dụng tài khoản Google (tài khoản email của Google), để có thể nhận thông báo, trao đổi, thảo luận trong nhóm mail này.