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
m_ Giới thiệu môn học
"_ Nộidung môn học
"_ Đánhgiá
m _ Tài liệu thamkhảo
m_ Trao đôi và thảo luận
CHới Thiệu
„Tên học phân: Cơ sở lập trình
" Mã môn học: 341020
=m Số tín chỉ: 3(2,1)
" Số tiết: 60 tiết (1í 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 toán,
lệnh nhập/xuất dữ liệu, lệnh sá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
m -_ GIỚI thiệu
" Chương Ï: Thuật toán
m".. Chương 2: Giới thiệu ngôn ngữ C/C++
= Chương3: Các cấu trúc điều khiến
" . Chương 4: Chương trình con và Hàm
" Chương5: Mảng
" Chương6: Struct
CHớ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 Ca 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 KHẨN ĐHQG TPHCM, 2011.
[4] WIkibooks.org, “C Proeramming”
Nguôn tham khảo khác (từ internet, tìm kiếm băng tiếng Anh)
https://www.cproøramming.com/tutorial/c-tutorial.html
http://www.eskimo.com/~scs/cclass/notes/top.html
Stackoverflow: htfps://stackoverflow.com/
GeeksforGeeks: https://www.øeeksforgeeks.org/
Google, Bing, ...
© O O © Ò©
Đánh giá môn học
“= _ Điểm quá trình: 50%
Điểm lý thuyết:
Chuyên cần, thảo luận: 5%
Kiểm tra giữa kỳ: 20 % (làm bài thi trên giấy)
Điểm thực hành :
Chuyên cần, thảo luận: 5%
S %5. ‹S XSÔO
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 đề thị)
=" _ Điểm thưởng: trả lời câu hỏi, lên bảng làm bài tập, ...
^ A s y7. SA
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 øiả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
https://techmaster.vn/posfs/1862/nshe-la
-trinh-va-nhunø-su-that-1t-nøuo1-b1eft-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ề TT — 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 nsày I 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 (ò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.
-nøanh-phan-mem-proørammer-coder-
S/cunø-Ïlam-vIiec-tron
https://www.topItworks.com/blo
developer-va-engineer-khac-nhau-the-nao/
S0 ARE Y0U A CODER, PROGRAMMER, DEVEL0PER, 0R SOFTWARE ENGINEER?
SOFTWARE ENGINEER
CODER PROGRAMMER
THƯỜNG CHÍ CÓ KHẢ NĂNG
VIỆT CODE CƠ BẢN VÀ HƠN CODER.
THÔNG THẠO MỘT NGÔN CÓ THẺ SỬ DỤNG CÁC THUẬT PROGRAMMIER.
NGỮ LẬP TRÌNH. TOÁN ĐƠN GIẢN ĐẺ VIẾT CÁC CÓ KHẢ NĂNG ỨNG DỤNG CÁC TRÚC, XÂY DỰNG HỆ THÓNG VỚI QUY
CÓ THẺ VIỆT CÁC ỨNG DỤNG ỨNG DỤNG THUẬT TOÁN PHỨC TẠP HƠN ĐỀ MÔ LỚN VÀ RÁT PHỨC TẠP.
ĐÒI HỖI ĐỘ PHỨC TẠP HƠN TẠO RA CÁC ỨNG DỤNG PHỨC CÓ NHỮNG KĨ NĂNG CỦA DEVELOPER
TẠP, CÓ TÍNH THỰC TẾ CAO HƠN.
ĐƠN GIẢN.
,CÓ TÍNH THỰC TẾ CAO HƠN » 1 I
ĐÔI KHI CŨNG ĐƯỢC GỌI LÀ
PROGRAMMER.
DEVELOPER
THƯỜNG CÓ NHIÊU KINH NGHIỆM CÓ NHIÊU KINH NGHIỆM HƠN
HOẶC ÍT NHẬT TƯƠNG ĐƯƠNG TƯƠNG ĐƯƠNG DEVELOPER. _
ĐƯA RA CÁC GIẢI PHÁP VỀ MẶT CÂU
CÓ NHIÊU KINH NGHIỆM HƠN HOẶC
Micro
controllers
œ2
0perating
systems
Scientific
systems
Parent
language
Assemblers
Print
Spoolers
www.educba.com
Các ví dụ thực tê
=m.. Bài toán documenfscanner
tham khảo:
https://blogs.dropbox.com/tech/2016/08/fast-and-accurate-documenf-detection-for-scanning/
Goal: to find the corners and edges of a document1n the Image, so that 1t can be cropped out from the
backeround.
output
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ậttoá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)
". Dộan toàn của hệ thông RSA dựa trên Ï 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.ph
The limiton the input number to factor is less than 10,000,000,000,000 (less than 10 trillion or a maximum of 13 digits)
A's ? mà A's L4 mm
= _
Ciphertext Original
Original Plaintext
Plaintext
Các ví dụ thực tê
" .. Search Algorithm (thuật toán tìm kiếm)
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ố
TN, Shore Hospital W Naremburn ~
*
" St Leonards
Ề Riverview sua Ñ
, ly
4 Northwood `? k
Lá
ngueville 'Greenwich
°
Woolwicl
ø Parsley Bay @
F Reserv
Birchgrd Đo
dney Harbo
` , ,
1 D
4 ` Ƒ
` BalmairW
`
X. ¿
x s: À (
` ƒ ne M 7
` ` ` É
Ụ h ¬.
=—=
_Vaucluse
than ệc Dover Hạ, ightS.
Ệ Rose Nha
$ co ble Bay
$
e %
hong sự `Ì ”4
Glebe Markets Ô ¡mo
>
-eichhardt
c—.-.ea=~
sM HỆ oonlight >2: `
„8: & ° Chema ydiey Ỉ Nonh Bond
'OI
(© The University %
K of Sydney ø ‡ L..3 und Tí ° Bondi Bondi Beach
h ể lề ( h HH
saham _— Newtown - 9' z Moore Park xế "
với ¿
š ha Tamarama Beach
“%„„ Enmore N ° 7T drị l§ = lŸ Centennial ` đc. : ọ
Ỉ \ 2/224 1< n.%:: sp lạ on ng Ế `"
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ụ: SK 65 inch QLED TV Q900R with SK AI Upscaling
https://www.samsung.com/uk/tvs/qledtv-g900r/OE65O900RATXXU/
Neural Style Transfer Algorithm
Goal: biên đối hình ảnh theo phong cách nghệ thuật
Style Content Output

