Chương trình giảng dạy của OSSU là một nền giáo dục hoàn chỉnh về khoa học máy tính sử dụng các tài liệu trực tuyến. Nó không chỉ đơn thuần là để đào tạo nghề nghiệp hoặc phát triển chuyên nghiệp. Nó dành cho những người muốn có một nền tảng đúng đắn, toàn diện về các khái niệm cơ bản cho tất cả các ngành điện toán và dành cho những người có kỷ luật, ý chí và [quan trọng nhất là. ] những thói quen tốt để đạt được nền giáo dục này phần lớn là do chính họ, nhưng với sự hỗ trợ từ cộng đồng những người cùng học trên toàn thế giới
Nó được thiết kế theo yêu cầu về bằng cấp của các chuyên ngành khoa học máy tính bậc đại học, trừ đi các yêu cầu về giáo dục phổ thông [không phải CS], vì người ta cho rằng hầu hết những người theo học chương trình này đều đã được đào tạo bên ngoài lĩnh vực CS. Bản thân các khóa học là một trong những khóa học tốt nhất trên thế giới, thường đến từ Harvard, Princeton, MIT, v.v. , nhưng được chọn cụ thể để đáp ứng các tiêu chí sau
Các khóa học phải
- Hãy mở để ghi danh
- Chạy thường xuyên [lý tưởng là ở định dạng tự nhịp độ, nếu không thì chạy nhiều lần mỗi năm]
- Có chất lượng cao về tài liệu giảng dạy và các nguyên tắc sư phạm
- Phù hợp với các tiêu chuẩn ngoại khóa của CS 2013. Hướng dẫn chương trình giảng dạy cho các chương trình cấp bằng đại học về Khoa học máy tính
Khi không có khóa học nào đáp ứng các tiêu chí trên, khóa học sẽ được bổ sung bằng một cuốn sách. Khi có các khóa học hoặc sách không phù hợp với chương trình giảng dạy nhưng có chất lượng cao, chúng sẽ thuộc về phần bổ sung/khóa học hoặc phần bổ sung/bài đọc
Cơ quan. Giáo trình được thiết kế như sau
- CS giới thiệu. cho sinh viên dùng thử CS và xem nó có phù hợp với họ không
- lõi CS. tương ứng với ba năm đầu tiên của chương trình khoa học máy tính, học các lớp mà tất cả các chuyên ngành đều phải học
- CS nâng cao. tương ứng với năm cuối của chương trình khoa học máy tính, học các môn tự chọn theo sở thích của học sinh
- Dự án cuối cùng. một dự án dành cho sinh viên để xác nhận, củng cố và thể hiện kiến thức của họ, để được đánh giá bởi các đồng nghiệp của họ trên toàn thế giới
Khoảng thời gian. Có thể hoàn thành trong vòng khoảng 2 năm nếu bạn lên kế hoạch cẩn thận và dành khoảng 20 giờ/tuần cho việc học của mình. Người học có thể sử dụng bảng tính này để ước tính ngày kết thúc của họ. Tạo một bản sao và nhập ngày bắt đầu và số giờ dự kiến mỗi tuần của bạn vào tờ Timeline
. Khi bạn hoàn thành các khóa học, bạn có thể nhập ngày hoàn thành khóa học thực tế của mình trong trang tính Curriculum Data
và nhận các ước tính hoàn thành cập nhật
Phí tổn. Tất cả hoặc gần như tất cả tài liệu khóa học đều có sẵn miễn phí. Tuy nhiên, một số khóa học có thể tính tiền cho bài tập/bài kiểm tra/dự án được chấm điểm. Lưu ý rằng cả Coursera và edX đều cung cấp hỗ trợ tài chính
Quyết định số tiền hoặc số tiền chi tiêu ít dựa trên thời gian và ngân sách của riêng bạn;
Quá trình. Học sinh có thể làm việc thông qua chương trình giảng dạy một mình hoặc theo nhóm, theo thứ tự hoặc không theo thứ tự
- Chúng tôi khuyên bạn nên thực hiện tất cả các khóa học trong Core CS, chỉ bỏ qua một khóa học khi bạn chắc chắn rằng mình đã học tài liệu trước đó
- Để đơn giản, chúng tôi khuyên bạn nên học qua các khóa học [đặc biệt là Core CS] theo thứ tự từ trên xuống dưới, vì chúng đã được sắp xếp theo cấu trúc liên kết theo điều kiện tiên quyết của chúng
- Các khóa học về CS nâng cao là môn tự chọn. Chọn một chủ đề [e. g. Lập trình nâng cao] bạn muốn trở thành chuyên gia và tham gia tất cả các khóa học thuộc chủ đề đó. Bạn cũng có thể tạo chủ đề tùy chỉnh của riêng mình, nhưng chúng tôi khuyên bạn nên xác thực từ cộng đồng về chủ đề bạn chọn
Chính sách nội dung. Nếu bạn định khoe công khai một số bài tập của mình, bạn chỉ được chia sẻ những tệp mà bạn được phép. KHÔNG coi thường quy tắc ứng xử mà bạn đã ký vào đầu mỗi khóa học
Làm thế nào để đóng góp
Nhận trợ giúp [Chi tiết về Câu hỏi thường gặp và phòng trò chuyện của chúng tôi]
Cộng đồng- Chúng tôi có một máy chủ bất hòa. Đây sẽ là điểm dừng chân đầu tiên của bạn để nói chuyện với các sinh viên OSSU khác. Tại sao bạn không giới thiệu bản thân ngay bây giờ?
- Bạn cũng có thể tương tác thông qua các vấn đề của GitHub. Nếu có vấn đề với một khóa học, hoặc cần thay đổi chương trình giảng dạy, đây là nơi để bắt đầu cuộc trò chuyện. Đọc thêm tại đây
- Theo dõi bản tin của chúng tôi
- Thêm Open Source Society University vào hồ sơ Linkedin của bạn
- Ghi chú. Có một ứng dụng firebase không được duy trì và không dùng nữa mà bạn có thể tìm thấy khi tìm kiếm OSSU. Bạn có thể bỏ qua nó một cách an toàn. Đọc thêm trong Câu hỏi thường gặp
phiên bản giáo trình. 8.0.0
[xem THAY ĐỔI]
- điều kiện tiên quyết
- CS giới thiệu
- Giới thiệu về lập trình
- Giới thiệu về Khoa học Máy tính
- lõi CS
- lập trình cốt lõi
- toán cốt lõi
- Công cụ CS
- hệ thống cốt lõi
- lý thuyết cốt lõi
- Bảo mật cốt lõi
- ứng dụng cốt lõi
- đạo đức cốt lõi
- CS nâng cao
- Lập trình nâng cao
- hệ thống tiên tiến
- Lý thuyết nâng cao
- Bảo mật thông tin nâng cao
- Toán cao cấp
- Dự án cuối cùng
điều kiện tiên quyết
- Core CS giả định rằng học sinh đã học toán trung học, bao gồm đại số, hình học và tiền giải tích
- CS nâng cao giả định rằng học sinh đã học toàn bộ Core CS và hiện tại đủ kiến thức để quyết định chọn môn tự chọn nào
- Lưu ý rằng các hệ thống Nâng cao giả định rằng học sinh đã học một khóa học vật lý cơ bản [e. g. AP Vật lý ở trường trung học]
CS giới thiệu
Giới thiệu về lập trình
Nếu bạn chưa bao giờ viết vòng lặp for hoặc không biết chuỗi là gì trong lập trình, hãy bắt đầu tại đây. Khóa học này có nhịp độ riêng, cho phép bạn điều chỉnh số giờ bạn dành mỗi tuần để đáp ứng nhu cầu của mình
Các chủ đề được đề cập. simple programs
simple data structures
Giới thiệu về Khoa học Máy tính
Khóa học này sẽ giới thiệu bạn với thế giới của khoa học máy tính. Những sinh viên đã được làm quen với lập trình, từ các khóa học trên hoặc thông qua học tập ở nơi khác, nên tham gia khóa học này để có thêm hương vị của tài liệu sắp tới. Nếu bạn hoàn thành khóa học mà muốn học nhiều hơn, Khoa học Máy tính có thể dành cho bạn
Các chủ đề được đề cập. computation
imperative programming
basic data structures and algorithms
and more
lõi CS
Tất cả các môn học trong Core CS là bắt buộc, trừ khi có quy định khác
lập trình cốt lõi
Các chủ đề được đề cập. functional programming
Curriculum Data
0 Curriculum Data
1 Curriculum Data
2 Curriculum Data
3 Curriculum Data
4 Curriculum Data
5 Curriculum Data
6 Curriculum Data
7 Curriculum Data
8 Curriculum Data
9 and more
toán cốt lõi
Toán rời rạc [Math for CS] là môn học tiên quyết và liên quan mật thiết đến việc nghiên cứu thuật toán và cấu trúc dữ liệu. Giải tích vừa chuẩn bị cho học sinh về toán rời rạc vừa giúp học sinh phát triển toán học thành thục
Các chủ đề được đề cập. 8.0.0
1 8.0.0
2 8.0.0
3 8.0.0
4 8.0.0
5 and more
Công cụ CS
Hiểu lý thuyết là quan trọng, nhưng bạn cũng sẽ phải tạo ra các chương trình. Có một số công cụ được sử dụng rộng rãi để làm cho quá trình đó dễ dàng hơn. Tìm hiểu chúng ngay bây giờ để tạo điều kiện thuận lợi cho công việc viết chương trình sau này của bạn
Các chủ đề được đề cập. 8.0.0
7 8.0.0
8 8.0.0
9 simple programs
0 and more
hệ thống cốt lõi
Các chủ đề được đề cập. simple programs
2 simple programs
3 simple programs
4 simple programs
5 simple programs
6 simple programs
7 simple programs
8 simple programs
9 simple data structures
0 simple data structures
1 simple data structures
2 simple data structures
3 simple data structures
4 and more
lý thuyết cốt lõi
Các chủ đề được đề cập. simple data structures
6 simple data structures
7 simple data structures
8 simple data structures
9 computation
0 computation
1 computation
2 computation
3 computation
4 computation
5 and more
Bảo mật cốt lõi
Các chủ đề được đề cập ________ 57 ________ 58 _______ 59 ________ 60 imperative programming
1 imperative programming
2 and more
chọn một trong những điều dưới đây
Các khóa họcThời lượngNỗ lựcĐiều kiện tiên quyếtThảo luậnXác định các lỗ hổng bảo mật trong lập trình C/C++4 tuần5 giờ/tuần-trò chuyệnKhai thác và bảo mật các lỗ hổng bảo mật trong các ứng dụng Java4 tuần5 giờ/tuần-trò chuyệnứng dụng cốt lõi
Các chủ đề được đề cập. imperative programming
4 imperative programming
5 imperative programming
6 imperative programming
7 imperative programming
8 imperative programming
9 basic data structures and algorithms
0 basic data structures and algorithms
1 basic data structures and algorithms
2 basic data structures and algorithms
3 basic data structures and algorithms
4 basic data structures and algorithms
5 and more
đạo đức cốt lõi
Các chủ đề được đề cập. basic data structures and algorithms
7 basic data structures and algorithms
8 basic data structures and algorithms
9 and more
0 and more
1 and more
CS nâng cao
Sau khi hoàn thành mọi khóa học bắt buộc trong Core CS, sinh viên nên chọn một nhóm nhỏ các khóa học từ Advanced CS dựa trên sở thích. Không phải tất cả các khóa học từ một tiểu thể loại cần phải được thực hiện. Nhưng sinh viên nên tham gia mọi khóa học có liên quan đến lĩnh vực mà họ dự định đi vào
Lập trình nâng cao
Các chủ đề được đề cập. and more
3 and more
4 and more
5 and more
6 and more
7 and more
8 and more
[*] sách của Blackburn, Bos, Striegnitz [biên dịch từ nguồn, tái phân phối theo giấy phép CC]
hệ thống tiên tiến
Các chủ đề được đề cập. functional programming
0 functional programming
1 functional programming
2 functional programming
3 functional programming
4 functional programming
5 functional programming
6 functional programming
7 functional programming
8 functional programming
9 Curriculum Data
00 Curriculum Data
01 Curriculum Data
02 and more
Lý thuyết nâng cao
Các chủ đề được đề cập. Curriculum Data
04 Curriculum Data
05 Curriculum Data
06 Curriculum Data
07 Curriculum Data
08 Curriculum Data
09 Curriculum Data
10 Curriculum Data
11 Curriculum Data
12 Curriculum Data
13 Curriculum Data
14 Curriculum Data
15 Curriculum Data
16 and more
Bảo mật thông tin nâng cao
Các khóa họcThời lượng Nỗ lựcĐiều kiện tiên quyếtCơ bản về bảo mật web5 tuần4-6 giờ/tuầnhiểu các công nghệ web cơ bảnQuản trị và tuân thủ bảo mật3 tuần3 giờ/tuần-Khái niệm pháp y kỹ thuật số3 tuần2-3 giờ/tuầnBảo mật cốt lõiPhát triển phần mềm bảo mật. Yêu cầu, Thiết kế và Tái sử dụng7 tuần1-2 giờ/tuầnLập trình cốt lõi và Bảo mật cốt lõiPhát triển phần mềm bảo mật. Cấy ghép 7 tuần 1-2 giờ/tuần Phát triển phần mềm an toàn. Yêu cầu, Thiết kế và Tái sử dụng Phát triển phần mềm an toàn. Xác minh và các chủ đề chuyên biệt hơn 7 tuần 1-2 giờ/tuần Phát triển phần mềm an toàn. Thực hiệnToán cao cấp
Các khóa học Thời lượng Nỗ lực Điều kiện tiên quyết Thảo luậnBản chất của Đại số tuyến tính--toán trung học trò chuyệnĐại số tuyến tính14 tuần12 giờ/tuầnđiều kiện cốt lõi. Bản chất của Đại số tuyến tínhTrò chuyệnGiới thiệu về Phương pháp số14 tuần12 giờ/tuầnTrò chuyệnĐại số tuyến tínhGiới thiệu Logic hình thức10 tuần4-8 giờ/tuầnLý thuyết tập hợpTrò chuyệnXác suất24 tuần12 giờ/tuầnSự khác biệt và Tích hợptrò chuyệnDự án cuối cùng
Đại học OSS tập trung vào dự án. Các bài tập và bài kiểm tra cho mỗi khóa học là để chuẩn bị cho bạn sử dụng kiến thức của mình để giải quyết các vấn đề trong thế giới thực
Sau khi bạn đã xem qua tất cả Core CS và các phần của Advanced CS liên quan đến bạn, bạn nên nghĩ về một vấn đề mà bạn có thể giải quyết bằng cách sử dụng kiến thức bạn đã thu được. Công việc dự án thực tế không chỉ trông tuyệt vời trên sơ yếu lý lịch mà dự án cũng sẽ xác nhận và củng cố kiến thức của bạn. Bạn có thể tạo một cái gì đó hoàn toàn mới hoặc bạn có thể tìm một dự án hiện có cần trợ giúp thông qua các trang web như CodeTriage hoặc First Timers Only
Những sinh viên muốn được hướng dẫn nhiều hơn trong việc tạo dự án có thể chọn sử dụng một loạt các khóa học định hướng dự án. Đây là một ví dụ về các tùy chọn [có nhiều lựa chọn khác, tại thời điểm này, bạn sẽ có khả năng xác định một chuỗi thú vị và phù hợp với mình]
Các khóa học Thời lượng Nỗ lực Điều kiện tiên quyết Fullstack Open12 tuần15 giờ/tuầnlập trìnhNgười máy hiện đại [Chuyên ngành]26 tuần2-5 giờ/tuầnvật lý cấp độ sinh viên năm nhất, đại số tuyến tính, giải tích, phương trình vi phân thường tuyến tínhKhai thác dữ liệu [Chuyên ngành]30 tuần2-5 giờ/tuầnhọc máyDữ liệu lớn [Chuyên ngành]30 tuần3-5Sự đánh giá
Sau khi hoàn thành dự án cuối cùng của bạn
Gửi thông tin dự án của bạn tới DỰ ÁN thông qua yêu cầu kéo
Đặt huy hiệu OSSU-CS trong README của kho lưu trữ của bạn.
- đánh dấu.
Curriculum Data
18 - HTML.
Curriculum Data
19
- đánh dấu.
Sử dụng các kênh cộng đồng của chúng tôi để thông báo cho các sinh viên của bạn
Yêu cầu phản hồi từ các đồng nghiệp OSSU của bạn. Bạn sẽ không được "chấm điểm" theo nghĩa truyền thống — mọi người đều có thước đo riêng cho những gì họ cho là thành công. Mục đích của việc đánh giá là đóng vai trò như thông báo đầu tiên của bạn với thế giới rằng bạn là một nhà khoa học máy tính và để có kinh nghiệm lắng nghe phản hồi — cả tích cực và tiêu cực
Đánh giá dự án cuối cùng có mục đích thứ hai. để đánh giá liệu OSSU, thông qua cộng đồng và chương trình giảng dạy của mình, có thành công trong sứ mệnh hướng dẫn những người học độc lập đạt được nền giáo dục khoa học máy tính đẳng cấp thế giới hay không
hợp tác xã
Bạn có thể tạo dự án này một mình hoặc với các sinh viên khác. Chúng tôi yêu thích công việc hợp tác. Sử dụng các kênh của chúng tôi để liên lạc với các đồng nghiệp khác để kết hợp và tạo các dự án mới
Tôi nên sử dụng ngôn ngữ lập trình nào?
Bạn của tôi, đây là phần tốt nhất của tự do. Bạn có thể sử dụng bất kỳ ngôn ngữ nào bạn muốn để hoàn thành dự án cuối cùng
Điều quan trọng là tiếp thu các khái niệm cốt lõi và có thể sử dụng chúng với bất kỳ công cụ nào [ngôn ngữ lập trình] mà bạn muốn
Xin chúc mừng
Sau khi hoàn thành các yêu cầu của chương trình giảng dạy ở trên, bạn sẽ hoàn thành tương đương với bằng cử nhân đầy đủ về Khoa học Máy tính. Xin chúc mừng
Điều gì là tiếp theo cho bạn?
- Tìm việc làm lập trình viên
- Kiểm tra các bài đọc để biết những cuốn sách kinh điển mà bạn có thể đọc sẽ nâng cao kỹ năng và mở rộng kiến thức của bạn
- Tham gia buổi gặp mặt dành cho nhà phát triển địa phương [e. g. thông qua buổi gặp mặt. com]
- Chú ý đến các công nghệ mới nổi trong thế giới phát triển phần mềm
- Khám phá mô hình diễn viên thông qua Elixir, một ngôn ngữ lập trình chức năng mới dành cho web dựa trên Máy ảo Erlang đã được thử nghiệm trong trận chiến
- Khám phá sự vay mượn và thời gian tồn tại thông qua Rust, một ngôn ngữ hệ thống đạt được sự an toàn về bộ nhớ và luồng mà không cần trình thu gom rác
- Khám phá các hệ thống kiểu phụ thuộc thông qua Idris, một ngôn ngữ mới lấy cảm hứng từ Haskell với sự hỗ trợ chưa từng có cho sự phát triển dựa trên kiểu
Quy tắc ứng xử của OSSU
Làm thế nào để hiển thị sự tiến bộ của bạn
- Tạo một tài khoản trong Trello
- Sao chép bảng này vào tài khoản cá nhân của bạn. Xem cách sao chép bảng tại đây
Bây giờ bạn đã có một bản sao của bảng chính thức của chúng tôi, bạn chỉ cần chuyển các thẻ vào cột Curriculum Data
20 hoặc cột Curriculum Data
21 khi bạn tiến bộ trong học tập của mình
Chúng tôi cũng có các nhãn để giúp bạn kiểm soát nhiều hơn trong suốt quá trình. Ý nghĩa của mỗi nhãn này là
Curriculum Data
22. thẻ có nhãn đó đại diện cho các khóa học được liệt kê trong chương trình giảng dạy của chúng tôiCurriculum Data
23. thẻ có nhãn đó đại diện cho các khóa học đã được thêm bởi học sinhCurriculum Data
20. thẻ có nhãn đó đại diện cho các khóa học mà học sinh hiện đang làmCurriculum Data
21. thẻ có nhãn đó đại diện cho các khóa học mà học sinh đã hoàn thành. Những thẻ đó cũng phải có liên kết cho ít nhất một dự án/bài báo được xây dựng bằng kiến thức thu được trong một khóa học như vậyCurriculum Data
26. thẻ có nhãn đó đại diện cho phần mà chúng tôi có trong chương trình giảng dạy của chúng tôi. Những thẻ có nhãnCurriculum Data
26 chỉ để giúp tổ chức cột Hoàn thành. Bạn nên đặt các thẻ của Khóa học bên dưới thẻ của Phần tương ứng
Mục đích của bảng này là cung cấp cho sinh viên của chúng tôi một cách để theo dõi sự tiến bộ của họ và cũng là khả năng thể hiện sự tiến bộ của họ thông qua một trang công khai dành cho bạn bè, gia đình, nhà tuyển dụng, v.v. Bạn có thể thay đổi trạng thái bảng của mình thành công khai hoặc riêng tư