Self-taught education in computer science
The Open Source Society University Chinese Computer Science Program (OSSU CS CN) aims to provide a fully Chinese online undergraduate computer science curriculum for Chinese learners whose English skills are in need of improvement. It eliminates the language barriers encountered in self-taught computer courses. Please note that this course is not a direct translation of the English course, but rather an online education in Chinese adapted to regional circumstances. It is noteworthy that we still recommend those who are capable to systematically learn and master English skills after completing this course.
With a wide array of online learning resources, this course provides a comprehensive education in computer science. Supported by a community of fellow learners worldwide, it targets not only those seeking professional training or career advancement but also those starting from scratch to build a robust knowledge framework in computing, as well as those who are self-disciplined, willing, and habituated to acquire knowledge on their own.
Beyond non-major general university courses, this course is designed according to the academic curriculum requirements of undergraduate computer technology and science. It assumes that learners have already mastered secondary education and other non-major general university knowledge.
The Chinese courses in this project are from top universities and educational institutions at home and abroad, such as Tsinghua University, Peking University, MIT, Harvard University, etc. In addition, the courses in this project must meet the following conditions:
Course Prerequisites:
- Open enrollment
- Regular sessions (preferably self-scheduled, otherwise at least once per quarter)
- Meets the academic requirements of the project
- Suitable for the project's pace and the students' level of knowledge and appropriate difficulty
- High overall quality in teaching methods and materials.
- Courses are entirely in Chinese. Other materials (e.g., assignments, exams) are also provided in Chinese.
Course Organization Courses are organized as follows:
- Introductory: For students who are just beginning to understand whether to continue studying computer science.
- Core Courses: Roughly the first three years of university, including all required subjects.
- Advanced Courses: The final year of university, elective based on student interest.
- Capstone: A project to test, consolidate, and showcase knowledge levels. It will be evaluated by fellow learners worldwide.
- Further Courses: For students who reach graduate-level after completing the above courses.
Study Duration Completing all courses takes a considerable amount of time. Try to dedicate some time every day, and you will gain more experience and enjoyment.
Study Costs Most of the subjects in this course can be accessed for free, however, some courses will charge for your certificate or course projects. Note that purchasing a certificate does not guarantee course success.
Content Policy If you plan to publicly share your course results, please note that you can only share files you are allowed to share. Do not violate the rules of each subject.
How to Help Us Please send pull requests to help us. We suggest that you post in English in pull requests and issues to engage more people in the discussion.
Course Version: 0.5.3dev
(Changelog)
Given that some students in mainland China are not familiar with operating computers or understanding basic computer concepts upon entering university, Basic Computer Skills is provided as an elective.
Knowledge Points in This Unit:
Basic Computer Operations
Introduction to Algorithms
Basic Concepts of Programming
Python Introduction
Course | Overall Duration | Time Requirement |
---|---|---|
Introduction to Computer Science (Building Search Engines and Social Networks) | About 12 weeks | 6 hours per week |
The following courses are the core contents of computer technology and science, unless otherwise stated, all are required.
Course | Overall Duration | Time Requirement |
---|---|---|
Introduction to Programming - C Language | About 10 weeks | 4-6 hours per week |
Programming Basics: Learning Object-Oriented Programming | 4 weeks | 5 hours per week |
Course | Overall Duration | Time Requirement |
---|---|---|
Advanced Mathematics - Le Jingliang | About 10 weeks | 5 hours per week |
Linear Algebra - Song Hao | About 11 weeks | 8 hours per week |
Course | Overall Duration | Time Requirement |
---|---|---|
Operating Systems | About 15 weeks | 4-8 hours per week |
Computer Networks | 13 weeks | 2-3 hours per week |
Principles of Computer Organization | 16 weeks | 4 hours per week |
Course | Overall Duration | Time Requirement |
---|---|---|
Data Structures (Upper) | About 10 weeks | 6 hours per week |
Data Structures (Lower) | About 11 weeks | 6 hours per week |
Algorithm Basics | 11 weeks | 4-8 hours per week |
Advanced Data Structures and Algorithms | 9 weeks | 4-8 hours per week |
This module is missing some courses: Introduction to Cryptography
Course | Overall Duration | Time Requirement |
---|---|---|
Overview of Information Security | 15 weeks | 4 hours per week |
Introduction to Database Systems (Basic Part) | 8 weeks | 3-4 hours per week |
Software Engineering | 9 weeks | 4 hours per week |
Machine Learning: Foundations (Traditional Chinese) | 8 weeks | About 2 hours per week |
Computer Graphics | 13 weeks | 3-4 hours per week |
Some course content in this module is temporarily missing:
Concepts of Parallel Programming
, Software Debugging
Course | Overall Duration | Time Requirement |
---|---|---|
Principles of Compilation | 12 weeks | 3-5 hours per week |
Software Testing Methods and Practical Techniques | 12 weeks | 3 hours per week |
Course | Overall Duration | Time Requirement |
---|---|---|
Discrete Mathematics | 13 weeks | 3-4 hours per week |
Probability Theory and Mathematical Statistics | About 10 weeks | 4 hours |
per week
Course | Overall Duration | Time Requirement |
---|---|---|
Data Mining: Theory and Algorithms | 13 weeks | 6 hours per week |
Core Technologies of Big Data Platforms | About 8 weeks | 4 hours per week |
The courses are organized into a linear plan, meaning you should only complete one course at a time, and they are arranged in the proper order. So, start with the first course.
Yes! This document displays all the courses you need to complete at least.
- Course Founder: Eric Douglas
- Course Maintainers: Eric Douglas and Zachary Wang
- Contributors: Contributors List
- Chinese Translator: CherryMill