JM233333's Blog
  • Programming Languages

    • C
    • Python
  • Algorithms and Data Structures

    • Data Structure
    • Fundamental Algorithms
    • Graph Theory
  • GNU Toolchain

    • Bash
    • gdb
  • Development Environment

    • Ubuntu
    • QEMU
  • Development Tools

    • Git
    • VSCode
  • Operating Systems

    • Principles of Operating Systems
    • Xv6
    • Linux Kernel
  • Software Testing and Analysis

    • Software Testing
    • Software Analysis
    • Program Verification
  • LeetCode
  • XJTUOJ
  • System

    • System Performance
  • Programming

    • ...
  • Others

    • ...
  • Paper Reading

    • Model Checking
    • Fuzzing
    • Symbolic Execution
  • 3D Game Programming

    • 3D Mathematics

JM233333

弱小可怜又无助的学术废物
  • Programming Languages

    • C
    • Python
  • Algorithms and Data Structures

    • Data Structure
    • Fundamental Algorithms
    • Graph Theory
  • GNU Toolchain

    • Bash
    • gdb
  • Development Environment

    • Ubuntu
    • QEMU
  • Development Tools

    • Git
    • VSCode
  • Operating Systems

    • Principles of Operating Systems
    • Xv6
    • Linux Kernel
  • Software Testing and Analysis

    • Software Testing
    • Software Analysis
    • Program Verification
  • LeetCode
  • XJTUOJ
  • System

    • System Performance
  • Programming

    • ...
  • Others

    • ...
  • Paper Reading

    • Model Checking
    • Fuzzing
    • Symbolic Execution
  • 3D Game Programming

    • 3D Mathematics
  • Basic Knowledge
    • 前言
  • Basic Software
  • Programming Contest
  • Learning Notes
  • Research
  • Uncategorized
Basic Knowledge
计算机科学基础知识的详细教程和知识总结
目录
1. Programming Languages
2. Algorithms and Data Structures
Creative Commons

# 前言

这里是关于我的 Basic Knowledge 专题下各栏目中的文档内容的一些规范和解释。

在本栏目中的文章中,我会分享一些我对我所学的各个编程语言的一些知识点的理解。我不会提供这些编程语言的手把手入门教程,这样的教程已经有太多太多了。相反,我会对语言中的重难点知识和新手易错点进行归纳总结,并尽可能地举一反三,帮助读者更深入地学习这些编程语言。

基于上述条件,本栏目中的任何文章都假定你至少已经对“编程”有所认识,能写出一些简单的玩具级代码。

在每个编程语言的板块内,每篇文档会有一个标号,这个标号表示了该文档大致的在当前知识板块内的相对级别,建议按标号从小到大阅读,标号相同的则无所谓。

有些文档会具有相同的标号,这是按层划分的,可能会让您感到有些困惑,您可以参阅本文底部的阅读指引图来获得确切的阅读顺序。

一些文档的开头会给出前置知识声明,如果你没有掌握这些知识,建议进行递归学习。这些前置声明和阅读指引图提供的顺序是相同的。

每篇文档的开头均包含版权声明和对本文适用人群的声明,分为“面向初学者”和“面向进阶读者”两大类。

面向初学者:

  1. 适合处在该编程语言的初学阶段的读者。

  2. 假设读者未曾接触过文中介绍的知识,或是对该知识感到难以理解、学起来很吃力。

  3. 通常会以大量的篇幅对简单的基础知识进行解释,用语言引导读者举一反三深入思考。

  4. 会使用大量而又简单的代码实例并附上详细讲解,用大量的简单示例图来帮助学习。

面向进阶读者:

  1. 适合已经入门该编程语言,希望学习语言高级特性或深入底层的知识的读者。

  2. 假设读者未曾接触过文中介绍的知识,或是对该知识感到难以理解、学起来很吃力。但默认读者已经掌握该编程语言的 所有 基础内容。

Basic Software→

最近更新
01
Linux Kernel 00 - Introduction
08-01
02
Linux Kernel 01 - Build and Run a Tiny Linux Kernel on QEMU
08-01
03
Linux Kernel 01 - Debug the Linux Kernel
08-01
更多文章>
Theme by Vdoing | Copyright © 2019-2022 JM233333 | CC BY-NC-SA 4.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式