None Flashcards

1
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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 đó.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

unary - 1,2,3,4,5,6,7,8,9
base-1

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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 đề.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

device-and-conquer: xé cuốn sách ra làm đôi
pseudocode: mã giả, Nó sẽ là một cú pháp giống như tiếng Anh. Và đây là cách mà nhiều lập trình viên sẽ bắt đầu giải quyết một vấn đề. Họ không bắt đầu gõ mã bằng C hoặc Python hoặc tương tự.
1:04:38
Họ sử dụng tiếng Anh hoặc bất cứ ngôn ngữ con người nào của họ để ghi lại dàn ý cho các ý tưởng của họ.

A
17
Q

event
side effect: thuật ngữ kỹ thuật
hack
best design

A
18
Q

Nhưng bản thân chúng cũng là những sự trừu tượng. Tại sao? Bởi vì một khi chức năng tồn tại, nó có tên. Và bạn có thể nghĩ về nó trong thuật ngữ đó.
1:36:19
Và bạn có thể sử dụng nó theo tên của nó. Bạn không cần phải quan tâm hay nhớ chức năng đó được xây dựng như thế nào,
1:36:25
cho dù đó là bởi bạn hay thậm chí MIT. Vì vậy, một lần nữa, ở đây tôi sẽ nhấp vào Cờ xanh. Nó là điều tương tự. [TIẾP TỤC]
1:36:32
Vì vậy, vẫn đúng, nhưng tốt hơn và được thiết kế tốt hơn.

A
19
Q

Và vì vậy, bất cứ lúc nào, ở đây và ngoài trời, với Scratch, hoặc sắp tới là C, và cuối cùng là Python, khi bạn thấy mình đang làm bất cứ điều gì
1:36:43
giống như Sao chép/Dán hoặc lặp đi lặp lại cùng một mã, có thể là cơ hội để nói, đợi một phút.
1:36:49
Hãy để tôi cấu trúc lại cái này, có thể nói như vậy, tức là tách đoạn mã dường như được lặp đi lặp lại nhiều lần
1:36:54
và đặt nó vào chức năng riêng của nó để bạn có thể đặt cho nó một cái tên mô tả và sử dụng cũng như tái sử dụng nó.

A
20
Q

ở trên cùng bên phải của sân khấu ở đây, tôi có cột đèn, tôi chỉ cần kéo và thả xuống và tiếp tục, nhưng sau đó tôi đã thêm một nhân vật thực tế.
1:48:06
Và nó phải là một sprite nếu bạn muốn nó làm mọi thứ một cách tương tác. Cột đèn– không phải sprite. Nó chỉ là một hình ảnh một bộ trang phục, nếu bạn muốn, cho toàn bộ
1:48:13
sân khấu chính nó, một bối cảnh. Nhưng thứ này thực sự là một sprite vì nó cần phản hồi mã và các sự kiện, chẳng hạn như kéo và thả.

A
21
Q

Và không có nhiều sự quan tâm đang xảy ra. Nhưng lưu ý, nếu tôi di chuyển con trỏ lên, xuống–
1:50:18
nhưng nó hoạt động như thế nào? Nó chỉ thay đổi trang phục được phủ trên ma. Vì vậy, nó trông giống như tương tác, nhưng bạn thực sự
1:50:24
vừa thay đổi thẩm mỹ. Và con người chúng ta chỉ giả định rằng, ồ, nó đang mở ra. À, không, chỉ là thay trang phục thôi.
1:50:30
Vì vậy, đây là sự khác biệt. Sự trừu tượng cấp cao– mở thùng rác. Chi tiết triển khai cấp thấp hơn (implementation detail)– trang phục
1:50:36
thay đổi, tạo ra ảo ảnh đó. Và nếu tôi muốn nó trông đẹp hơn, tôi có thể có nhiều trang phục khác và bùm, bùm, bùm, bùm, bùm để tạo ra nhiều khung hình hơn trên giây,
1:50:45
nếu bạn muốn.

A
22
Q

Tôi vừa mới thêm mã cho mảnh rác của mình. Nếu tôi nhấp vào Cờ xanh, hãy lưu ý rằng–
1:53:30
sau khi tôi kích hoạt nó– hãy để tôi bắt đầu lại. Tôi đã giấu nó trước khi đến lớp. Nhưng hãy để tôi kích hoạt nó ngay bây giờ–
1:53:35
Cờ Xanh, lưu ý rằng nó bắt đầu ở tâm điểm chết, tại x bằng 0, y bằng 240 và nó đang giảm từng pixel một.
1:53:42
Nếu điều đó có vẻ hơi nhàm chán, chúng ta có thể thay đổi nó thành -10 pixel mỗi lần và, bùm, thế là xong. Vì vậy, đó là cách bạn có thể thay đổi tốc độ của một chương trình.

A
23
Q

implement detail : Chi tiết triển khai cấp thấp hơn

A