Tải bản đầy đủ (.pdf) (15 trang)

Bài giảng cơ sở lập trình giới thiệu môn học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (665.47 KB, 15 trang )

Cơ Sở Lập Trình
Trịnh Tấn Đạt
Khoa CNTT - Đại Học Sài Gòn
Email:
Website: />

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ỉ:

3 (2,1)



Số tiết:

60 tiết (lí thuyết : 30 tiết ; thực hành: 30 tiết)



Mô tả học phần
o Học phần gồm 06 chương, 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ầngiả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 tố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 tố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



Chương 1: Thuật tốn



Chương 2: Giới thiệu ngôn ngữ C/C++



Chương 3: Các cấu trúc điều khiển



Chương 4: Chương trình con và Hàm




Chương 5: Mảng



Chương 6: 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 />o />o Stackoverflow: />o GeeksforGeeks : />o Google, Bing, …



Đánh giá mơn học



Điểm q trình: 50%
o Điểm lý thuyết:

Chun cần, thảo luận : 5%

Kiểm tra giữa kỳ: 20 % (làm bài thi trên giấy)
o Điểm thực hành :

Chuyên cần, thảo luận : 5%

Kiểm tra thực hành: 20 % (cho bài tập về nhà làm trong vòng 2 hoặc 3 tuần. Sau đó sẽ thảo
luận và vấn đáp trong phịng thực hành để chấm điểm).



Thi kết thúc học phần: 50%
 Tự luận, đề đóng, thời gian làm bài, khơng dùng tài liệu : 90 phút ( câu hỏi từ ngân hàng đề thi)



Điểm thưởng: 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
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
/>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 tồ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
/>


Các ví dụ thực tế



Bài tốn document scanner

tham khảo:
/>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 tốn học: bài tố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.

/>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 tố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 tố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
/>


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



×