[Powered by Google Translate] [Sân chơi âm nhạc] DAVID J. Malan: Đây là CS50. Vì vậy, tôi là bạn đang ở đâu bây giờ một vài năm trước đây. Và khi tôi còn là một sinh viên năm thứ nhất vào thời điểm đó, tôi đã không thực sự trên con đường làm khoa học máy tính, làm kỹ thuật. Thật vậy, tôi đi vào nơi này như là một bộ tập trung của chính phủ. Tôi đã học trung học, một đứa trẻ thích những thứ như lịch sử. Tôi thích luật hiến pháp, loại tiếng Anh và toán. Nó giống như loại mới lạ, nhưng không nhất thiết phải biết những điều mà tôi đã không được giảng dạy ở trường trung học. Và do đó, năm thứ nhất, tôi đã lo lắng này, theo đó thậm chí mặc dù tôi thích máy tính, chơi các trò chơi máy tính và các thích, tôi chắc chắn không bao giờ nghĩ của bản thân mình như là một máy tính người, một nhà khoa học máy tính. Và thẳng thắn, tôi nghĩ rằng bạn bè của tôi ở trường trung học đã được tham gia khoa học máy tính là bit của một chuyên viên máy tính. Chưa hết, khi tôi đã ở đây trong khuôn viên trường, đã có khóa học này, CS50. Và vào thời điểm đó, nó đã có danh tiếng này thực sự là một cái gì đó hãy cẩn thận. Đó là một khóa học tốt. Đó là một khóa học vui nhộn. Nhưng bạn đã thực sự có được chân vào cửa. Và thậm chí tôi đã không vượt qua ngưỡng sinh viên năm thứ nhất năm. Và tôi đã đi trên con đường của tôi là một bộ tập trung của chính phủ, thông qua như nhiều người trong số các điều kiện tiên quyết như tôi có thể, cross-đếm những thứ cho gen ed hoặc cốt lõi và các loại tương tự. Và sau đó năm thứ hai, vì một lý do nào đó, tôi có lên thần kinh để bước chân vào Trung tâm Khoa học B, nơi CS50. Một nhà khoa học máy tính rất nổi tiếng bởi tên của Brian Kernighan đã được giảng dạy ở đây năm đó. Và thậm chí sau đó, tôi chỉ sẵn sàng để thực sự điền thẻ nghiên cứu của tôi bằng cách tham gia lớp học này vượt qua / thất bại. Tôi nhìn xung quanh tôi và tôi đã tìm tất cả mọi người trong một phải biết cách thêm về khoa học máy tính, về lập trình, về máy tính. Tất cả mọi người phải được lập trình, trong phòng này, kể từ khi họ 12. Nhưng, thực sự, đó là không phải là trường hợp. Và do đó, ngày cuối cùng, vào ngày thứ Hai thứ năm của học kỳ, Tôi đã có bước nhảy vọt này và thay đổi từ vượt qua / không một thư lớp và kết thúc thay đổi nồng độ của tôi trong cùng ngày đối với khoa học máy tính. Bây giờ, đó không phải là mục tiêu của chúng tôi trong lớp học này, để biến tất cả các bạn tập trung vào khoa học máy tính, nhưng thực sự đề nghị có một cơ hội trong lĩnh vực này và trong các lĩnh vực khác mà bạn có thể là khá xa lạ cho các trường trung học thường theo một cách khá con đường tiêu chuẩn chương trình giảng dạy, nhưng để liên doanh, năm CS50, vào mới vùng biển này. Và nếu bạn đang ngồi ở đây ngày hôm nay nghĩ bạn không thực sự thuộc về, do đó, hầu hết những người bên phải của bạn và bên trái của bạn. Thật vậy, năm ngoái, 76% số sinh viên trong lớp học này không có có kinh nghiệm sống. Vì vậy, trái với những gì bạn có thể nghĩ rằng, hầu hết những người ngồi xung quanh ở đây hôm nay không, trên thực tế, có bất kỳ trước kinh nghiệm. 18% đã có một CS lớp học, và 6% đã có hai hoặc nhiều hơn. Trong khi đó, chúng tôi yêu cầu học sinh của chúng tôi mỗi năm để mô tả mình về mức độ thoải mái. Và có không có định nghĩa một trong số này. Bạn chỉ cần loại biết điều đó nếu bạn không phải là rất thoải mái trong CS50. Và năm ngoái, chúng tôi đã có 55% trong lát bánh màu xanh lá cây ở đây tự mô tả như ít thoải mái, sinh viên thẳng thắn không có ý tưởng tại sao họ đã thậm chí đi mua sắm các khóa học về ngày đầu tiên. Tuy nhiên, 55% còn lại với chúng tôi cho đến khi kết thúc thời hạn của, cũng như 35% những người ở một nơi nào đó ở giữa những người thoải mái hơn và những người kém thoải mái. Vì vậy, khoa học máy tính là gì? Cũng ở trường trung học, và thực sự nói chung ra có những ngày này, có quan niệm này hoặc điều này quan niệm sai lầm rằng khoa học máy tính được lập trình. Và đó là hoàn toàn một khía cạnh của khoa học máy tính. Nhưng chương trình, bất cứ ngôn ngữ, thực sự chỉ là một công cụ mà các nhà khoa học sử dụng máy tính để giải quyết vấn đề, hoặc là trong lĩnh vực khoa học máy tính hoặc ngày càng những ngày trong khoa học vật lý, khoa học tự nhiên, y học, nhân văn, để phân tích các tập dữ liệu lớn. Bất cứ nơi nào bây giờ có máy tính và dữ liệu, có một cơ hội để áp dụng các bài học kinh nghiệm trong một lớp học như CS50. Vì vậy, hãy giải quyết một vấn đề mà một nhà khoa học máy tính có thể đi về việc giải quyết và cố gắng đặt một số thuật ngữ, đặt một số khung khái niệm, xung quanh những gì nếu không thể có một số ý tưởng khá trừu tượng. Vì vậy, đây là một điện thoại. Bạn không nhìn thấy những điều này quá thường xuyên, mặc dù các trường đại học dường như vẫn còn có những nhà ở và ký túc xá. Tuy nhiên, trở lại trong ngày khi bạn muốn sử dụng một chiếc điện thoại như này, đã có không có cuốn sách địa chỉ điện tử trong điện thoại di động của bạn. Thay vào đó, bạn kéo lên một cái gì đó được biết đến như một cuốn sách điện thoại. Và những cuốn sách điện thoại có khoảng 1.000 trang, thông thường. Họ đã được sắp xếp từ A đến Z. Và bạn chỉ cần có để tìm trang bên phải để tìm thấy những người bạn đang tìm kiếm để tìm thấy tên và số điện thoại của họ. Bây giờ làm thế nào để bạn đi về nhìn lên một người nào đó trong cuốn sách này? Giả sử mục tiêu của tôi là để cho bạn của tôi, Mike Smith, một cuộc gọi. Vâng, làm thế nào để tôi đi về việc tìm kiếm Mike Smith? Vâng, một cách tiếp cận rất hợp lý, nếu ngây thơ và không hiệu quả, sẽ được bắt đầu ở đây và bắt đầu lật để trang 4 trang 5 đến trang 6, và để loại tuyến tính, cùng một đường thẳng, đi qua cuốn sách này điện thoại. Và mặc dù nó sẽ vô cùng tẻ nhạt, nếu Mike Smith là trong cuốn sách này, tôi cuối cùng sẽ đạt được anh khi tôi cuối cùng đã lật đến phần S của cuốn sách này. Bây giờ tất nhiên, bạn không cần phải là một nhà khoa học máy tính biết rằng đây là một cách ngu ngốc của việc giải quyết vấn đề này. Một con người điển hình là sẽ làm gì? Thực hiện tốt. Vì vậy, bạn sẽ lật giữa, bên phải. Vì vậy, bạn muốn lật vào khoảng giữa, nhìn ở đây, và tôi dường như để tìm thấy bản thân mình trong phần M. OK, do đó, M là rõ ràng không phải những gì tôi đang tìm kiếm. Và Mike bên phải, do đó, để nói chuyện, của phần này. Và như một số bạn đã thấy trước đây, chúng tôi có thể theo nghĩa đen bây giờ tiến hành phá vấn đề này trong một nửa. [Vỗ tay] Bạn thực sự không nên gây ấn tượng. Xé nó xuống các đường may là thực sự không phải là khó. Những người thực sự làm điều đó theo cách này. Tuy nhiên, giảm đường may, bây giờ chúng tôi có hai vấn đề, mỗi người trong số mà là một nửa lớn. Và chúng tôi theo nghĩa đen có thể ném một nửa của vấn đề. Bây giờ chúng ta không với 1.000 trang nhưng, 500. Vì vậy, bây giờ tôi phải làm gì? Vâng, một con người điển hình sẽ đi khoảng ở giữa một lần nữa. Và tôi tìm thấy bản thân mình một phần R. Vì vậy, không khá có. Vì vậy, một lần nữa, tôi có thể xé vấn đề này trong một nửa. [Vỗ tay] Cảm ơn bạn. Vì vậy, bây giờ tôi chỉ có một số 250 trang. Và tôi có thể làm điều này một lần nữa và một lần nữa và một lần nữa và đi từ 125 xuống khoảng 60 đến 30 để 15 và vv. Và cuối cùng, tôi sẽ nhận được chọn ra một trong những trang S , nếu anh ta trong sổ điện thoại, Mike Smith nên. Bây giờ, đó là một thuật toán rõ ràng là khá hợp lý, và đó là một thời gian sử dụng một thuật toán trong trường hợp này. Nhưng những gì chúng tôi có thể sắp xếp đi từ đó? Vâng, các phương pháp tiếp cận đầu tiên, chính xác nếu ngây thơ mặc dù nó được, có thể được mô tả bởi đường thẳng này. Vì vậy, nếu trên trục x ở đây, chúng tôi nói điều này là kích thước của vấn đề, do đó, là trục x đi bên phải, vấn đề trở nên lớn hơn. Lớn hơn trong có nghĩa là gì bối cảnh của vấn đề này? Nhiều trang trong sổ điện thoại. Có một cái gì đó chúng ta có thể định lượng. Trên trục y, thời gian để giải quyết. Vì vậy, như trục tăng lên, nó có lẽ mất nhiều thời gian. Vì vậy, rằng phương pháp tiếp cận đầu tiên của tuyến tính tìm kiếm từ trang 1 dot trang dot dot 1.000 là một thủ tục tuyến tính, tuyến tính thuật toán hoặc quá trình. Và chúng ta có thể mô tả nó bằng đường thẳng này. Nếu tôi thêm một trang danh bạ điện thoại, nó sẽ, trường hợp xấu nhất, đưa tôi một lật trang Mike Smith. Nếu tôi thêm 100 trang, 100 càng flips hoặc đơn vị thời gian. Bây giờ, tôi có thể có một chút thông minh với điều này. Tôi không cần phải thực sự biến nó một trang tại một thời điểm. Tôi có thể làm những thứ như 2 tại một thời gian hoặc 4 tại một thời điểm. Nhưng ngay cả khi đó không phải là tất cả những gì cơ bản tốt hơn. Thậm chí nếu nó là 2 tại một thời điểm, yeah, loại di chuyển này xuống một chút, và nó có nghĩa là phải mất ít thời gian hơn cho cùng một số trang. Nhưng nó không phải là cơ bản tốt hơn. Nhưng chúng tôi đã làm những gì chỉ cần làm, và tất cả các bạn đã làm gì theo bản năng? Bạn thực sự đạt được một chút gì đó như thế này, lôgarít thời gian, mà trong đó các vấn đề có thể phát triển và phát triển và phát triển nhưng chi phí của việc giải quyết vấn đề đó, thời gian cần thiết để giải quyết vấn đề đó, không phát triển gần như là nhanh. Đây sẽ là một đường cong logarit, đăng nhập của n, trong đó n là chỉ là kích thước của vấn đề, số lượng trang trong danh bạ điện thoại. Và điều này có ý nghĩa gì trong thực tế? Vâng, nếu chúng tôi có như 500 người trong phòng này ngay bây giờ, hay đúng hơn, nếu chúng ta có - trộn ẩn dụ, không làm điều đó ví dụ tuy nhiên năm nay - do đó, nếu chúng tôi có 500 trang trong sổ điện thoại và chúng tôi tăng gấp đôi nó 1.000, trong mô hình này thông minh hơn của flipping giữa, bao nhiêu nước mắt trang hơn hiện nó đi đi từ 500 đến 1.000 trang? Vâng, chỉ cần thêm một trang nước mắt. Nếu bạn đưa cho tôi một cuốn sách điện thoại 2.000 trang, không có việc lớn. Tôi chỉ cần xé nó thêm một thời gian. Vì vậy, trong ngắn hạn, kích thước của vấn đề có thể phát triển nhanh hơn nhiều hơn chi phí thực sự giải quyết nó. Bây giờ đây là một trong những thuật toán. Có những người khác chúng ta có thể giải quyết trong cùng một cách. Và như vậy tại sao chúng ta không làm được điều này? Nếu bạn sẽ hài hước tôi, mặc dù lúng túng ở đây trong Sanders, phía trước, tất cả mọi người, nếu bạn và có thể đứng lên tại chỗ. Như bạn thấy trên màn hình ở đây, đây là một thuật toán, quá trình, một chương trình máy tính nếu bạn sẽ, được thực hiện bởi con người mà chỉ có 3 bước. Chúng ta đã bước 1. Bạn đã đứng lên. Và bây giờ nghĩ mình số 1. Đó là số lượng hiện tại của bạn. Tất cả mọi người ở đây là số 1. Bước 2, cặp với một người đang đứng, thêm số điện thoại của bạn với nhau, và sau đó thông qua số tiền theo số điện thoại mới của bạn. Một trong những bạn nên ngồi xuống, sau đó lặp lại. SPEAKER 1: 205. DAVID J. Malan: đó là gì? SPEAKER 1: 205. DAVID J. Malan: OK. SPEAKER 2: Ông có những người khác. DAVID J. Malan: 205? SPEAKER 3: Yeah. DAVID J. Malan: OK. 3. SPEAKER 4: 400. SPEAKER 5: 5. 700. DAVID J. Malan: Được rồi. Tại thời điểm này, càng ít người nên đứng. Đây là nơi mà nó được rắc rối hơn. Ai đó ở đây. Ở đây. Phần tồi tệ nhất là bạn cũng phải bằng lời nói làm số học trong phía trước của hàng trăm trường đại học Havard các sinh. OK. Hơi của một lỗi ở đây. Okay. Số của bạn là gì? SPEAKER 6: Nine. DAVID J. Malan: đó là gì? SPEAKER 6: Nine. DAVID J. Malan: Nine. Okay. Số của bạn là gì? SPEAKER 7: 179. DAVID J. Malan: 179? Okay. Tốt. Vì vậy, 188. Vì vậy, bạn có thể ngồi xuống. Số của bạn là gì? SPEAKER 8: 118. DAVID J. Malan: 118. Một số undergrad thông minh bắt đầu làm toán. Okay. 118, 188. Những gì khác chúng tôi đã nhận? SPEAKER 9: 71. DAVID J. Malan: 71. SPEAKER 10: 79. DAVID J. Malan: 79. Okay. SPEAKER 11: 47. DAVID J. Malan: 47. Trong đó, đội ngũ giáo viên, cung cấp cho chúng ta bao nhiêu? 705 là câu trả lời. Và đó là, trên thực tế, chính xác đúng. Không, chúng tôi đã thực sự là một chút ít ra khỏi đó. Nhưng làm thế nào điều này nên đã làm việc? Những gì vừa xảy ra? Vì vậy, trên mỗi lần lặp của thuật toán này, chúng tôi bắt đầu với một số số lượng người đứng, và đó là n tổng số lần đầu tiên. Sau đó, một nửa của bạn ngồi xuống, và chúng tôi đã đi đến n hơn 2. Sau đó, một nửa của bạn ngồi xuống. Chúng tôi đã đi đến n hơn 4, n hơn 8, n trên 16, và vân vân, cho đến khi, ngay cả khi nó loại tan rã tại kết thúc, về mặt lý thuyết, tất cả mọi người kết hợp trong ban công và tầng lửng và dàn nhạc ở đây, chúng ta sẽ chỉ có một duy nhất người đứng với tổng giá trị, trong trường hợp này, 705. Bây giờ, điều đó không có nghĩa là gì, mặc dù, thời gian chạy? Cũng nghĩ về nếu tôi là con người đã thực hiện điều này bằng tay. Tôi đã có thể bắt đầu khá ngây thơ nhưng một cách chính xác với 1, 2, 3, 4, 5, 6, 7, 8, và vv. Khá tốn thời gian. Vì vậy, tôi có thể làm tốt hơn, phải không? Ở trường lớp, bạn không chỉ cần đếm số trong những người thân. Bạn đếm trong hai. Vì vậy, 2, 4, 6, 8, 10, 12. Và đó được nhanh hơn nhiều. Nhưng bây giờ về cơ bản, bằng cách thúc đẩy các tập thể trí thông minh của tất cả mọi người trong căn phòng này, chúng ta có thể đạt được một hạn chế nhiều hơn nữa như thế này, nhờ đó mà bây giờ số lượng các những người trong căn phòng này có thể tăng gấp đôi. 700 người khác đi bộ vào căn phòng này cho 1.400 người, nhưng nó sẽ chỉ đưa chúng ta lặp đi lặp lại nhiều thuật toán để giải quyết. Và như vậy, ngày càng những ngày này, khi chúng ta có những lớn bộ dữ liệu trong Facebook và Google và như thế, đó là giải quyết các vấn đề với một chút của cái nhìn sâu sắc, điều này chút thông minh, đó là cho phép chúng ta ngày càng làm nhiều, nhiều mạnh hơn mọi thứ với máy tính ngày nay. Nếu bạn thích những thứ này, bạn có thể đã thấy trên Day Puzzle của Facebook CS50 đến thứ Bảy này. Nếu bạn muốn tham gia vào một cái gì đó như nhờ đó mà bạn, trong 2 hoặc 3 hoặc 4 đội 4, muốn giải quyết một số câu đố như một trong những điều này, bạn đứng một cơ hội để giành chiến thắng một số giải thưởng tuyệt vời, trong đó có một Wii và một số thẻ quà tặng hoặc một số swag Facebook khác. Thứ bảy này, trưa đến 3:00 giờ chiều, đi đến cs50.net/rsvp cho như vậy. Và slide này trực tuyến nếu bạn muốn chơi xung quanh. Những vấn đề trong năm nay sẽ là mới mẻ. Bạn có thể nhận thấy trong lớp học, quá, càng máy ảnh trong năm nay. Vì vậy, không chỉ các khóa học sẽ được quay theo cách thông thường, CS50 cũng có thể được tham gia trong một tài liệu trên cao giáo dục đó là tìm kiếm kinh nghiệm biến đổi một sinh viên có thể có những ngày này ở một đại học khóa học. Vì vậy, đối với những, sau đó, không chỉ chúng tôi sẽ được quay đó, chúng tôi sẽ được quay phim cũng ngày càng tăng của chúng tôi khán giả trực tuyến, cũng như vào dịp đối tượng này ở đây. Vì vậy, chúng tôi hoan nghênh đến lớp năm nay Harvard của chúng tôi Sinh viên Trường mở rộng, tốt nghiệp trường thiết kế, Giáo dục, các trường kinh doanh, Trường Kennedy, trường luật, cũng như một số sinh viên từ Belmont, Lexington, Newton, và các trường trung học của Watertown. Chào mừng bạn đến với tất cả các bạn. Ngoài ra trong năm nay, bạn có thể đã nghe, Harvard và MIT, và Berkeley, đã nhập vào một hợp tác quan hệ đối tác, một sáng kiến ​​được gọi là EDX, mà là một chủ động mở cửa giáo dục hơn người dân trực tuyến và về cơ bản bắt đầu làm nghiên cứu trên một quy mô rộng lớn hơn nhiều để mọi người tìm hiểu như thế nào. Và như vậy CS50 sẽ là khóa học đầu tiên của trường đại học tham gia vào sáng kiến ​​đó là tốt. Điều đó có nghĩa là bạn sẽ có quyền truy cập vào tất cả các công cụ, tất cả các nội dung chương trình giảng dạy hơn, tất cả các video hơn nội dung như là kết quả, là tốt, là buổi sáng ngày hôm qua, 53.019 người đã đăng ký tham CS50 cùng với bạn trong năm nay trên Internet. Vì vậy mà không - [Vỗ tay] Vì vậy, điều này có nghĩa là gì, đặc biệt là đội ngũ giáo viên và tôi đã dành khá nhiều thời gian này mùa hè chuẩn bị cho mùa thu, cả khuôn viên trường và, vì thế chúng tôi có thể bắt đầu xây dựng một ngữ liệu thú vị, hấp dẫn, tham gia nội dung giáo dục tập trung, đặc biệt, trên nhiều phương tiện vận chuyển thân mật của vật liệu khá phức tạp. Vì vậy, ngoài các bài giảng và các bộ phận của khóa học và điều được gọi là walkthroughs, mà chúng ta sẽ xem xét lại chỉ trong một bit, chúng tôi cũng sẽ có những quần short năm nay cho phép bạn tham gia với khóa học từ một góc độ khác nhau hoàn toàn. Vì vậy, hãy sử dụng điều này như một cơ hội để có một cách nhanh chóng peek tại một trong những thảo luận về khái niệm nhị phân này. Vì vậy, trong khoa học máy tính, có những thứ gọi là thuật toán - hai trong số đó, chúng ta chỉ cần lấy một cái nhìn tại - các thủ tục giải quyết vấn đề. Nhưng vào cuối ngày, bạn cần phải thể hiện thông tin bằng cách nào đó. Và bạn cần phải đại diện cho nó trong một cách mà một máy tính có thể hiểu. Và ngay cả khi bạn không thực sự hiểu máy tính và bạn đang ở trong đó 76% ngay bây giờ, bạn có thể có một số mơ hồ nghĩa là máy tính bằng cách nào đó đối phó trong 0 và 1, nhị phân hệ thống, do đó, để nói chuyện. Bây giờ tại sao là trường hợp? Vâng, nó quay ra khi máy tính lần đầu tiên, nếu bạn cần thiết để đại diện cho thông tin, bạn có thể làm điều đó với điện. Và mặc dù đây là một chút của một sự đơn giản hóa, rất cách dễ dàng các thông tin ghi âm bằng biến rằng điện - 1 trong nhị phân, do đó, để nói chuyện hoặc chuyển điện năng ngoài. Vì vậy, nếu Barry, nếu bạn sẽ không nhớ, có thể chúng tôi tắt đèn đầy đủ cho chỉ một lúc? Này ở đây là một số 0 nhị phân rất vô cớ. Nếu chúng ta hướng ánh sáng trở lại, bây giờ Sanders Theatre đại diện cho các giá trị nhị phân 1. Thật không may, với chỉ một chút, với thiết lập chỉ một đèn chiếu sáng, chúng tôi chỉ có thể đại diện cho hai con số trong thế giới, 0 và 1. Và nó muốn được tốt đẹp nếu máy tính có thể tính một bit cao hơn. Nhưng thực sự họ có thể. Vì vậy, hãy để tôi kéo lên trên màn hình ở đây bạn Nate hardison của chúng tôi những người sẽ cung cấp cho chúng ta một cái nhìn nhanh chóng trong quá trình chỉ một số ít phút ở khái niệm về nhị phân. [VIDEO PLAYBACK] NATE hardison: Quay lại khi bạn đã học cách đọc và viết con số này, bạn đã học về các chữ số 0 đến 9. Để viết các số nguyên lớn hơn 9, bạn đã học được rằng tất cả bạn phải làm là sử dụng một số sự kết hợp của các chữ số, như năm 52 và 437. Vì vậy, cách này, các số viết có một tên, kí hiệu thập phân. Tại sao số thập phân? Vâng, gốc Latin của một số thập phân, decem, có nghĩa là 10. Và khi bạn có 10 chữ số trong hệ thống ký hiệu của bạn, 10 trở thành một số khá đặc biệt. Hãy nhìn vào số 437 viết bằng ký hiệu thập phân hiểu tại sao. Đầu tiên chúng ta có thể phá vỡ 437 thành 400 cộng thêm 30 cộng 7. Chúng tôi có thể mang nó ra thậm chí nhiều hơn như vậy chúng ta đã có 4 100 lần cộng với 3 lần 10 cộng với 7 lần 1. Hãy nhớ học hỏi về nơi những người thân, nơi hàng chục, nơi hàng trăm, và như vậy? Điều này là chính xác nơi mà đến từ. Và cuối cùng, chúng ta có thể thấy chúng tôi đã có một loạt các quyền hạn của 10 nhúng vào trong đây. Chúng tôi đã có 4 lần 10 với 2 cộng với 3 lần 10 cho 1 cộng với 7 lần 10 với 0. Vì vậy, bây giờ bạn thấy tại sao 10 là một đặc biệt số ký hiệu số thập phân. Trong thực tế, chúng tôi đã có một tên cho nó. Nó được gọi là cơ sở bởi nó là cơ sở của số mũ trong số học của chúng tôi ở đây. Kí hiệu thập phân không phải là cách duy nhất để đại diện cho số. Trong thực tế, ngay cả khi chúng ta thoát khỏi 2 chữ số đến 9, chúng tôi có thể vẫn còn đại diện cho tất cả những con số đó chúng tôi có thể với số thập phân. Vì vậy, bây giờ chúng tôi có hai chữ số, 0 và 1, 2 là đặc biệt của chúng tôi số lượng, cơ sở của hệ thống ký hiệu của chúng tôi. Tên của hệ thống ký hiệu này được gọi là nhị phân từ tiền tố "bi" có nghĩa là 2. Vì vậy, thay vì bây giờ có một nơi những người thân và hàng chục nơi như vậy, bây giờ chúng ta có một nơi những người thân, một nơi twos, bốn chân địa điểm, và như vậy, sẽ tăng quyền hạn của 2. Vì vậy, chúng ta hãy xem điều này bằng cách làm một số đếm. Vì vậy, 0 vẫn là 0, và 1 là vẫn còn 1. Tuy nhiên, bây giờ chúng tôi đã có một nơi hai thay vì hàng chục địa điểm, 10 đại diện cho các số 2. Để có được 3, chúng tôi thêm một điều đó và nhận được 11. 4, kể từ khi có bây giờ là một nơi bốn chân, đại diện cho 100. Năm là 101. 6 là 110. 7 là 111. 8, một lần nữa, có vị trí riêng của mình. Vì vậy, nó là năm 1000. Và tôi nghĩ rằng bạn sẽ có được điểm. [END phát lại video] DAVID J. Malan: Vì vậy, điều này là để nói, những gì máy tính làm nhị phân là gì thực sự là không phải là không giống nhau từ những gì chúng tôi đã được cấp cho một số năm, phải không? Bạn nghĩ trường lớp, bạn đã học để đếm chính xác thời trang rằng Nate đề nghị. Nhưng có lẽ bạn đã không thực sự nghĩ về nó kể từ khi, thực tế là có nơi này những người thân, nơi hàng chục, và hàng trăm diễn ra. Và đó là hơi tùy tiện. Và thực tế, máy tính chỉ cần sử dụng cơ sở này khác nhau. Nhưng vào cuối ngày, để thực sự về thể chất đại diện cho khái niệm của một 0 và 1 này, bạn rõ ràng là không chỉ cần bật các đèn chiếu sáng và tắt thiết. Bạn cần phải làm điều đó trên thang điểm chi tiết hơn nhiều. Và bằng cách chi tiết hơn, bạn có thể nhớ những điều này ngớ ngẩn ít đồ chơi từ thời thơ ấu, Woolly Willy và những ít từ hạt. Hạt Vì vậy, từ là một cái gì đó mà bạn có thể sắp xếp trong một vài hướng khác nhau, có lẽ bắc-nam hoặc nam-bắc. Và vì vậy rất nhiều hóa thân vật lý của công nghệ những ngày này mà sử dụng hệ nhị phân, sử dụng 0 và 1, chỉ cần có từ tính ở bên trong sắp xếp mọi thứ, lên xuống hoặc xuống, do đó đại diện cho một 0 hoặc 1, tương ứng. Vì vậy, thực sự, hãy chuyển đi từ trừu tượng ở đây và nhìn vào bên trong những gì là một truyền thống ổ đĩa cứng máy tính. Điều này sẽ xảy ra là lớn hơn một chút trên màn hình ở chỗ nó là từ một máy tính để bàn. Tuy nhiên, máy tính xách tay ngày nay vẫn còn có cùng một công nghệ, nhưng dần dần được thay thế bởi những thứ phức tạp hơn có thực sự không có bộ phận chuyển động. , Sau đó, bên trong của một ổ đĩa cứng. [VIDEO PLAYBACK] SPEAKER 12: Các ổ đĩa cứng là nơi mà máy tính của bạn lưu trữ tất cả dữ liệu vĩnh viễn. Để làm điều đó, dữ liệu đi từ bộ nhớ RAM cùng với phần mềm tín hiệu chỉ ra các ổ đĩa cứng làm thế nào để lưu trữ dữ liệu đó. Các mạch ổ đĩa cứng dịch những tín hiệu vào điện áp dao động. Những lần lượt kiểm soát các bộ phận của ổ đĩa cứng di chuyển, một số di chuyển các bộ phận còn lại trong máy tính hiện đại. Một số của các tín hiệu điều khiển một động cơ quay bọc kim loại đĩa cứng. Dữ liệu của bạn thực sự được lưu trữ trên các đĩa cứng. Các tín hiệu khác di chuyển đầu đọc-ghi để đọc hoặc ghi dữ liệu trên đĩa cứng. Máy này là chính xác như vậy mà một sợi tóc của con người không thể thậm chí vượt qua giữa người đứng đầu và đĩa cứng quay. Tuy nhiên, tất cả các công trình ở tốc độ tuyệt vời. [END phát lại video] DAVID J. Malan: Vì vậy, nếu bây giờ chúng ta phóng to trên những gì thực sự xảy ra trên các đĩa cứng trong điều kiện của từ tính, chúng tôi có thứ hai này của hai vẻ. [VIDEO PLAYBACK] SPEAKER 13: Chúng ta hãy nhìn vào những gì chúng ta thấy trong chuyển động chậm. Khi một xung ngắn gọn về điện được gửi đến đọc-ghi đầu, nó chuyển đổi trên một nam châm điện nhỏ cho một phần nhỏ của một giây. Nam châm tạo ra một lĩnh vực mà thay đổi tính phân cực của một phần nhỏ nhỏ của các hạt kim loại áo bề mặt của mỗi platter. Một loạt mô hình nhỏ xíu này, tính khu vực trên đĩa đại diện cho một bit duy nhất của dữ liệu trong các số nhị phân hệ thống được sử dụng bởi các máy tính. Bây giờ, nếu hiện tại được gửi một cách thức thông qua đọc viết đầu, khu vực này là phân cực theo một hướng. Nếu hiện tại được thiết lập theo hướng ngược lại, phân cực đảo ngược. Làm thế nào để bạn có được các dữ liệu từ đĩa cứng? Chỉ cần đảo ngược quá trình. Vì vậy, đó là các hạt trên đĩa mà có được hiện nay trong di chuyển đầu đọc-ghi. Đặt cùng hàng triệu các phân đoạn từ hóa và bạn đã có một tập tin. Bây giờ, có thể rải rác trên tất cả các phần của một tập tin duy nhất của một ổ đĩa cứng, loại giống như sự lộn xộn của giấy tờ trên bàn làm việc của bạn. Vì vậy, thêm một file đặc biệt theo dõi, nơi tất cả mọi thứ. Không bạn muốn có một cái gì đó như thế? [END phát lại video] DAVID J. Malan: Thật vậy. Vì vậy, chúng tôi có khả năng này để đại diện cho các thông tin, số ở một mức độ rất thấp. Chúng tôi có một cách vật lý đại diện cho rằng điều tương tự. Nhưng chúng ta có thể không thực sự làm tất cả những gì quan tâm nao khác hơn có lẽ một số số học và toán học. Chúng tôi không có cách nào những vậy, đến nay như ký tự chữ cái để con người chúng ta có thể giao tiếp bằng cách sử dụng các thiết bị tương tự. Nhưng thật may mắn tồn tại mã hóa, các mẫu của số 0 và 1s, đại diện cho các cấu trúc cấp cao hơn như a và b và c và câu và toàn bộ đoạn văn bản và các loại tương tự. Và như vậy ASCII, mà là một từ viết tắt mà đề cập đến điều này hệ thống mã hóa, theo đó một số đại diện cho một lá thư nào. Ví dụ, số lượng mà chúng ta biết giá trị là số thập phân 65 được gọi là bức thư vốn cho các máy tính. Giá trị thập phân của 97 trong các máy tính được biết đến như một chữ thường. Và đó là những gì thực sự có nghĩa là gì? Vâng, mặc dù Nate một thời điểm trước Chỉ tính lên từ 0 đến 8, nếu chúng ta tiếp tục đếm lên đến 65 hoặc hơn nữa để 97, các mô hình của 0 và 1 rằng ông sẽ phải được vẽ trên màn hình sẽ là chính xác những gì một máy tính sử dụng để đại diện cho chữ A trong tất cả các mũ hoặc một lá thư bằng chữ thường. Và thực tế, có một toàn bộ chương trình này. Đây là một, ở cái nhìn đầu tiên, áp đảo bảng xếp hạng của mã hóa, nhưng nếu bạn chỉ tập trung vào nửa bên phải ở đây, nhận thấy trong cột này giữa chúng tôi có khái niệm về con số các chữ cái. Và ở đầu, chúng tôi có 32. Và nhân vật, char, để đó có 32, số nguyên, đề cập rõ ràng là nhân vật thanh Space. Khi bạn nhấn thanh Space ký tự trên máy tính xách tay của bạn, tốt, những gì bạn đang thực sự gửi là một số, một mô hình 0 và 1, một dòng điện nếu bạn sẽ, đại diện cho những người mà 0 và 1 máy tính sau đó diễn giải như là một nhân vật không gian trên màn hình. Một dấu chấm than là 33. Dấu ngoặc kép là 34. Và nếu chúng ta di chuyển xuống bên phải, chúng ta thấy rằng 65 thực sự là A, và 97 thực sự là tự chữ thường a. Và vì vậy bây giờ chúng ta đã có chương trình mã hóa, chúng ta có thể bắt đầu đánh vần những điều trên. Thật vậy, máy tính thường thể hiện bản thân trong tiêu chuẩn đơn vị, chứ không phải bằng cách sử dụng một chút cá nhân, mà lại không phải là tất cả là hữu ích để chỉ đại diện cho 0 hoặc 1, đèn hoặc tắt, nhưng thay vì sử dụng các trình tự của các bit. Và các đơn vị phổ biến nhất của biện pháp, như bạn có thể biết hoặc ít nhất là suy ra, là một byte. Một byte là tám bit, 8 số 0 hoặc số 1 trong một hàng. Vì vậy, chúng ta có thể bắt đầu chính tả những điều trên. Và như vậy, nếu chúng ta có thể, tại sao không thử một chút chung ở đây. Có tám người trong căn phòng này, những người sẽ sẵn sàng đi lên trên sân khấu? Bạn có để được thoải mái xuất hiện trên máy ảnh, nhưng bạn không thực sự cần phải biết, nếu không, những gì xảy ra chỉ được nêu ra. Tôi nhìn thấy một người tình nguyện trên đây. Hai, ba, bốn, năm, sáu, bảy, và làm thế nào khoảng tám. Nào lên. Vì vậy, bạn là đại diện cho một byte của người dân. Hãy để tôi có bạn là nơi của 128, số 64 địa điểm, bạn số 32 diễn ra. Nhưng chúng tôi đang gonna rất nhanh chóng để đảo ngược này. Vì vậy, hãy để tôi đáp ứng tất cả các bạn ở đó. Và bạn sẽ có trong nơi 128 tất cả các cách trên đây. Giống như nơi hàng trăm và hàng ngàn sẽ bị xa hơn ở phía bên trái, chúng tôi muốn giữ chỗ lớn nhất được ở đây bên trái là tốt. Chúng tôi có 32 64s, 16 của, 8 của, 4 của, 2 của, và 1. Excellent. Vì vậy, bây giờ chúng tôi có - OK, bạn có thể giúp đỡ tôi. Vì vậy, bây giờ chúng tôi có tên của bạn là gì? JOANNE: Joanne. DAVID J. Malan: Joanne. Vì vậy, Joanne và tôi sẽ tư vấn cho những kẻ về cách chúng tôi có thể đi về chính tả một cái gì đó. Vì vậy, trên lưng của tờ giấy, họ có một ít cheat sheet sẽ nói cho họ xem họ đại diện cho một 0 hoặc 1. Và tại sao không cho đơn giản, chúng tôi sẽ đại diện cho 0 bằng cách chỉ đứng đó lúng túng. Rất tốt. Hoặc một 1 bằng cách nâng cao tay của bạn, đại diện cho một 1 Và chúng ta hãy xem nếu chúng ta không thể chính tả một nhân vật bốn cụm từ ở đây. Vì vậy, đi trước bây giờ, tình nguyện viên, và thực hiện một vòng nâng cao tay của bạn nếu bạn là một 1 hoặc giữ nó xuống, nếu bạn là một 0. Vì vậy, bây giờ chúng tôi có ba tay lên, số lượng, mọi người khác, họ thực sự đại diện cho? OK. 67. Tại sao? Vâng, nhanh chóng kiểm tra sanity. 64 của địa điểm, bởi vì đó là một 1, giống như 1 lần 64 cộng thêm 1 lần 2, vì vậy đó là 66 cộng thêm 1 lần 1. Đó là cộng thêm 1, do đó, 67. Vì vậy, bây giờ những kẻ đang chung đại diện cho 67 mà dường như đại diện cho những gì ở đây trong ASCII? OK. Vì vậy, một c. Được rồi. Vì vậy, bây giờ chúng ta hãy tiến hành để làm tròn hai. Mọi người đều bắt đầu với hai bàn tay của mình xuống. Và trong vòng hai thực sự có nhiều vai trò ở đây, tôi giả sử, nhưng chúng tôi sẽ giả vờ. Vì vậy, vòng hai, nâng cao hoặc hạ thấp bàn tay của bạn. Được rồi. Khán giả, những gì chúng ta thể hiện là 83. Vì vậy, bạn có thể làm toán học. Tuy nhiên, cho bất cứ ai có bàn tay lên, bạn thêm vào trong số đó họ đại diện. Vì vậy, bây giờ chúng tôi có 83. Hãy mở rộng tấm cheat một chút, và chúng ta có? [Không nghe được] DAVID J. Malan: OK. Điều này có thể được rõ ràng mà chúng ta sẽ ở đây, nhưng Tuy nhiên, vòng ba. OK. Vòng 3 tốt để đi xuống đó. Vì vậy, vòng ba, những gì số những kẻ bây giờ đại diện? OK. Tôi nghe nói 53 tuổi, hiện đang lưu? Thú vị. Bây giờ tại sao điều này sắp xếp kết quả trực quan truy cập, phải không? Nếu chúng tôi muốn đại diện cho 5 - tất cả chúng ta đều có thể biết nơi này là đi - tại sao tôi không chỉ nâng cao vị thế của 4 và địa điểm của 1? Vâng, nhận ra rằng có một sự khác biệt, về cơ bản, giữa một máy tính diễn giải các bit. Nếu bạn đang cố gắng để đại diện cho số 5, sau đó hoàn toàn, chúng tôi chỉ nâng cao tay 4 số và tăng số tay 1. Nhưng chúng tôi không đại diện cho số ở đây. Bối cảnh ở đây trên sân khấu mà chúng tôi đang đại diện cho ký tự, hoặc ký tự. Và trong bối cảnh này, máy tính có nhận ra rằng, oh, mô hình của các bit này không phải là số một mình, nó thực sự đại diện cho một khái niệm mức độ cao hơn, trong trường hợp này chữ cái lá thư. Vì vậy, thực tế là nó bây giờ là đại diện cho số 5 với giá trị của 53 là bởi vì trong điều ASCII thẩm mỹ xem như số 5 chính nó cần một vùng của các bit. Bởi vì sao? Vâng, thế giới chỉ quyết định sử dụng các con số thấp hơn, 0, 1, 2, 3, cho những gì tìm được những điều khá khó hiểu. Và quả thực, đây là những nhân vật mà không phải là trên một bàn phím, đặc biệt biểu thức mà bạn cần trong một máy tính để làm những điều thú vị, nhưng con người không bao giờ thực sự gõ. Vì vậy, 53 thực sự đại diện cho 5. Bây giờ, chỉ như là một kiểm tra sanity cuối cùng, những gì số nên họ đại diện ở thời điểm này chỉ là một? Khán giả: 48. DAVID J. Malan: OK. Vì vậy, 48. Và quả thực, đi trước. Vòng bốn. 16 cộng với 32 là, quả thật vậy, 48. Và do đó, một vòng tràng pháo tay, nếu chúng ta có thể cho chúng tôi 8 tình nguyện viên ở đây. Cảm ơn. Bạn có thể giữ một trong những điều này. Nếu bạn - Thực hiện rất tốt. Bất kỳ hướng nào là tốt. Vì vậy, bây giờ chúng ta có một cách không chỉ suy nghĩ về làm thế nào để đại diện cho dữ liệu và thực sự đại diện cho vật lý, nhưng cũng làm thứ cấp cao hơn trên đầu trang của nó. Thật vậy, đây sẽ là một chủ đề trong suốt máy tính khoa học xây dựng phức tạp hơn và thú vị hơn những thứ trên ý tưởng khá đơn giản, trong trường hợp chỉ 0 và 1. Về lý do tại sao điều này rất hữu ích, mặc dù trong một khóa học như thế này, chúng tôi sẽ tập trung vào các nguyên tắc cơ bản và chương trình và vào giải quyết vấn đề, bạn có thể tắt đi trong khoa học máy tính trong bất kỳ số lượng hướng dẫn. Trong trường hợp này ở đây, đây là một biểu đồ mà bạn có tại sao trang hướng dẫn không chính thức của bạn để CS tại Đại học Harvard, một trong những ngày hôm nay của hai bản in. Điều này cho thấy nhiều hướng khác nhau, trong đó bạn có thể đi sau khi một khóa học như thế này. Tìm hiểu về trí thông minh nhân tạo, về đồ họa, về học máy, về ngôn ngữ. Nhận ra, quá, mà vẫn chưa có đường dẫn khác. Có nhiều con đường toán học trong khoa học máy tính. Nếu bạn thậm chí không có khả năng để có một cái gì đó như CS50 giảm, có khóa học giới thiệu vào mùa xuân. Khoa học Máy tính 1, ví dụ, là một đoạn đường nối tới thế giới mới này. Bây giờ là một sang một bên vì lợi ích của việc giải quyết vấn đề liên quan đến khóa học, nhận ra rằng CS50 thiết lập một thời gian trước đây để cố gắng giải quyết một trong những vấn đề này, vấn đề được biết đến my.harvard, nhiều bạn có thể được sử dụng để thực sự mua sắm cho các khóa học. Nhưng nếu không, hãy kiểm tra một công cụ như thế này, cũng như các con cháu rằng một số sinh viên trong quá khứ của chúng tôi và nhân viên đã tạo ra. Tuy nhiên, trong khóa học Harvard, là một công cụ dựa trên web - cái gì mà bạn sẽ có khả năng thiết kế và triển khai chính mình, cũng như những thứ khác như, cuối học kỳ. Nhận ra rằng điều này xây dựng trên một bộ dữ liệu mở, trong trường hợp này một danh mục tất nhiên, và cho phép học sinh trong trường hợp này khám phá một tập dữ liệu khá phức tạp. Chúng tôi đào lên đêm qua một số liệu thống kê dựa trên số ít ngàn folks những người đã được sử dụng hơn qua ngày. Nếu bạn đã được tò mò muốn biết có bao nhiêu khóa học bạn bè của bạn , tốt, thực sự có xu hướng mua sắm ngày hôm nay nó dữ liệu cho thấy rằng 7,6 là số trung bình của các khóa học danh sách mua sắm của một ai đó. Và bây giờ tôi sẽ cung cấp cho bạn, cũng có thể, thống kê của nhiều nhất số lượng các khóa học trên danh sách mua sắm của một ai đó. Và tất cả chúng ta đều có thể biết một người nào đó như thế này. 201 là năm kỷ lục này. Bây giờ một số cựu học sinh và nhân viên của chúng tôi thực sự đặt cùng một clip để vẽ một bức tranh cho bạn về điều này con đường của khoa học máy tính và CS50 chính nó. Hãy để tôi đi trước và kéo lên, nhờ ông Hahvahd ở đây, một video được sản xuất bởi một số người tiền nhiệm của bạn. Nếu chúng ta có thể giữ cho đèn sáng cho việc này. [VIDEO PLAYBACK] [END phát lại video] SPEAKER 14: (hát) Chúng tôi mất thời gian của chúng tôi với một số đầu, cho các vòng, các sự kiện, chúng ta có thể kết hợp, biên dịch sử dụng của chúng tôi bash, thuật ngữ này sẽ không được một khoan. Hacking vui vẻ, một số bữa ăn miễn phí, bài giảng chỉ đơn giản là không thật, công bằng của chúng tôi là một việc lớn như vậy, có quá nhiều thứ để tôn thờ. Đi, David Malan. Walkthroughs, tôi không giải cứu. Giờ làm việc, không ai không. Nơi bạn nghĩ rằng bạn đang mã hóa, baby? Này, tôi chỉ gặp em và điều này là điên rồ, nhưng đây là lý do của chúng tôi. Hãy CS50. Thật khó mã ngay mà không có bạn, em bé. Nhưng đây là lý do của chúng tôi. Hãy CS50. Này, tôi chỉ gặp em và điều này là điên rồ, nhưng đây là lý do của chúng tôi. Hãy CS50. Và mỗi công ty sao muốn thuê tôi, một lý do khác. Hãy CS50. Trước khi bạn đi vào cuộc sống của tôi, tôi mã hóa xấu như vậy, tôi mã hóa để xấu, tôi mã hóa như vậy, xấu như vậy. Trước khi bạn đi vào cuộc sống của tôi, tôi mã hóa xấu như vậy và tôi không thể quay lại. Hãy CS50. DAVID J. Malan: Tôi không có ý kiến ​​cho rằng sẽ xảy ra. Vì vậy, một cái nhìn nghiêm trọng hơn vào những gì ở phía trước. Vì vậy, trong điều khoản của sự mong đợi của khóa học này, bạn đang thực sự dự kiến ​​sẽ tham dự hoặc xem của khóa học bài giảng, nộp một bộ vấn đề, có hai câu đố, trình một dự án cuối cùng. Về vấn đề điểm, nhận ra rằng bình luận của tôi tại mở về vượt qua / thất bại, điều mà chúng tôi rất nhiều để tim ở CS50. Không phải là có gần như đủ của một nền văn hóa tại Đại học Harvard cố gắng một cái gì đó và rủi ro thất bại. Thật vậy, chúng tôi đã có số lượng sinh viên, và bản thân mình, Đặc biệt, những người lo lắng về việc làm tổn thương điểm trung bình của bạn hoặc nhận được một B trong một cái gì đó giống như CS50. Và cơ hội để tham gia một khóa như thế này, và các khóa cửa ngõ ở mức độ giới thiệu, thông qua / không là một cơ hội rất ít sử dụng tại trường đại học này, nói chung. Và vì vậy hãy biết thậm chí tôi ghi danh vào khóa học này ban đầu cho pass / fail tín dụng một mình. Và mặc dù tôi đã chuyển đổi vào cuối ngày, những năm ban đầu tuần, đến ngày thứ Hai thứ năm của học kỳ đó là cắt, cho phép tôi để thực sự đặt chân vào vùng biển này mới và thực sự cố gắng một cái gì đó rất quen thuộc và rất khó chịu cho tôi vào lúc đó. Vì vậy, trong điều khoản, bây giờ, những gì vai trò góc độ khác nhau thông qua đó bạn có thể tiếp cận khóa học này phục vụ, vì vậy bài giảng, đó là lên đến bạn nếu bạn tham gia với chúng tôi trong người tại địa điểm này. Thật vậy, chúng ta biết thống kê rằng khoảng 40% các bạn loại đến và đi trong quá trình của học kỳ. Và 10% các bạn, chúng tôi sẽ không bao giờ nhìn thấy một lần nữa sau ngày hôm nay. Và đó là hoàn toàn tốt đẹp, phải trung thực. Một trong những đặc điểm hạn của CS50 là rằng có vô số các nguồn tài nguyên, một số mà chúng ta sẽ kêu lách qua trong thời điểm này chỉ là một, bao gồm cả bài giảng và phần và điều được gọi là walkthroughs và giờ và như thế. Và đó là nguồn lực nhiều hơn học sinh điển hình nên có hoặc thể chất có thể lợi dụng. Nhưng đó là vì học tập phong cách khác nhau mà bất kỳ sinh viên nào biểu hiện. Và do đó, trong các bài giảng, vai trò chính, như tôi nhìn thấy nó, không bằng lời nói đẩy ra vật liệu khá phức tạp và nhất thiết phải cung cấp tất cả những phức tạp của nguyên tắc cơ bản mà chúng ta sẽ khám phá học kỳ này, nhưng là để làm những việc như chúng tôi đã làm vậy, đến nay đã, các ví dụ này, liên quan đến con người trên sân khấu, cố gắng vẽ một bức tranh tâm thần, và cũng tạo ra, tôi dám nói, một số những khoảnh khắc đáng nhớ. Vì vậy, ngay cả khi bạn phải đấu tranh với các chủ đề nhất định, bạn có những ký ức thích, oh, mặc dù đó là khá trừu tượng, toán học, tôi đã bị mất mang 1, giống như nó thực sự, vào cuối ngày, không phải là tất cả những gì khác mấy so với cái gì tôi đã biết. Và vì vậy vai trò của các bài giảng sẽ phục vụ, hoặc trong người ở đây trong Sanders hoặc trực tuyến trên video, thực sự là để thiết lập giai đoạn tinh thần cho bạn mỗi tuần cho các khái niệm khác nhau và các vấn đề mà chúng tôi sẽ lặn vào trong. Trong điều kiện của các khái niệm cao cấp, hầu hết những lời có thể chảy trên đầu của bạn lúc này, và đó là tốt. Đối với những người bạn của những người đi vào khóa học thoải mái hơn sẽ biết một số các chủ đề này. Nhưng thông thường cho rằng 10% của lớp mà họ có nhiều hơn nữa nền, AP khoa học máy tính, lập trình từ khi họ 12 tuổi, nhận ra rằng sẽ có cơ hội trong các phần và trong vấn đề thiết lập để đi tất cả các vào chiều sâu vào các chủ đề khác nhau, làm bất cứ điều gì khoảng cách bạn có thể có từ trường trung học hoặc trước khi nền. Trong điều kiện của các ngôn ngữ, nhận ra rằng những gì ngôn ngữ chúng tôi sử dụng trong CS50 phần lớn là không thích hợp tại cuối ngày. Chúng tôi xảy ra để sử dụng, chủ yếu là, một ngôn ngữ được gọi là C. Vào cuối học kỳ, chúng tôi giới thiệu web-trung tâm các ngôn ngữ như PHP và JavaScript. Nhưng chúng ta và những người khác có thể dạy cho một khóa học như thế này trong hầu hết bất kỳ ngôn ngữ hiện đại, cao cấp. Python và Ruby và những người khác là khá phổ biến những ngày này. Bởi vì nhận ra ở cuối ngày, bạn không học tập trong C. khóa học Bạn sẽ không học PHP hoặc JavaScript. Bạn đang học tập làm thế nào để giải quyết vấn đề, cho dù dựa trên web, dựa trên máy tính, hoặc dữ liệu theo định hướng riêng của mình, bằng cách sử dụng này đơn giản chỉ là công cụ. Bây giờ, về hậu cần, bạn sẽ sử dụng một cái gì đó, cuối cùng, được gọi là gia dụng CS50. Không quan trọng nếu bạn có một máy Mac, một máy tính, một máy tính Linux, hoặc tương tự. Bạn sẽ có phần mềm tự do có sẵn bắt đầu vào tuần tới để sử dụng gia dụng CS50, một ảo môi trường mà bạn sẽ sử dụng trên máy tính của riêng của bạn để bạn có và tất cả các bạn cùng lớp của bạn có một máy tính để bàn Linux thống nhất trong trường hợp này. Đó là bộ vấn đề, mặc dù, trong đó bạn thực sự sẽ nhận được bàn tay dơ bẩn của bạn trong khóa học. Và vào cuối ngày, đó là vấn đề các bộ, tôi nghĩ rằng, đó thực sự xác định của một học sinh kinh nghiệm trong khóa học này. Nhận ra rằng nhiều bộ vấn đề sẽ được phát hành hai phiên bản, một bổ sung tiêu chuẩn mà chúng tôi mong đợi và khuyến khích 90% của lớp để nhảy vào. Nhưng chúng ta cũng phát hành một số bộ vấn đề trong cái gọi là bổ sung của hacker. Và bạn biết đó là việc bổ sung các hacker vì trên mỗi trang với một watermark nó nói của hacker thêm vào nó. Và đó là nhân khẩu học này bạn của những người có AP khoa học máy tính với 10 năm của chương trình theo vành đai của bạn và đang tìm kiếm để lấp đầy những khoảng trống và có nhiều hình thức, chứ không phải là tự học, đào tạo, có lẽ. Nhận ra rằng có một nhóm nhân khẩu học rất đáng kể trong lớp học mà chính xác có cùng một mục tiêu đó. Bạn sẽ có năm ngày cuối. Bộ vấn đề nói chung là do vào các ngày thứ Năm, nhưng bạn có thể mở rộng năm của những thời hạn sử dụng các điều được gọi là vào cuối ngày. Và chúng tôi cũng sẽ thả điểm số của bạn thấp nhất vào cuối của học kỳ mỗi cụ thể trong giáo trình. Tuy nhiên, một đặc tính của CS50 hơn những năm qua đã trở thành giờ hành chính. Đây là cơ hội mà bạn nhìn thấy trực quan trong hình ảnh một chút trước mà chúng tôi thu thập trước đây trong nhà ăn hội trường, trước đó trong tầng hầm của Khoa học Trung tâm, và năm nay trong Annenberg Hall - bốn đêm một tuần từ 8:00 PM đến 11:00 PM nơi bạn sẽ phải điều này rất nhiều chia sẻ kinh nghiệm làm việc trên, đấu tranh thông qua, một số vấn đề, nhưng với một sự hỗ trợ đáng kể cấu trúc tại chỗ. Thật vậy, cách này sẽ làm việc là bạn sẽ đến Annenberg nếu bạn có một số câu hỏi trong tuần, bạn sẽ mang lại máy tính xách tay của bạn, bạn sẽ ngồi xuống, lấy một số thực phẩm, và bạn sẽ đăng nhập vào CS50 bàn, một tiện ích dựa trên web mà việc giảng dạy nhân viên đã phát triển mà sẽ cho phép bạn để gửi câu hỏi và xem theo-up trong một diễn đàn thảo luận điển hình ý nghĩa, bằng cách sử dụng các nhãn và các loại tương tự và tự động hoàn toàn tìm kiếm dữ liệu. Nhưng bạn cũng sẽ có thể, trong suốt thời gian của văn phòng giờ, có câu hỏi của bạn leo thang thực tế con người. Thật vậy, mục tiêu cuối cùng là để người ta, chúng ta bắt đầu xây dựng trong quá trình của học kỳ một ngữ liệu của hy vọng thông tin thực sự hữu ích, câu trả lời chung để phổ biến câu hỏi, để bạn mình có thể giải quyết vấn đề và nhận được lột càng nhanh càng tốt, nhưng trong khi có đội ngũ giảng viên, thường là từ 20 tới 30 của các nghiên cứu sinh giảng dạy và Tất nhiên trợ lý, nhân viên cùng một lúc. Chúng tôi sẽ có những gì được gọi là Greeter CS50 trong Annenberg. Và khi chúng tôi xác định rằng, bạn biết không, câu hỏi này, chúng ta có thể không thực sự trả lời hiệu quả trực tuyến. Chúng ta cần thấy máy tính của bạn. Chúng tôi muốn nói chuyện với bạn một ngày-một. Trên một. Bạn đang thực sự gặp khó khăn và bạn, do đó, muốn nói chuyện một-đối-một cùng với một người nào đó, bạn sẽ được phái đến CS50 Greeter, một giảng viên nắm giữ, nghĩa là, một iPad có tên học sinh ở một bên, đội ngũ giảng viên của tên khác. Chúng tôi sẽ nhấp vào tên của bạn tiếp theo là tên của một đội ngũ giáo viên, và màn hình máy tính của bạn sẽ bắt đầu xin vui lòng nhấp nháy nói đi xem Alice hoặc xin vui lòng đi xem Bob tại bảng nhân viên. Và như vậy theo cách này, chúng ta sẽ có thể để gửi những điều như hiệu quả càng tốt, cũng như hướng dẫn bạn hướng tới giải pháp dễ dàng hơn. Trong các phần, đây sẽ là cơ hội cho nhiều thân mật về các cơ hội với một trong những giảng dạy nghiên cứu sinh và 12 đến 16 hoặc của các bạn cùng lớp của bạn mỗi tuần chúng tôi sẽ có vấn đề trong các thiết lập vấn đề yêu cầu một số câu hỏi về khái niệm và một số câu hỏi lập trình có kích thước bit có thể ra con số trên của riêng bạn, và bạn có thể làm việc trên của bạn riêng, nhưng trong bối cảnh của phần nơi chúng tôi làm việc thông qua chung một số trong những vấn đề và đi nơi khác nhau trò chuyện đưa chúng ta. Ngoài ra, trong phần bạn sẽ có cơ hội để xem xét đệ trình của bài tập về nhà mà bạn đã thực hiện, các bạn cùng lớp, đôi khi ẩn danh, luôn luôn thông qua opt-in nếu bạn muốn chia sẻ công việc mà bạn đã gửi. Vì vậy, nó thực sự sẽ là một cuộc đối thoại hai chiều, một cơ hội để xem lại công việc của riêng bạn trong một nhiều năng động có ý nghĩa, chứ không phải là chỉ đơn giản là nhìn vào một PDF hoặc một bản in và suy nghĩ về nó cho một vài giây và không nhất thiết phải hấp thụ các thông tin phản hồi rằng giáo lý nhân viên đã cung cấp. Và bạn sẽ sử dụng một công cụ gọi là CS50 Spaces. Đối với những người không quen, đây là ngôn ngữ được gọi là C ở đầu trang trái, và bạn sẽ nhận biết điều này qua thời gian. Nhưng điều này là một tiện ích dựa trên web mà chúng ta sẽ sử dụng trong phần đó sẽ cho phép bạn và 15 hay như vậy các bạn cùng lớp đăng nhập với giáo viên giảng dạy tại phía trước của căn phòng. Bạn sẽ có thể viết mã trong cửa sổ này. Bạn sẽ có thể trò chuyện bằng điện tử, nếu bạn không thực sự ở phần tại thời điểm đó cụ thể. Và giáo viên giảng dạy của bạn, khi nói đến thời gian để thảo luận về Alice hoặc Bob giải pháp trong lớp học, giáo viên giảng dạy có thể bấm vào một nút và thì đấy, dự án, lên màn hình, bất cứ điều gì mà học sinh đã được làm việc trên mà đặc biệt thời điểm. Vì vậy, cho những người bạn đã bạn bè những người đã CS50 trong quá khứ, nhận ra rằng các phần đã được đáng kể khởi động lại trong năm nay được tất cả các hoạt động, tất cả các chi tiết năng động, và thực sự là một cuộc đối thoại hai chiều giữa giảng dạy nhân viên và sinh viên. Và walkthroughs Vì vậy, đối với các bài tập này, chúng tôi cũng cung cấp không chỉ đặc điểm kỹ thuật riêng của mình, mà nói chung là khá chi tiết PDF, nhưng cũng có những thứ được gọi là walkthroughs, theo đó một thành viên của đội ngũ giáo viên sẽ dẫn đầu một phiên hàng tuần mà nghĩa đen bạn đi thông qua các thiết lập vấn đề, bạn gợi ý và lời khuyên và điểm bắt đầu và có ý nghĩa yêu cầu hỏi rất thường xuyên câu hỏi, nơi nào tôi bắt đầu? Vâng, bạn bắt đầu bằng cách lặn vào spec của nó sở hữu hoặc bằng cách tham dự hay xem những walkthroughs. Quá trình thực hiện đầu tiên, trên thực tế, sẽ là thứ sáu này. Họ sẽ vào thứ Sáu, không quá nhiều bởi vì chúng tôi nghĩ rằng nó sẽ được một thời gian phổ biến nhưng vì sau đó chúng tôi có thể quay phim từ rất sớm trong tuần để có được chúng trực tuyến vào cuối tuần để bạn có như ngày nhiều nhất có thể để thực sự tham gia vào các nội dung là tốt. Nhưng thêm vào đó trong bài giảng thứ sáu này. Bây giờ về cơ cấu hỗ trợ, nhất Thống kê quan trọng có lẽ là giảng dạy 108 nghiên cứu sinh và hỗ trợ quá trình này Tất nhiên hiện có. Nếu một số bạn của những người không có các lớp học xung đột muốn tham gia cùng tôi trên sân khấu, đó là những kẻ, những người sẽ cuối cùng thực sự xác định kinh nghiệm của bạn trong khóa học. Tôi đã có rất nhiều nghiên cứu sinh giảng dạy dạy các lớp học trong ngày, và tôi nhớ rất ít của những người thẳng thắn. Nhưng cho đến nay, tôi vẫn còn nhớ trong số những người ít, CS50 của tôi TF người thực sự đã giúp tôi trả lời câu hỏi, những người thực sự đã giúp tôi khi tôi gặp khó khăn, và thực sự là một đối tác trong này kinh nghiệm học tập một thế giới rất mới. Trong một chút, tất cả những kẻ sẽ tham gia bên ngoài cho bánh, là một truyền thống CS50, trong transept Memorial Hall. Nhưng cho phép tôi đầu tiên giới thiệu với bạn Nate Hardison, một lần nữa, Rob Bowden, và Tommy MacWilliam, năm khóa học đứng đầu. Nếu bạn tham gia cùng tôi ở đây ở giữa. Họ đã chuẩn bị một số nhận xét đầy cảm hứng. TOMMY MACWILLIAM: Tôi đã không chuẩn bị bất cứ điều gì đầy cảm hứng. Tuy nhiên, tôi tên là Tommy. Tôi là một cấp cao trong Mather. Tôi đang nghiên cứu khoa học máy tính. Tôi thực sự vui mừng để được vào nhóm hàng rào và đi thông qua các cuộc hành trình CS50 với bạn. Những gì tôi thực sự yêu thích về CS50 là làm thế nào nó thực sự dạy bạn để suy nghĩ về vấn đề theo một cách mới. Đây thực sự là một kỹ năng mà sẽ là vô giá không có vấn đề những lĩnh vực bạn đi vào. Và không chỉ có vậy, nhưng chúng tôi cung cấp kẹo miễn phí nhiều hơn so với bất kỳ Tất nhiên khác trong khuôn viên trường. Yeah, và vì vậy tôi thực sự mong muốn được nhìn thấy những gì tất cả mọi người xây dựng trong học kỳ này. Và nếu có ai có bất kỳ câu hỏi ngay bây giờ hoặc trong suốt học kỳ, chắc chắn cảm thấy tự do để tiếp cận với tôi và Tôi muốn được hạnh phúc để giúp đỡ. ROB Bowden: Hi. Tôi là Rob Bowden. Tôi là một cấp cao trong Kirkland. Yeah, đó là đúng. Chúng tôi thực sự vui mừng cho học kỳ tiếp theo. Chúng tôi hy vọng bạn tất cả các kích thích. Tôi đã không hy vọng điều đó. Yeah. Vì vậy, chúng tôi đặt rất nhiều nỗ lực vào làm cho điều này học kỳ thực sự tuyệt vời. Và miễn là bạn đang sẵn sàng để đưa vào các nỗ lực, có rất nhiều bạn có thể nhận ra của khóa học này. Ah, chúng tôi - yeah. Bạn có thể nhận được rất nhiều niềm vui trong khóa học này. Chúng ta sẽ không có một đội ngũ nhân viên của 108 nếu bạn không thể nhận được rất nhiều niềm vui ra khỏi nó. Vì vậy, chỉ cần cố gắng để được tham gia và bạn sẽ không hối tiếc. NATE hardison: Hi, guys. Tôi Nate. Tôi là thầy dạy cho khóa học. Tôi thực sự rất vui mừng được ở đây là tốt. Đây là năm đầu tiên của tôi ở đây. Tôi hy vọng tất cả các bạn tham gia khóa học và tận hưởng nó càng nhiều càng Tôi đã rất thích nó cho đến nay. Và nếu bạn đã bao giờ muốn tìm hiểu làm thế nào để đếm đến 9 hoặc 10 trong nhị phân, đến nói chuyện với tôi. DAVID J. Malan: Vì vậy, nguy cơ để lại những kẻ ở đây giai đoạn một chút lúng túng, hãy quay cuồng qua chỉ là một vài những điều đang chờ đợi trước khi chúng tôi hoãn cho bánh. Đó là những gì ở phía trước? Vâng, nếu chúng ta có một cái nhìn nhanh chóng trở lại vào năm ngoái, trong vấn đề đặt 0, người tiền nhiệm của bạn lao vào một chương trình ngôn ngữ gọi là Scratch, một ngôn ngữ lập trình đồ họa bạn sẽ sử dụng trong những ngày đầu của khóa học bắt đầu từ Thứ Sáu để tìm hiểu một số khái niệm xa lạ với một số bạn. Nhưng nhận ra sẽ có một khía cạnh tiên tiến này cho những người bạn với nền tảng trước. Trong năm ngoái vấn đề thiết lập 2, sinh viên lao vào thế giới của mật mã học, nghệ thuật của enciphering hoặc xáo trộn thông tin, thực hiện các chương trình mã hóa dữ liệu. Và trong việc bổ sung hacker năm nay sinh viên tham gia thảo luận để crack hoặc giải mã các mật khẩu trong một điển hình xe mật khẩu tập tin của máy tính bằng cách đến với các thuật toán và chẩn đoán cho sức mạnh vũ phu để tìm ra những gì một ai đó mật khẩu trên một hệ thống máy tính. Năm ngoái, cũng trong vấn đề thiết lập 3, đã làm sinh viên impli - vấn đề thiết lập 4 sinh viên đã làm thực hiện các trò chơi của Sudoku. Và trong việc bổ sung hacker năm đó đã làm học sinh không chỉ cần thực hiện làm thế nào để chơi trò chơi, nhưng thực sự một người giải quyết mà trong đó các máy tính có thể cung cấp cho bạn, con người, gợi ý nhanh hơn so với bạn đã giải quyết rằng vấn đề cụ thể. Trong 5 bộ vấn đề, chúng tôi đã làm pháp y, nghệ thuật này khôi phục thông tin đó là vô tình hoặc rất cố tình xóa từ máy tính. Năm ngoái, đội ngũ giáo viên và tôi đi lướt xung quanh khuôn viên trường chụp ảnh người, địa điểm, và những thứ, và sau đó vô tình định dạng thẻ nhớ trên máy ảnh của chúng tôi là đã có tất cả những hình ảnh. Nhưng không có vấn đề. Chúng tôi đã thực hiện một hình ảnh pháp y của thẻ này phương tiện truyền thông, đưa ra tất cả học sinh trong lớp, và thách thức họ viết chương trình thu hồi tất cả các hình ảnh JPEG từ thẻ đó. Và điều này thực sự là một trong những bài tập yêu thích của chúng tôi. Và tôi đào lên trong một email từ một trong những người tiền nhiệm của bạn, đó là rất thú vị để đọc đôi khi cách đây. Ông đã viết - đây là từ Matt thân mến David, ngày hôm qua của tôi em gái vô tình định dạng thẻ SD máy ảnh của mình và mất một năm giá trị của hình ảnh đáng nhớ. Cô không may là không phải là tốt nhất sao lưu dữ liệu của cô. Nhưng tình hình này nhắc nhở tôi của pset 5, vì vậy tôi nghĩ rằng tôi sẽ cố gắng để chạy thẻ SD của mình thông qua chương trình Recover mà tôi đã viết tất cả các cách trở lại vào tháng Mười. Vì vậy, sau bốn giờ tìm ra làm thế nào để tạo ra một liệu hình ảnh từ các định dạng thẻ SD - Google đã chứng minh được khá vô ích trong vấn đề này cho đến khi trớ trêu thay, tôi tình cờ đi qua hướng dẫn của bạn Internet - sau khi tinkering xung quanh với một số các đối số lệnh, Tôi quản lý để tạo ra các hình ảnh pháp y. Và sau khi cài đặt và cấu hình CS50 Thiết bị, tôi quản lý để chạy các hình ảnh pháp y thông qua của tôi chương trình và phục hồi tất cả 1.027 bức ảnh của em gái tôi. Phải, Matt. Vì vậy, trong year's cuối cùng - [Vỗ tay] Trong bộ vấn đề của năm ngoái 6, chúng tôi đã cho các học sinh một từ điển 150.000 từ tiếng Anh và thách thức họ viết một kiểm tra chính tả, trả lời truy vấn của biểu mẫu Từ này được đúng chính tả hoặc không chính xác càng nhanh càng tốt. Và trong một cơ sở lựa chọn trong học sinh được phép để sau đó thách thức các bạn cùng lớp bằng cách đăng kết quả của họ, số lượng RAM mà họ đã sử dụng, số lượng các chu kỳ CPU hoặc giây mà họ sử dụng, để sinh viên sau đó được xếp hạng trên trang web của khóa học. Một lần nữa, hoàn toàn tùy chọn khía cạnh của nó, nhưng niềm vui trong đó rất thường xuyên một học sinh sẽ nhận được vị trí số 10 hay như vậy bảng lớn trên trang web, đi ăn tối, và sau đó quay lại và nhận ra bạn cùng phòng đã chỉ nhích trong phía trước của anh ta hoặc cô trên bảng lớn, do đó đổ khác hai hoặc ba giờ chỉ để một trong những động của người bạn cùng phòng của mình. Vì vậy, chúng tôi mong muốn một cái gì đó tương tự năm nay là tốt. Trong vấn đề thiết lập 7 chúng tôi đã chỉ đạo trong sự chỉ đạo của web lập trình, thực sự giải quyết các vấn đề bao giờ môi trường ngày càng phổ biến của một trình duyệt web. Biết giảm dần chúng ta tải về phần mềm trên máy tính Mac và Máy tính cá nhân, nhưng càng ngày chúng ta làm tất cả trong trang web. Và thực tế, năm ngoái, khoảng 88% các dự án cuối cùng của học sinh các khóa học dựa trên web. Và những người, quá, là những kỹ năng mà bạn sẽ lấy được từ này lớp học bằng cách kết thúc quá trình. Bởi vì những gì đang chờ đợi ở cuối của quá trình là Hội chợ CS50, triển lãm này dựa trên ý tưởng của một hội chợ khoa học. Tuy nhiên, trong phiên bản này của một hội chợ làm tất cả học sinh trong lớp mang theo máy tính xách tay của họ và bạn bè của họ và gia đình và những người khác Tây Bắc Khoa học, một tòa nhà lớn trong khuôn viên trường, thiết lập máy tính xách tay của họ, có được một số thực phẩm, có được một số bỏng ngô và đồ uống, và sau đó triển lãm các dự án cuối cùng của họ cho tất cả những người tham dự năm ngoái số khoảng 2.500 người tham dự từ trên khuôn viên. Và hình thức thể hiện như thế này và như thế này không phổ biến tại hội chợ. Dẫn đến hội chợ là Hackathon CS50, một cơ hội nhảy lò cò bằng một cái đầu Harvard, tàu con thoi xuống đường để Microsoft tại 8:00 PM, và không về nhà cho đến 7:00 sáng. Chúng tôi phục vụ bữa ăn tối đầu tiên tại 8:00 PM, thứ hai ăn tối lúc 1:00 sáng, và đối với những người vẫn còn đứng ở 5:00 AM, chúng tôi xử lý bánh tại IHOP. Và Hackathon là một cơ hội, như hình ở đây, để nhảy vào các dự án cuối cùng của bạn, cho dù làm việc trên hoặc của riêng bạn với bạn bè trong một môi trường hợp tác, nơi mà toàn bộ đội ngũ giáo viên đang làm việc tốt vào đêm với một nguồn cung cấp phong phú của thực phẩm Trung Quốc Hồng Kông. Tại 5:00 AM hình ảnh như thế này sẽ là khá phổ biến năm là tốt. Vì vậy, như chúng ta sẽ tạm hoãn trong một thời điểm cho bánh, hãy nhớ rằng 76% những người trong căn phòng này không có kinh nghiệm trước. Và theo giáo trình, những gì cuối cùng vấn đề này tất nhiên là không quá nhiều mà bạn kết thúc liên quan đến của bạn bạn cùng lớp, nhưng nơi bạn cuối cùng 11 tuần lên so với mình trong tuần 0. Đây là CS50.