
Bài giảng Cơ sở lập trình: Giới thiệu môn học và khái niệm Thuật toán - Trịnh Tấn Đạt
lượt xem 1
download

Bài giảng "Cơ sở lập trình: Giới thiệu môn học và khái niệm Thuật toán" cung cấp cho người đọc một số nội dung cơ bản về môn học, đánh giá, tài liệu tham khảo và các yêu cầu đối với người học khi tham dự môn học này.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở lập trình: Giới thiệu môn học và khái niệm Thuật toán - Trịnh Tấn Đạt
- Cơ Sở Lập Trình Trịnh Tấn Đạt Khoa CNTT - Đại Học Sài Gòn Email: trinhtandat@sgu.edu.vn Website: https://sites.google.com/site/ttdat88/
- Nội dung ▪ Giới thiệu môn học ▪ Nội dung môn học ▪ Đánh giá ▪ Tài liệu tham khảo ▪ Trao đổi và thảo luận
- Giới Thiệu ▪ Tên học phần: Cơ sở lập trình ▪ Mã môn học : 841020 ▪ Số tín chỉ: 4 ▪ Số tiết: 75 tiết (lí thuyết: 45 tiết ; thực hành: 30 tiết) ▪ Mô tả học phần o Học phần trình bày các kiến cung cấp cho người học kiến thức cơ bản về ngôn ngữ lập trình C/C++ o Học phần giảng dạy các kỹ năng tư duy lập trình, kỹ năng soạn thảo chương trình và xử lý lỗi chương trình. ▪ Mục tiêu: Học phần nhằm giảng dạy các kiến thức cơ bản về lập trình: khái niệm thuật toán, lệnh nhập/xuất dữ liệu, lệnh gán, các biểu thức, các cấu trúc điều khiển (rẽ nhánh, cấu trúc lặp), chương trình con, mảng, kiểu dữ liệu có cấu trúc và rèn luyện tư duy lập trình, các kỹ năng phân tích, thiết kế một số bài toán cơ bản, soạn thảo chương trình và xử lý sửa lỗi chương trình cũng như hình hành các thái độ học tập chăm chỉ, nghiêm túc, trung thực và sáng tạo cho sinh viên.
- Nội dung môn học ▪ Giới thiệu môn học và khái niệm Thuật toán ▪ Chương 1: Giới thiệu ngôn ngữ C/C++ ▪ Chương 2: Các cấu trúc điều khiển ▪ Chương 3: Chương trình con và Hàm ▪ Chương 4: Mảng ▪ Chương 5: Struct
- Giới Thiệu ❖ Tài liệu tham khảo: ▪ Tài liệu chính Bài giảng của giảng viên [1] Huỳnh Minh Trí, Phan Tấn Quốc, Nguyễn Nhựt Đông, Giáo trình kỹ thuật lập trình, NXB Đại học Quốc Gia TPHCM, 2016. ▪ Tài liệu khác (khuyến khích đọc thêm tài liệu bằng Tiếng Anh) [2] Phạm Văn Ất, “Kỹ thuật lập trình C - cơ sở và nâng cao”, NXB Giáo Dục, 2006. [3] Trần Đan Thư, Nguyễn Thanh Phương, Đinh Bá Tiến, Trần Minh Triết,“Nhập môn lập trình”, Trường ĐH KHTN ĐHQG TPHCM, 2011. [4] Wikibooks.org, “C Programming” ▪ Nguồn tham khảo khác (từ internet, tìm kiếm bằng tiếng Anh) o https://www.cprogramming.com/tutorial/c-tutorial.html o http://www.eskimo.com/~scs/cclass/notes/top.html o Stackoverflow: https://stackoverflow.com/ o GeeksforGeeks : https://www.geeksforgeeks.org/ o Google, Bing, …
- Đánh giá môn học ▪ Điểm quá trình: 50% o Điểm lý thuyết: ✓ Chuyên cần, thảo luận : 10% ✓ Kiểm tra giữa kỳ: 20 % (làm bài thi trên giấy) o Điểm thực hành : ✓ Kiểm tra thực hành: 20 % (làm bài tập thực hành và vấn đáp). ▪ Thi kết thúc học phần: 50% ✓ Tự luận, đề đóng, thời gian làm bài 90 phút ▪ Điểm thưởng (tính trong điểm quá trình): trả lời câu hỏi, lên bảng làm bài tập, …
- Yêu cầu đối với sinh viên ▪ Chuyên cần: Sinh viên cần phải tham dự lớp với ít nhất 80% số buổi học. ▪ Chuẩn bị cho bài giảng: Sinh viên cần chuẩn bị đọc bài trước ở nhà theo kế hoạch học tập của học phần mà giảng viên đã thống nhất; ▪ Thảo luận: Theo các câu hỏi mà giảng viên nêu ra trong các buổi học; ▪ Kiểm tra giữa kì, kiểm tra thực hành và thi cuối học kỳ: Sinh viên không dự thi (không làm các bài kiểm tra) sẽ bị tính điểm không; ▪ Thái độ: Học tập chăm chỉ, tuân thủ, tự học và tự trao dồi kiến thức.
- Nghề lập trình và những sự thật ít người biết tới https://techmaster.vn/posts/1862/nghe-lap-trinh-va-nhung-su-that-it-nguoi-biet-toi Trích một phần bài viết ▪ Lập trình là một công việc như thế nào? Có phải lập trình viên là những người tối ngày ngồi trước màn hình máy tính? Cứ code giỏi thì sản phẩm sẽ tốt? … Lập trình là một lĩnh vực mà nếu không phải trong nghề thì thật khó thấu hiểu những nỗi “trần ai” trong đó. Sau đây, kĩ sư công nghệ thông tin David Veksler – chủ trang blog The Rational Mind – sẽ chia sẻ cho chúng ta những sự thật ít ai biết về nghề IT – nghề lập trình: Chỉ 10-20% thời gian của toàn bộ dự án được các lập trình viên sử dụng để viết code, và bất kể trình độ, mỗi ngày 1 lập trình viên chỉ viết trung bình từ 10-20 dòng code. Sự khác biệt giữa tay chuyên và gà mờ đó là tay chuyên thì dành 90% thời gian để suy luận, tìm tòi và thử nghiệm các phương án tối ưu nhất cho mình; còn những gà mờ thì dành 90% thời gian để debug, thay đổi vài chỗ trong code, lại debug và mong đến một lúc nào đó chương trình sẽ hoạt động.
- Coder, Programmer, Developer and Engineer https://www.topitworks.com/blogs/cung-lam-viec-trong-nganh-phan-mem-programmer-coder- developer-va-engineer-khac-nhau-the-nao/
- Các ví dụ thực tế ▪ Bài toán document scanner tham khảo: https://blogs.dropbox.com/tech/2016/08/fast-and-accurate-document-detection-for-scanning/ Goal: to find the corners and edges of a document in the image, so that it can be cropped out from the background. output input
- Các ví dụ thực tế ▪ Phân tích thừa số nguyên tố và ứng dụng trong mật mã. ▪ Thuật toán RSA được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT) ▪ Độ an toàn của hệ thống RSA dựa trên 1 trong những vấn đề của toán học: bài toán phân tích ra thừa số nguyên tố các số nguyên lớn. Ví dụ: 15 = 3 * 5 ▪ Năm 2009, để phân tích thành thừa số một số có 232 chữ số (RSA-768) sử dụng hàng trăm máy tính đã mất hai năm. https://www.calculatorsoup.com/calculators/math/prime-factors.php The limit on the input number to factor is less than 10,000,000,000,000 (less than 10 trillion or a maximum of 13 digits)
- Các ví dụ thực tế ▪ Search Algorithm (thuật toán tìm kiếm) ▪ Goal: Nhanh, hiệu quả, ít tốn bộ nhớ. Ví dụ: Tìm trong từ điển để tra ý nghĩa một từ ( English to Vietnamese) Tìm nội dung “thuật toán sắp xếp trên mảng” trong một quyển sách Tìm đường đi ngắn nhất từ nhà tới trường trong một thành phố
- Các ví dụ thực tế ▪ Super Resolution Algorithm ▪ Goal: tăng độ phân giải và chất lượng của hình ảnh. Ví dụ: 8K 65 inch QLED TV Q900R with 8K AI Upscaling https://www.samsung.com/uk/tvs/qledtv-q900r/QE65Q900RATXXU/
- Các ví dụ thực tế ▪ Neural Style Transfer Algorithm ▪ Goal: biến đổi hình ảnh theo phong cách nghệ thuật

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở lập trình: Ngôn ngữ lập trình C/C++ - Trịnh Tấn Đạt
142 p |
29 |
9
-
Bài giảng Cơ sở lập trình 1: Giới thiệu môn học - Lê Quý Tài
9 p |
148 |
8
-
Bài giảng Cơ sở lập trình Csharp: Bài 4 - Cấu trúc lặp
17 p |
92 |
4
-
Bài giảng Cơ sở lập trình: Chương 1 - Thuật toán và thuật giải
30 p |
36 |
4
-
Bài giảng Cơ sở lập trình: Chương 1 - Khái niệm lập trình
428 p |
30 |
3
-
Bài giảng Cơ sở lập trình: Chương 4 - Các cấu trúc điều khiển
41 p |
33 |
3
-
Bài giảng Cơ sở lập trình: Chương 2 - Tổng quan về lập trình máy tính
14 p |
30 |
3
-
Bài giảng Cơ sở lập trình - Trường ĐH Thương mại
108 p |
66 |
3
-
Bài giảng Cơ sở lập trình: Chương trình con
22 p |
16 |
2
-
Bài giảng Cơ sở lập trình: Các cấu trúc điều khiển trong ngôn ngữ C
38 p |
21 |
2
-
Bài giảng Cơ sở lập trình: Các khái niệm cơ bản về lập trình
20 p |
21 |
2
-
Bài giảng Cơ sở lập trình: Thuật toán - Trịnh Tấn Đạt
40 p |
3 |
1
-
Bài giảng Cơ sở lập trình: Ngôn ngữ lập trình C - Trịnh Tấn Đạt
142 p |
4 |
0
-
Bài giảng Cơ sở lập trình: Các cấu trúc điều khiển - Trịnh Tấn Đạt
78 p |
1 |
0
-
Bài giảng Cơ sở lập trình: Chương trình con và hàm - Trịnh Tấn Đạt
64 p |
4 |
0
-
Bài giảng Cơ sở lập trình: Mảng - Trịnh Tấn Đạt
112 p |
1 |
0
-
Bài giảng Cơ sở lập trình: Kiểu cấu trúc - Trịnh Tấn Đạt
35 p |
3 |
0


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
