1. Trang chủ
  2. » Công Nghệ Thông Tin

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

15 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới thiệu môn học
Tác giả Huỳnh Minh Trí, Phan Tấn Quốc, Nguyễn Nhựt Đông
Người hướng dẫn Trịnh Tấn Đạt, Ph.D.
Trường học Đại học Sài Gòn
Chuyên ngành Cơ sở lập trình
Thể loại bài giảng
Năm xuất bản 2024
Thành phố TPHCM
Định dạng
Số trang 15
Dung lượng 860,39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 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ểnrẽ nhánh, cấu trúc l

Trang 1

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/

Trang 2

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

Trang 3

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

Trang 4

Nội dung môn học

 Giới thiệu

 Chương 1: Thuật toá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

Trang 5

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, …

Trang 6

Đá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 : 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, …

Trang 7

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

Trang 8

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

Trang 9

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/

Trang 11

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

input

output

Trang 12

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)

Trang 13

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ố

Trang 14

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/

Trang 15

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

Ngày đăng: 16/12/2023, 20:14