None Flashcards
Thật vậy, 2/3 trong số các bạn, trái với những gì bạn có thể nghĩ là giả định, chưa bao giờ học lớp CS trước đây.
5:03
Cho nên tuyệt đối không phải người bên trái hay bên phải nhất định phải biết nhiều hơn bạn. Thật vậy, nó hoàn toàn ngược lại.
5:09
Và như bạn sẽ thấy trong những tuần tới, khi bạn viết mã của riêng mình và giải quyết các vấn đề của riêng mình, điều cuối cùng quan trọng trong khóa học này
5:14
không quan trọng là bạn kết thúc như thế nào so với các bạn cùng lớp mà là bạn kết thúc ở đâu so với chính bạn khi bạn bắt đầu.
Nhưng tuần 0, là tuần mà chúng tôi khám phá tư duy máy tính,
5:51
suy nghĩ như một chiếc máy tính và bắt đầu dọn dẹp các quá trình suy nghĩ của bạn. Bắt bạn phải suy nghĩ, để giải quyết vấn đề một cách có phương pháp hơn,
5:57
và cuối cùng, dịch nó thành mã.
Sau đó, chúng ta sẽ chuyển từ tuần tới sang tuần thứ nhất, có thể nói như vậy. Theo đó, chúng tôi sẽ giới thiệu cho bạn một ngôn ngữ truyền thống hơn, cấp độ thấp hơn
6:30
một ngôn ngữ cũ hơn gọi là C
Và chúng ta sẽ xem bên dưới mui xe, có thể nói, máy tính của bạn ở bộ nhớ hoặc RAM, Bộ nhớ truy cập ngẫu nhiên,
7:24
nơi tất cả dữ liệu cuối cùng sẽ được lưu trữ. Sau đó, chúng tôi cũng sẽ xem xét các lỗi. Một lỗi là một sai lầm trong một chương trình.
7:31
Đây là một lỗi thực sự trong một máy tính thực tế trong năm qua, nhưng chúng tôi sẽ hướng dẫn bạn cách gỡ lỗi chương trình, tìm lỗi của chính bạn,
7:38
tìm lỗi của người khác và cải thiện mã đó. Sau đó, chúng tôi sẽ chuyển sang thuật toán, hướng dẫn từng bước
7:44
để giải một số bài toán
Chúng tôi sẽ sử dụng phép ẩn dụ trên đường đi, nếu nó hữu ích. Chúng ta sẽ nói về bộ nhớ máy tính của bạn giống như một địa chỉ gửi thư.
8:48
Giống như mọi hộp thư trên thế giới đều có một số dạng địa chỉ bưu chính, đường phố, thành phố, tiểu bang, quốc gia, và những thứ tương tự, và hóa ra,
8:55
đó là cách máy Mac, PC và điện thoại của bạn cũng hoạt động. Bạn có cả đống ký ức, giống như bức ảnh trước,
9:00
nhưng bạn có thể coi nó thực sự như những hộp thư cá nhân. Và bạn có thể đặt bất cứ thứ gì bạn muốn vào những hộp thư đó,
9:05
và bạn có thể vào hộp thư để lấy thông tin từ hộp thư đó. Vì vậy, vào cuối ngày, đó thực sự là tất cả máy tính của bạn
9:11
đang làm với thông tin. Chẳng hạn, nó chỉ sắp xếp nó, không phải vào các hộp thư, mà thay vào đó là một thuật ngữ mà bạn có thể biết được gọi là byte.
Và máy tính của bạn khi gặp phải những lỗi đó thì không biết phải làm sao. Và cứ 10 lần thì 9 lần, có thể nói, nó chỉ bị treo hoặc đơ
9:47
hoặc tương tự, nhưng những thứ như vậy sẽ có ý nghĩa hơn. Vì vậy, ngay cả thế giới thực cũng sẽ có ý nghĩa, và trong hình ở đây là một số thuật ngữ cấp thấp hơn mà cuối cùng chúng ta sẽ học được vào giữa học kỳ.
9:55
Nhưng nói chung, khi một cái gì đó đi theo hướng này, theo mũi tên này, và một cái gì đó đang đi theo hướng này, theo mũi tên này,
10:01
như thế không kết thúc tốt đẹp. Và đó thường là những gì xảy ra khi máy tính của bạn gặp sự cố. Ai đó đang sử dụng bộ nhớ ở đây, nhưng người khác đang sử dụng bộ nhớ ở dưới này,
10:08
và sau đó họ không thực sự nói chuyện tay trái và tay phải. Vì vậy, đó chỉ là tổng quan cấp cao về một số vấn đề mà chúng ta sẽ gặp phải
Thật vậy, khóa học rất có chủ ý, trước đây của tôi và bây giờ, điều này, trước tiên giới thiệu cho bạn về C, điều này đủ buồn cười, nhiều người không
11:31
có xu hướng lập trình chắc chắn mỗi ngày. Tôi sử dụng C, thông thường, tháng 9, tháng 10, tháng 11,
11:36
Tháng 12, khi tự dạy CS50. Nhưng nó ở khắp mọi nơi, dù sao. Trên thực tế, ngay cả những ngôn ngữ khác ngày nay mà bạn có thể quen thuộc,
11:43
như Python và Java và những ngôn ngữ khác nữa, bạn sẽ thấy cùng một ngôn ngữ nguyên thủy này bên trong,
11:50
bởi vì nó rất nhanh. Và như bạn sẽ học trong những tuần tới, nó thực sự cho phép bạn tiếp cận và hiểu biết về những gì
11:57
đang diễn ra một cách khái niệm ở dưới đây. Vì vậy, sau CS50, khi bạn đang viết mã, bạn có thể suy nghĩ ở mức rất cao về những gì đang thực sự diễn ra.
12:05
Vì vậy, trên thực tế, chỉ trong vài tuần nữa, những gì trông như thế này trong C sẽ trông như thế này trong Python.
12:11
Và bạn sẽ hiểu rõ hơn những gì đang diễn ra bên dưới mui xe, và tỷ lệ cược là, sau lớp học này, bạn sẽ tiếp cận được một ngôn ngữ,
12:16
thích Python thường xuyên hơn C, nhưng bạn sẽ được hưởng lợi từ sự hiểu biết từ dưới lên đó.
Và cuối cùng, chúng ta sẽ kết hợp tất cả những thứ này lại với nhau
13:19
bằng cách giới thiệu cái được gọi là khung và thư viện, mã của bên thứ ba giúp giải quyết các vấn đề quan tâm dễ dàng hơn rất nhiều
13:26
cho bạn
Vậy khoa học máy tính là gì?
16:34
Phải? Nếu bạn có thể giống tôi hoặc những người mới như bạn bè của tôi ở trường trung học, bạn có thể cho rằng nó có nghĩa là lập trình.
16:40
Và đó hoàn toàn là một phần quan trọng đối với nhiều người, bởi vì với mã, bạn có thể viết, bạn có thể diễn đạt ý tưởng và giải quyết các vấn đề thực tế,
16:46
đặc biệt liên quan đến dữ liệu. Nhưng bản thân khoa học máy tính thực sự là nghiên cứu về thông tin, nếu bạn muốn.
16:52
Làm thế nào để bạn đại diện cho nó, và làm thế nào để bạn thực sự xử lý nó?
unary là một hệ thống rất đơn giản sử dụng một biểu tượng duy nhất, trong trường hợp này là ngón tay người, để giải quyết một vấn đề nào đó,
18:22
như đếm số người trong phòng.
base-1
unary - 1,2,3,4,5,6,7,8,9
base-1
Và do đó, bên trong một chiếc máy tính ngày nay chỉ có hàng nghìn, hàng triệu công tắc nhỏ xíu.
20:51
Bạn có thể nghĩ về chúng một cách ẩn dụ như bóng đèn, nhưng chúng không thực sự tỏa sáng. Nhưng có những công tắc nhỏ, nhỏ xíu,
20:57
và những công tắc đó, nếu bạn đã từng nghe thuật ngữ này, chỉ được gọi là transistor.
chúng ta sẽ nói chuyện sau trong học kỳ về cách bạn có thể nén thông tin để bạn không sử dụng cách
54:13
nhiều bit hơn bạn thực sự cần. Và có những thuật toán lạ mắt mà mọi người đã phát triển, nhưng xét cho cùng, đó thực sự là tất cả những gì một video có thể
54:19
là một chuỗi các hình ảnh
Vì vậy trừu tượng về mặt kỹ thuật là một thuật ngữ mà bạn sẽ thấy khắp mọi nơi trong khoa học máy tính,
56:16
và thực sự, giải quyết vấn đề, điều đó chỉ đề cập đến việc đơn giản hóa một cái gì đó, để bạn không tập trung vào phần thấp hơn
56:23
mức chi tiết thực hiện. Bạn thực sự chỉ tập trung vào các mục tiêu cấp cao hoặc bản thân quá trình.
56:29
Do đó, ô tô của bạn, nếu bạn có bằng lái và đã lái hoặc đã ngồi trên ô tô, ô tô, theo như bạn quan tâm,
56:35
có lẽ là một sự trừu tượng. Hầu hết chúng ta, nếu bạn giống tôi, có lẽ không thực sự biết hoặc không quan tâm đến cách thức hoạt động của động cơ và tất cả các bộ phận đang chuyển động.
56:42
Đối với bạn, đó chỉ là một cách để đi từ điểm A đến điểm B. Đó là một điều trừu tượng, nhưng ai đó, hy vọng là người thợ máy,
56:47
biết những chi tiết triển khai cấp thấp hơn. Nếu bạn phải hiểu một chiếc ô tô hoạt động như thế nào mỗi khi bạn
56:53
muốn đi học hoặc đến cửa hàng, có lẽ đó sẽ là một quá trình khá chậm. Bạn chỉ muốn suy nghĩ và vận hành ở mức độ trừu tượng cao hơn này,
57:00
và chúng tôi sẽ làm điều này mọi lúc khi viết mã và giải quyết vấn đề.
algorithm: hướng dẫn từng bước để giải quyết một số vấn đề
implementation detail: nghĩa là cách bạn có thể giải quyết một số vấn đề nhất định